[MacPorts] #38124: Having libc-headers active causes cctools to fail to build

MacPorts noreply at macports.org
Tue Feb 19 01:03:35 PST 2013


#38124: Having libc-headers active causes cctools to fail to build
---------------------+----------------------------------
 Reporter:  egall@…  |      Owner:  macports-tickets@…
     Type:  defect   |     Status:  new
 Priority:  Normal   |  Milestone:
Component:  ports    |    Version:  2.1.3
 Keywords:           |       Port:  libc-headers cctools
---------------------+----------------------------------
 I was just trying to rebuild cctools, and the build failed on me. Relevant
 part of the log:
 {{{
 ./../include/stuff/errors.h:39:29: note: use
 __attribute__((visibility("hidden"))) attribute instead
 libtool.c:87:13: error: expected identifier or '{'
 static enum bool zero_ar_date = FALSE;
             ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:87:1: warning: declaration does not declare anything [-Wmissing-
 declarations]
 static enum bool zero_ar_date = FALSE;
 ^~~~~~
 libtool.c:100:10: error: expected identifier or '{'
     enum bool
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:101:13: error: type name requires a specifier or qualifier
         no_files_ok;    /* ok to see no files */
                    ^
 libtool.c:102:10: error: expected identifier or '{'
     enum bool ranlib;   /* set if this is run as ranlib not libtool */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 In file included from checksyms.c:38libtool.c:102:21: error: type name
 requires a specifier or qualifier
     enum bool ranlib;   /* set if this is run as ranlib not libtool */
                     ^
 libtool.c:103:10: error: expected identifier or '{'
     enum bool s;        /* sort the table of contents */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool:
 ./../include/stuff/errors.h:35:26: warning: use of __private_extern__ on a
 declaration may not prod
                 ^
 libtool.c:103:16: error: type name requires a specifier or qualifier
     enum bool s;        /* sort the table of contents */
                ^
 libtool.c:104:10: error: expected identifier or '{'
     enum bool a;        /* don't sort the table of contents (original
 form) */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:104:16: error: type name requires a specifier or qualifier
     enum bool a;        /* don't sort the table of contents (original
 form) */
                ^
 libtool.c:105:10: error: expected identifier or '{'
     enum bool c;        /* include commmon symbols in the table of
 contents */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:105:16: error: type name requires a specifier or qualifier
     enum bool c;        /* include commmon symbols in the table of
 contents */
                ^
 libtool.c:106:10: error: expected identifier or '{'
     enum bool t;        /* just "touch" the archives to get the date right
 */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:106:16: error: type name reuce external symbol private to the
 linkage unit and is deprecated [-Wprivate-extern]
 __private_extern__ char *progname;
                          ^
 ./../include/stuff/errors.h:35:26: note: use
 __attribute__((visibility("hidden"))) attribute quires a specifier or
 qualifier
     enum bool t;        /* just "touch" the archives to get the date right
 */
                ^
 libtool.c:107:10: error: expected identifier or '{'
     enum bool f;        /* warn if the output archive is fat,used by ar(1)
 -s */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:107:16: error: type name requires a specifier or qualifier
     enum bool f;        /* warn if the output archive is fat,used by ar(1)
 -s */
                ^
 libtool.c:108:10: error: expected identifier or '{'
     enum bool q;        /* only write archive if NOT fat, used by ar(1) */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:108:16: error: type name requires a specifier or qualifier
     enum bool q;        /* only write archive if NOT fat, used by ar(1) */
                ^
 libtool.c:110:10: error: expected identifier or '{'
     enum bool final_output_specified; /* if -final_output is specified */
          ^
 /opt/local/include/stdbool.h:36:14: note: expanded from macro 'bool'
 #define bool    _Bool
                 ^
 libtool.c:110:37: error: type name requires a specifier or qualifier
     enum bool final_output_specified; /* if -final_output is specified */
                                     ^
 fatal error: too many errors emitted, stopping now [-ferror-limit=]
 instead
 ./../include/stuff/errors.h:39:29: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ uint32_t errors;
                             ^
 ./../include/stuff/errors.h:39:29: note: use
 __attribute__((visibility("hidden"))) attribute instead
 checksyms.c:374:34: warning: comp3 warnings and 20 errors generated.
 make[1]: *** [libtool.o] Error 1
 make[1]: *** Waiting for unfinished jobs....
 arison of unsigned expression < 0 is always false [-Wtautological-compare]
                 else if(symbols[i].n_un.n_strx < 0 ||
                         ~~~~~~~~~~~~~~~~~~~~~~ ^ ~
 3 warnings generated.
 2 warnings generated.
 In file included from checksyms.c:38:
 ./../include/stuff/errors.h:35:26: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ char *progname;
                          ^
 ./../include/stuff/errors.h:35:26: note: use
 __attribute__((visibility("hidden"))) attribute instead
 ./../include/stuff/errors.h:39:29: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ uint32_t errors;
                             ^
 ./../include/stuff/errors.h:39:29: note: use
 __attribute__((visibility("hidden"))) attribute instead
 checksyms.c:374:34: warning: comparison of unsigned expression < 0 is
 always false [-Wtautological-compare]
                 else if(symbols[i].n_un.n_strx < 0 ||
                         ~~~~~~~~~~~~~~~~~~~~~~ ^ ~
 In file included from nm.c:94:
 ./../include/stuff/errors.h:35:26: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ char *progname;
                          ^
 ./../include/stuff/errors.h:35:26: note: use
 __attribute__((visibility("hidden"))) attribute instead
 ./../include/stuff/errors.h:39:29: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ uint32_t errors;
                             ^
 ./../include/stuff/errors.h:39:29: note: use
 __attribute__((visibility("hidden"))) attribute instead
 2 warnings generated.
 In file included from lipo.c:62:
 ./../include/stuff/errors.h:35:26: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ char *progname;
                          ^
 ./../include/stuff/errors.h:35:26: note: use
 __attribute__((visibility("hidden"))) attribute instead
 ./../include/stuff/errors.h:39:29: warning: use of __private_extern__ on a
 declaration may not produce external symbol private to the linkage unit
 and is deprecated [-Wprivate-extern]
 __private_extern__ uint32_t errors;
                             ^
 ./../include/stuff/errors.h:39:29: note: use
 __attribute__((visibility("hidden"))) attribute instead
 3 warnings generated.
 2 warnings generated.
 2 warnings generated.
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_cctools/cctools/work/cctools-836/misc'
 make: *** [all] Error 1
 make: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_cctools/cctools/work/cctools-836'
 Command failed:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_cctools/cctools/work/cctools-836"
 && /usr/bin/make -j4 -w all RC_OS="macos" RC_ProjectSourceVersion=836
 USE_DEPENDENCY_FILE=NO BUILD_DYLIBS=NO CC="/usr/bin/clang"
 CXX="/usr/bin/clang++" RC_ARCHS="i386 x86_64" SDK="-I/opt/local/include"
 LTO=-DLTO_SUPPORT RC_CFLAGS="-arch x86_64 -arch i386 -I`llvm-config-mp-3.2
 --includedir`" LLVM_MC="llvm-mc-mp-3.2" TRIE=-DTRIE_SUPPORT
 Exit code: 2
 }}}
 Deactivating libc-headers makes cctools build successfully. I've attached
 both the main.log from the failed build attempt and from the successful
 one after that. And a diff between the two.

-- 
Ticket URL: <https://trac.macports.org/ticket/38124>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list