When I try to emerge guile-1.6.4-r1 on MacOSX then compiling breaks with the following libtool-error: libtool: unrecognized option `-arch_only' Try `libtool --help' for more information. I did a recompile on libtool but the problem still exists. Reproducible: Always Steps to Reproduce: 1. emerge guile 2. ACCEPT_KEYWORDS="~ppc-macos" emerge guile is the same. 3. Actual Results: Making all in upstream make all-am make[4]: Nothing to be done for `all-am'. /bin/sh ../libtool --mode=link gcc -O2 -pipe -mcpu=G5 -Wall -Wmissing-prototypes -o libguile-ltdl.la -rpath /usr/lib -version-info 1:0:0 -export-dynamic -no-undefined guile-ltdl.lo -ldl -lm rm -fr .libs/libguile-ltdl.la .libs/libguile-ltdl.* .libs/libguile-ltdl.* gcc -r -keep_private_externs -nostdlib -o .libs/libguile-ltdl.1.0.0.dylib-master.o guile-ltdl.lo && gcc -dynamiclib -o .libs/libguile-ltdl.1.0.0.dylib .libs/libguile-ltdl.1.0.0.dylib-master.o -ldl -lm -lc -install_name /usr/lib/libguile-ltdl.1.dylib -compatibility_version 2 -current_version 2.0 libtool: unrecognized option `-arch_only' Try `libtool --help' for more information. make[3]: *** [libguile-ltdl.la] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Expected Results: compile correctly emerge info: !!! Relying on the shell to locate gcc, this may break !!! DISTCC, installing gcc-config and setting your current gcc !!! profile will fix this Portage 2.0.51_rc9 (default-macos-10.3, gcc-3.3, libsystem-7.1-r0, 7.5.0 Power Macintosh) ================================================================= System uname: 7.5.0 Power Macintosh powerpc macos-20040726 distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.57,sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.6.3,sys-devel/automake-1.8.5-r1 Binutils: Headers: Libtools: sys-devel/libtool-1.5.2-r5,sys-devel/libtool-2.4.4 ACCEPT_KEYWORDS="macos ppc ppc-macos ppc64 ~macos ~ppc ~ppc-macos ~ppc64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mcpu=G5" CHOST="powerpc-apple-darwin" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=G5" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache collision-protect cvs distlocks keepwork nostrip" GENTOO_MIRRORS="http://gentoo.osuosl.org/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X debug hbci jpeg macos multilib nls ofx quotes tiff uclibc unicode"
Looks like a design issue for macos porters... libtool.eclass does support glibtool from Mac OS X. I didn't try it with Gentoo provided libtool. sys-devel/libtool, sys-devel/autoconf and sys-devel/automake aren't keyworded ppc-macos. Didn't you turn off collision-protect to emerge them? You might need to restore Apple's glibtool to emerge guile.
It's interesting: with Apple's libtool the gc_os_dep.lo-error of bug #62277 reoccurs.
Hum, I see. This is because you are using non-stacked profile and don't have USE="ppc-macos". Please use stacked profile. To enable stacked profile, run # cd /etc # rm make.profile # ln -s ../../usr/portage/profiles/default-macos/ppc/10.3 make.profile Then emerge guile. To osx porters: when will we remove macos keyword? This problem lies between macos and ppc-macos transition. If we disable macos keyword, we can change USE="macos" in default-macos-10.3 to USE="ppc-macos". Could it be that we should have USE="macos ppc-macos" in both profiles until then?
I'm sorry but this doesn't solve my problem :-(
Herre ist the output: Making all in libguile Generating libpath.h... ./guile-snarf -o load.x load.c -DHAVE_CONFIG_H -I.. -I./.. -I../libguile-ltdl -O2 -pipe -mcpu=G5 -Wall -Wmissing-prototypes if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I./.. -I../libguile-ltdl -O2 -pipe -mcpu=G5 -Wall -Wmissing-prototypes -MT gc_os_dep.lo -MD -MP -MF ".deps/gc_os_dep.Tpo" \ -c -o gc_os_dep.lo `test -f 'gc_os_dep.c' || echo './'`gc_os_dep.c; \ then mv ".deps/gc_os_dep.Tpo" ".deps/gc_os_dep.Plo"; \ else rm -f ".deps/gc_os_dep.Tpo"; exit 1; \ fi mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I./.. -I../libguile-ltdl -O2 -pipe -mcpu=G5 -Wall -Wmissing-prototypes -MT gc_os_dep.lo -MD -MP -MF .deps/gc_os_dep.Tpo -c gc_os_dep.c -fno-common -DPIC -o .libs/gc_os_dep.lo gc_os_dep.c:380: error: parse error before '--' token make[2]: *** [gc_os_dep.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
is -mcpu=G5 valid? i thought it was -mcpu=970. Are you using Apple provided autotools or did you overwrite them with with the GNU tools? usata: I believe the macos keyword will be officially deprecated when the next installer is released.
I changed the -mcpu flag to 970. I'm using the gnu autotools from gentoo. The behaviour didn't change yet.
The flag -mcpu=G5 is valid in gcc for MacOS.
I now have restored the original DeveloperTools.pkg from Apple. The behaviour is still the same.
Seems that you are not using stacked profile (Comment #3). Please repost the output of `emerge info`.
macos-20040726 Portage 2.0.51_rc9 (default-macos/ppc/10.3, gcc-3.3, libsystem-7.1-r0, 7.5.0 Power Macintosh) ================================================================= System uname: 7.5.0 Power Macintosh powerpc distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.57,sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.6.3,sys-devel/automake-1.8.5-r1 Binutils: Headers: Libtools: sys-devel/libtool-1.5.2-r5,sys-devel/libtool-2.4.4 ACCEPT_KEYWORDS="ppc-macos ~ppc-macos" AUTOCLEAN="yes" CFLAGS="-O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops" CHOST="powerpc-apple-darwin" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache collision-protect cvs distlocks keepwork nostrip" GENTOO_MIRRORS="http://gentoo.osuosl.org/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc X debug hbci jpeg justify macos multilib nls ofx quotes tiff uclibc unicode" I controlled my make.profile and the link is right.
I wonder why you have USE="macos" instead of USE="ppc-macos" even though you are using stacked profile .... I installed Gentoo for Mac OS X to fresh 10.3.5 today and guile emerged fine. Anyhow, please try "USE=ppc-macos emerge guile" and if that works add USE="-macos ppc-macos" to your /etc/make.conf.
I changed the USE-flag an this might be the first step in the right direction. Now the following error occurs: creating libguile.la (cd .libs && rm -f libguile.la && ln -s ../libguile.la libguile.la) /bin/sh ../libtool --mode=link gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -no-cpp-precomp -Dmacosx -Wall -Wmissing-prototypes -o guile -dlpreopen force guile.o libguile.la -lm libtool: link: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support. rm -f .libs/guile.nm .libs/guile.nmS .libs/guile.nmT creating .libs/guileS.c (cd .libs && gcc -c -fno-builtin -fno-rtti -fno-exceptions "guileS.c") cc1: warning: "-frtti" is valid for C++ but not for C/ObjC rm -f .libs/guileS.c .libs/guile.nm .libs/guile.nmS .libs/guile.nmT gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -no-cpp-precomp -Dmacosx -Wall -Wmissing-prototypes -o guile .libs/guileS.o guile.o -L./.libs -lguile -L/var/tmp/portage/guile-1.6.4-r1/work/guile-1.6.4/libguile-ltdl/.libs -lguile-ltdl -ldl -lm ld: warning multiple definitions of symbol _environ /usr/lib/crt1.o definition of _environ in section (__DATA,__data) ./.libs/libguile.dylib(libguile.12.3.0.dylib-master.o) definition of _environ rm -f .libs/guileS.o cat alist.doc arbiters.doc async.doc backtrace.doc boolean.doc chars.doc continuations.doc debug.doc dynl.doc dynwind.doc environments.doc eq.doc error.doc eval.doc evalext.doc extensions.doc feature.doc fluids.doc fports.doc gc.doc goops.doc gsubr.doc guardians.doc hash.doc hashtab.doc hooks.doc init.doc ioext.doc iselect.doc keywords.doc lang.doc list.doc load.doc macros.doc mallocs.doc modules.doc numbers.doc objects.doc objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc properties.doc random.doc rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc stackchk.doc stacks.doc stime.doc strings.doc strop.doc strorder.doc strports.doc struct.doc symbols.doc throw.doc values.doc variable.doc vectors.doc version.doc vports.doc weaks.doc symbols-deprecated.doc ramap.doc unif.doc filesys.doc posix.doc net_db.doc socket.doc regex-posix.doc | GUILE="/var/tmp/portage/guile-1.6.4-r1/work/guile-1.6.4/pre-inst-guile" ../scripts/snarf-check-and-output-texi --manual > guile.texi || { rm guile.texi; false; } cat: stdout: Broken pipe make[2]: *** [guile.texi] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Bug is fixed by the patch supplied in bug #27716.
Closing out bugs that've been resolved for a while now...