#30203: 'go' shadows /opt/local/include/ar.h, breaking gmake ---------------------------------+------------------------------------------ Reporter: dking@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: ---------------------------------+------------------------------------------ With 'go' installed, 'gmake' fails to compile. {{{ version:1 :debug:main epoch: in tree: 0 installed: 0 :debug:main gettext 0.18.1.1_2 exists in the ports tree :debug:main gettext 0.18.1.1_2 +universal is the latest installed :debug:main gettext 0.18.1.1_2 +universal is active :debug:main Merging existing variants '+universal' into variants :debug:main new fully merged portvariants: universal + :debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/gettext :debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386 :debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided :debug:main org.macports.unload registered provides 'unload', a pre- existing procedure. Target override will not be provided :debug:main org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided :debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl :debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf :debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/archcheck-1.0.tcl :debug:main universal variant already exists, so not adding the default one :debug:main Executing variant universal provides universal :debug:main No need to upgrade! gettext 0.18.1.1_2 >= gettext 0.18.1.1_2 :debug:main epoch: in tree: 0 installed: 0 :debug:main libiconv 1.13.1_0 exists in the ports tree :debug:main libiconv 1.13.1_0 +universal is the latest installed :debug:main libiconv 1.13.1_0 +universal is active :debug:main Merging existing variants '+universal' into variants :debug:main new fully merged portvariants: universal + :debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv :debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386 :debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided :debug:main org.macports.unload registered provides 'unload', a pre- existing procedure. Target override will not be provided :debug:main org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided :debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl :debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf :debug:main universal variant already exists, so not adding the default one :debug:main Executing variant universal provides universal :debug:main No need to upgrade! libiconv 1.13.1_0 >= libiconv 1.13.1_0 :debug:main epoch: in tree: 0 installed: 0 :debug:main ncurses 5.9_0 exists in the ports tree :debug:main ncurses 5.9_0 +universal is the latest installed :debug:main ncurses 5.9_0 +universal is active :debug:main Merging existing variants '+universal' into variants :debug:main new fully merged portvariants: universal + :debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncurses :debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386 :debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided :debug:main org.macports.unload registered provides 'unload', a pre- existing procedure. Target override will not be provided :debug:main org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided :debug:main adding the default universal variant :debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf :debug:main Executing variant universal provides universal :debug:main No need to upgrade! ncurses 5.9_0 >= ncurses 5.9_0 :debug:main epoch: in tree: 0 installed: 0 :debug:main expat 2.0.1_1 exists in the ports tree :debug:main expat 2.0.1_1 +universal is the latest installed :debug:main expat 2.0.1_1 +universal is active :debug:main Merging existing variants '+universal' into variants :debug:main new fully merged portvariants: universal + :debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/expat :debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386 :debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided :debug:main org.macports.unload registered provides 'unload', a pre- existing procedure. Target override will not be provided :debug:main org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided :debug:main adding the default universal variant :debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf :debug:main Executing variant universal provides universal :debug:main No need to upgrade! expat 2.0.1_1 >= expat 2.0.1_1 :msg:main ---> Computing dependencies for gmake:info:main .:debug:main Searching for dependency: gettext :debug:main Found Dependency: receipt exists for gettext :debug:main Searching for dependency: libiconv :debug:main Found Dependency: receipt exists for libiconv :msg:main :debug:main Executing org.macports.main (gmake) :msg:main ---> Fetching gmake :debug:fetch fetch phase started at Fri Jul 15 10:30:29 PDT 2011 :debug:fetch Executing org.macports.fetch (gmake) :msg:fetch ---> Verifying checksum(s) for gmake :debug:checksum checksum phase started at Fri Jul 15 10:30:29 PDT 2011 :debug:checksum Executing org.macports.checksum (gmake) :info:checksum ---> Checksumming make-3.82.tar.bz2 :debug:checksum Correct (md5) checksum for make-3.82.tar.bz2 :debug:checksum Correct (sha1) checksum for make-3.82.tar.bz2 :debug:checksum Correct (rmd160) checksum for make-3.82.tar.bz2 :debug:checksum setting option extract.cmd to /usr/bin/bzip2 :msg:checksum ---> Extracting gmake :debug:extract extract phase started at Fri Jul 15 10:30:29 PDT 2011 :debug:extract Executing org.macports.extract (gmake) :info:extract ---> Extracting make-3.82.tar.bz2 :debug:extract setting option extract.args to '/opt/local/var/macports/distfiles/gmake/make-3.82.tar.bz2' :debug:extract Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' :debug:extract Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work" && /usr/bin/bzip2 -dc '/opt/local/var/macports/distfiles/gmake/make-3.82.tar.bz2' | /usr/bin/gnutar --no-same-owner -xf -' :debug:patch patch phase started at Fri Jul 15 10:30:30 PDT 2011 :debug:patch Executing org.macports.patch (gmake) :msg:patch ---> Configuring gmake :debug:patch Using compiler 'Mac OS X gcc 4.2' :debug:configure configure phase started at Fri Jul 15 10:30:30 PDT 2011 :debug:configure Executing org.macports.configure (gmake) :debug:configure Environment: CPATH='/opt/local/include' CFLAGS='-O2 -arch x86_64' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-O2 -arch x86_64' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.6' CXX='/usr/bin/g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/.CC_PRINT_OPTIONS' F90FLAGS='-O2 -m64' LDFLAGS='-L/opt/local/lib -arch x86_64' OBJC='/usr/bin/gcc-4.2' FCFLAGS='-O2 -m64' INSTALL='/usr/bin/install -c' OBJCFLAGS='-O2 -arch x86_64' FFLAGS='-O2 -m64' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.2' :debug:configure Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/make-3.82" && ./configure --prefix=/opt/local --program-prefix=g --infodir=/opt/local/share/info --mandir=/opt/local/share/man' :info:configure checking for a BSD-compatible install... /usr/bin/install -c :info:configure checking whether build environment is sane... yes :info:configure checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p :info:configure checking for gawk... gawk :info:configure checking whether make sets $(MAKE)... yes :info:configure checking for gcc... /usr/bin/gcc-4.2 :info:configure checking whether the C compiler works... yes :info:configure checking for C compiler default output file name... a.out :info:configure checking for suffix of executables... :info:configure checking whether we are cross compiling... no :info:configure checking for suffix of object files... o :info:configure checking whether we are using the GNU C compiler... yes :info:configure checking whether /usr/bin/gcc-4.2 accepts -g... yes :info:configure checking for /usr/bin/gcc-4.2 option to accept ISO C89... none needed :info:configure checking for style of include used by make... GNU :info:configure checking dependency style of /usr/bin/gcc-4.2... gcc3 :info:configure checking for ranlib... ranlib :info:configure checking how to run the C preprocessor... /usr/bin/gcc-4.2 -E :info:configure checking for ar... ar :info:configure checking for perl... perl :info:configure checking build system type... x86_64-apple-darwin10.8.0 :info:configure checking host system type... x86_64-apple-darwin10.8.0 :info:configure checking for grep that handles long lines and -e... /usr/bin/grep :info:configure checking for egrep... /usr/bin/grep -E :info:configure checking for ANSI C header files... yes :info:configure checking for sys/types.h... yes :info:configure checking for sys/stat.h... yes :info:configure checking for stdlib.h... yes :info:configure checking for string.h... yes :info:configure checking for memory.h... yes :info:configure checking for strings.h... yes :info:configure checking for inttypes.h... yes :info:configure checking for stdint.h... yes :info:configure checking for unistd.h... yes :info:configure checking minix/config.h usability... no :info:configure checking minix/config.h presence... no :info:configure checking for minix/config.h... no :info:configure checking whether it is safe to define __EXTENSIONS__... yes :info:configure checking for strerror in -lcposix... no :info:configure checking whether NLS is requested... yes :info:configure checking for msgfmt... /opt/local/bin/msgfmt :info:configure checking for gmsgfmt... /opt/local/bin/msgfmt :info:configure checking for xgettext... /opt/local/bin/xgettext :info:configure checking for msgmerge... /opt/local/bin/msgmerge :info:configure checking for ld used by GCC... /usr/libexec/gcc/i686 -apple-darwin10/4.2.1/ld :info:configure checking if the linker (/usr/libexec/gcc/i686-apple- darwin10/4.2.1/ld) is GNU ld... no :info:configure checking for shared library run path origin... done :info:configure checking whether NLS is requested... yes :info:configure checking for GNU gettext in libc... no :info:configure checking for iconv... yes :info:configure checking how to link with libiconv... -liconv :info:configure checking for GNU gettext in libintl... yes :info:configure checking whether to use NLS... yes :info:configure checking where the gettext function comes from... external libintl :info:configure checking how to link with libintl... -lintl -liconv -lc :info:configure checking for special C compiler options needed for large files... no :info:configure checking for _FILE_OFFSET_BITS value needed for large files... no :info:configure checking for library containing getpwnam... none required :info:configure checking for ANSI C header files... (cached) yes :info:configure checking for dirent.h that defines DIR... yes :info:configure checking for library containing opendir... none required :info:configure checking whether stat file-mode macros are broken... no :info:configure checking whether time.h and sys/time.h may both be included... yes :info:configure checking for stdlib.h... (cached) yes :info:configure checking locale.h usability... yes :info:configure checking locale.h presence... yes :info:configure checking for locale.h... yes :info:configure checking for unistd.h... (cached) yes :info:configure checking limits.h usability... yes :info:configure checking limits.h presence... yes :info:configure checking for limits.h... yes :info:configure checking fcntl.h usability... yes :info:configure checking fcntl.h presence... yes :info:configure checking for fcntl.h... yes :info:configure checking for string.h... (cached) yes :info:configure checking for memory.h... (cached) yes :info:configure checking sys/param.h usability... yes :info:configure checking sys/param.h presence... yes :info:configure checking for sys/param.h... yes :info:configure checking sys/resource.h usability... yes :info:configure checking sys/resource.h presence... yes :info:configure checking for sys/resource.h... yes :info:configure checking sys/time.h usability... yes :info:configure checking sys/time.h presence... yes :info:configure checking for sys/time.h... yes :info:configure checking sys/timeb.h usability... yes :info:configure checking sys/timeb.h presence... yes :info:configure checking for sys/timeb.h... yes :info:configure checking stdarg.h usability... yes :info:configure checking stdarg.h presence... yes :info:configure checking for stdarg.h... yes :info:configure checking whether /usr/bin/gcc-4.2 and cc understand -c and -o together... yes :info:configure checking for an ANSI C-conforming const... yes :info:configure checking return type of signal handlers... void :info:configure checking for uid_t in sys/types.h... yes :info:configure checking for pid_t... yes :info:configure checking for uintmax_t... yes :info:configure checking for nanoseconds field of struct stat.st_mtim... no :info:configure checking whether to use high resolution file timestamps... no :info:configure checking whether system uses MSDOS-style paths... no :info:configure checking for standard gettimeofday... yes :info:configure checking for strdup... yes :info:configure checking for strndup... no :info:configure checking for mkstemp... yes :info:configure checking for mktemp... yes :info:configure checking for fdopen... yes :info:configure checking for fileno... yes :info:configure checking for dup2... yes :info:configure checking for getcwd... yes :info:configure checking for realpath... yes :info:configure checking for sigsetmask... yes :info:configure checking for sigaction... yes :info:configure checking for getgroups... yes :info:configure checking for seteuid... yes :info:configure checking for setegid... yes :info:configure checking for setlinebuf... yes :info:configure checking for setreuid... yes :info:configure checking for setregid... yes :info:configure checking for getrlimit... yes :info:configure checking for setrlimit... yes :info:configure checking for setvbuf... yes :info:configure checking for pipe... yes :info:configure checking for strerror... yes :info:configure checking for strsignal... yes :info:configure checking for lstat... yes :info:configure checking for readlink... yes :info:configure checking for atexit... yes :info:configure checking whether bsd_signal is declared... yes :info:configure checking for strcasecmp... yes :info:configure checking for strncasecmp... yes :info:configure checking for strcmpi... no :info:configure checking for strncmpi... no :info:configure checking for stricmp... no :info:configure checking for strnicmp... no :info:configure checking for working strcoll... yes :info:configure checking for working alloca.h... yes :info:configure checking for alloca... yes :info:configure checking vfork.h usability... no :info:configure checking vfork.h presence... no :info:configure checking for vfork.h... no :info:configure checking for fork... yes :info:configure checking for vfork... yes :info:configure checking for working fork... yes :info:configure checking for working vfork... (cached) yes :info:configure checking for vprintf... yes :info:configure checking for _doprnt... no :info:configure checking whether closedir returns void... no :info:configure checking for getloadavg... yes :info:configure checking for pstat_getdynamic... no :info:configure checking for kstat_open in -lkstat... no :info:configure checking for getloadavg... yes :info:configure checking whether getloadavg requires setgid... no :info:configure checking whether sys_siglist is declared... yes :info:configure checking whether _sys_siglist is declared... no :info:configure checking whether __sys_siglist is declared... no :info:configure checking for sys/wait.h... yes :info:configure checking for waitpid... yes :info:configure checking for wait3... yes :info:configure checking for union wait... no :info:configure checking for SA_RESTART... yes :info:configure checking for location of SCCS get command... get :info:configure checking if system libc has GNU glob... no; using local copy :info:configure checking if malloc debugging is wanted... no :info:configure configure: creating ./config.status :info:configure config.status: creating Makefile :info:configure config.status: creating glob/Makefile :info:configure config.status: creating po/Makefile.in :info:configure config.status: WARNING: 'po/Makefile.in.in' seems to ignore the --datarootdir setting :info:configure config.status: creating config/Makefile :info:configure config.status: creating doc/Makefile :info:configure config.status: creating w32/Makefile :info:configure config.status: creating config.h :info:configure config.status: executing depfiles commands :info:configure config.status: executing default-1 commands :info:configure config.status: creating po/POTFILES :info:configure config.status: creating po/Makefile :info:configure config.status: creating build.sh :msg:configure ---> Building gmake :debug:build build phase started at Fri Jul 15 10:30:38 PDT 2011 :debug:build Executing org.macports.build (gmake) :debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' :debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/make-3.82" && /usr/bin/make -j4 all' :info:build /usr/bin/make all-recursive :info:build Making all in glob :info:build /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include -O2 -arch x86_64 -MT glob.o -MD -MP -MF .deps/glob.Tpo -c -o glob.o glob.c :info:build /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include -O2 -arch x86_64 -MT fnmatch.o -MD -MP -MF .deps/fnmatch.Tpo -c -o fnmatch.o fnmatch.c :info:build glob.c: In function 'glob_in_dir': :info:build glob.c:1377: warning: passing argument 1 of 'my_realloc' from incompatible pointer type :info:build glob.c: In function 'glob': :info:build glob.c:812: warning: passing argument 1 of 'my_realloc' from incompatible pointer type :info:build glob.c:931: warning: passing argument 1 of 'my_realloc' from incompatible pointer type :info:build glob.c:987: warning: passing argument 1 of 'my_realloc' from incompatible pointer type :info:build mv -f .deps/fnmatch.Tpo .deps/fnmatch.Po :info:build mv -f .deps/glob.Tpo .deps/glob.Po :info:build rm -f libglob.a :info:build ar cru libglob.a glob.o fnmatch.o :info:build ranlib libglob.a :info:build Making all in config :info:build make[2]: Nothing to be done for `all'. :info:build Making all in po :info:build make[2]: Nothing to be done for `all'. :info:build Making all in doc :info:build make[2]: Nothing to be done for `all'. :info:build /usr/bin/gcc-4.2 -DLOCALEDIR=\"/opt/local/share/locale\" -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -DHAVE_CONFIG_H -I. -I./glob -I/opt/local/include -O2 -arch x86_64 -MT ar.o -MD -MP -MF .deps/ar.Tpo -c -o ar.o ar.c :info:build /usr/bin/gcc-4.2 -DLOCALEDIR=\"/opt/local/share/locale\" -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -DHAVE_CONFIG_H -I. -I./glob -I/opt/local/include -O2 -arch x86_64 -MT arscan.o -MD -MP -MF .deps/arscan.Tpo -c -o arscan.o arscan.c :info:build /usr/bin/gcc-4.2 -DLOCALEDIR=\"/opt/local/share/locale\" -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -DHAVE_CONFIG_H -I. -I./glob -I/opt/local/include -O2 -arch x86_64 -MT commands.o -MD -MP -MF .deps/commands.Tpo -c -o commands.o commands.c :info:build /usr/bin/gcc-4.2 -DLOCALEDIR=\"/opt/local/share/locale\" -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -DHAVE_CONFIG_H -I. -I./glob -I/opt/local/include -O2 -arch x86_64 -MT default.o -MD -MP -MF .deps/default.Tpo -c -o default.o default.c :info:build arscan.c: In function 'ar_scan': :info:build arscan.c:463: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:562: error: 'struct ar_hdr' has no member named 'ar_fmag' :info:build arscan.c:581: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:581: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:581: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:581: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:583: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c:636: error: 'struct ar_hdr' has no member named 'ar_mode' :info:build arscan.c:637: error: 'struct ar_hdr' has no member named 'ar_size' :info:build arscan.c:647: error: 'struct ar_hdr' has no member named 'ar_date' :info:build arscan.c:648: error: 'struct ar_hdr' has no member named 'ar_uid' :info:build arscan.c:649: error: 'struct ar_hdr' has no member named 'ar_gid' :info:build arscan.c: In function 'ar_name_equal': :info:build arscan.c:751: error: 'struct ar_hdr' has no member named 'ar_name' :info:build arscan.c: In function 'ar_member_touch': :info:build arscan.c:816: error: 'struct ar_hdr' has no member named 'ar_date' :info:build arscan.c:817: error: 'struct ar_hdr' has no member named 'ar_date' :info:build arscan.c:818: error: 'struct ar_hdr' has no member named 'ar_date' :info:build arscan.c:818: error: 'struct ar_hdr' has no member named 'ar_date' :info:build make[2]: *** [arscan.o] Error 1 :info:build make[2]: *** Waiting for unfinished jobs.... :info:build mv -f .deps/default.Tpo .deps/default.Po :info:build mv -f .deps/ar.Tpo .deps/ar.Po :info:build mv -f .deps/commands.Tpo .deps/commands.Po :info:build make[1]: *** [all-recursive] Error 1 :info:build make: *** [all] Error 2 :info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/work/make-3.82" && /usr/bin/make -j4 all " returned error 2 :error:build Target org.macports.build returned: shell command failed (see log for details) :debug:build Backtrace: shell command failed (see log for details) while executing "command_exec build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" :info:build Warning: the following items did not execute (for gmake): org.macports.activate org.macports.build org.macports.destroot org.macports.install :notice:build Log for gmake is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmake/main.log }}} This failure is caused by go installing /opt/local/include/ar.h which includes a struct ar_hdr that contains a 'name' member, not an 'ar_name' member. This shadows the system's /usr/include.ar.h, which is what gmake expects to be compiled against. Credit to jmr_mp in IRC for helping me hunt that down. -- Ticket URL: <https://trac.macports.org/ticket/30203> MacPorts <http://www.macports.org/> Ports system for Mac OS