[MacPorts] #54643: Mesa at 17.1.6 fails to build with Apple GCC 4.2 on PPC Leopard, Mac OS X 10.6.8, because "thread-local storage not supported for this target"

MacPorts noreply at macports.org
Sat Aug 19 21:07:36 UTC 2017


#54643: Mesa at 17.1.6 fails to build with Apple GCC 4.2 on PPC Leopard, Mac OS X
10.6.8, because "thread-local storage not supported for this target"
------------------------+----------------------
  Reporter:  ballapete  |      Owner:
      Type:  defect     |     Status:  new
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.4.1
Resolution:             |   Keywords:  leopard,
      Port:  mesa       |
------------------------+----------------------

Comment (by ballapete):

 Replying to [comment:1 kencu]:
 > That one thing with mesa is easy to fix:
 > {{{
 > configure.args-append --disable-glx-tls
 > }}}
 >
 Wouldn't be using `cxx_stdlib         libc++` the better choice?

 Trying to `upgrade mesa` with `configure.compiler=macports-gcc-6` leads to

 {{{
 libtool: compile:  /opt/local/bin/gcc-mp-6 -DPACKAGE_NAME=\"Mesa\"
 -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"17.1.6\"
 "-DPACKAGE_STRING=\"Mesa 17.1.6\""
 "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\""
 -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"17.1.6\"
 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWAP32=1
 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1
 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1
 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1
 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1
 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1
 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1
 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1
 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1
 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1
 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_FUNC_ATTRIBUTE_WEAK=1
 -DHAVE_DLADDR=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -I.
 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
 -DUSE_GCC_ATOMIC_BUILTINS -DMISSING_64BIT_ATOMICS -DNDEBUG
 -DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_DLOPEN
 -DGLX_USE_APPLEGL -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING
 -DGLX_USE_TLS -DHAVE_X11_PLATFORM -DBUILDING_MESA -DENABLE_SHADER_CACHE
 -I../../include -I../../src -I../../src/mapi -I../../src/mesa
 -I../../src/gallium/include -I../../src/gallium/auxiliary
 -fvisibility=hidden -Werror=pointer-arith -Werror=vla -pipe -Os -m32 -Wall
 -std=c99 -fno-math-errno -fno-trapping-math -MT libmesautil_la-
 disk_cache.lo -MD -MP -MF .deps/libmesautil_la-disk_cache.Tpo -c
 disk_cache.c  -fno-common -DPIC -o .libs/libmesautil_la-disk_cache.o
 In file included from ../../src/util/u_queue.h:38:0,
                  from disk_cache.c:45:
 ../../src/util/list.h:163:0: warning: "LIST_ENTRY" redefined
  #define LIST_ENTRY(__type, __item, __field)   \

 In file included from /usr/include/sys/file.h:71:0,
                  from disk_cache.c:31:
 /usr/include/sys/queue.h:356:0: note: this is the location of the previous
 definition
  #define LIST_ENTRY(type)      \

 disk_cache.c: In function 'disk_cache_create':
 disk_cache.c:263:39: error: 'O_CLOEXEC' undeclared (first use in this
 function)
     fd = open(path, O_RDWR | O_CREAT | O_CLOEXEC, 0644);
                                        ^~~~~~~~~
 disk_cache.c:263:39: note: each undeclared identifier is reported only
 once for each function it appears in
 disk_cache.c: In function 'choose_lru_file_matching':
 disk_cache.c:465:11: warning: implicit declaration of function 'fstatat'
 [-Wimplicit-function-declaration]
        if (fstatat(dirfd(dir), entry->d_name, &sb, 0) == 0) {
            ^~~~~~~
 disk_cache.c: In function 'cache_put':
 disk_cache.c:798:39: error: 'O_CLOEXEC' undeclared (first use in this
 function)
     fd = open(filename_tmp, O_WRONLY | O_CLOEXEC | O_CREAT, 0644);
                                        ^~~~~~~~~
 disk_cache.c: In function 'disk_cache_get':
 disk_cache.c:971:35: error: 'O_CLOEXEC' undeclared (first use in this
 function)
     fd = open(filename, O_RDONLY | O_CLOEXEC);
                                    ^~~~~~~~~
 make[5]: *** [libmesautil_la-disk_cache.lo] Error 1
 make[5]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_x11_mesa/mesa/work/mesa-17.1.6/src/util'
 }}}

 and `O_CLOEXEC` is defined in your
 `/opt/local/include/snowleopardfixes.h:#define O_CLOEXEC 0`.

--
Ticket URL: <https://trac.macports.org/ticket/54643#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list