Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 67351 - guile-1.6.4-r1 breaks with libtool-error on mac osx
Summary: guile-1.6.4-r1 breaks with libtool-error on mac osx
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 All
: High major (vote)
Assignee: osx porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-13 01:33 UTC by Roman Dilken
Modified: 2005-02-06 13:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Dilken 2004-10-13 01:33:45 UTC
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"
Comment 1 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-10-13 04:55:32 UTC
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.
Comment 2 Roman Dilken 2004-10-13 07:31:08 UTC
It's interesting: with Apple's libtool the gc_os_dep.lo-error of bug #62277 reoccurs.
Comment 3 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-10-13 08:21:38 UTC
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?
Comment 4 Roman Dilken 2004-10-13 08:39:19 UTC
I'm sorry but this doesn't solve my problem :-(
Comment 5 Roman Dilken 2004-10-13 08:42:34 UTC
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
Comment 6 Kito (RETIRED) gentoo-dev 2004-10-13 09:52:45 UTC
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.
Comment 7 Roman Dilken 2004-10-18 02:24:08 UTC
I changed the -mcpu flag to 970.
I'm using the gnu autotools from gentoo.
The behaviour didn't change yet.
Comment 8 Roman Dilken 2004-10-18 08:10:03 UTC
The flag -mcpu=G5 is valid in gcc for MacOS.
Comment 9 Roman Dilken 2004-10-18 15:24:13 UTC
I now have restored the original DeveloperTools.pkg from Apple. The behaviour is still the same. 
Comment 10 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-10-20 01:52:03 UTC
Seems that you are not using stacked profile (Comment #3).
Please repost the output of `emerge info`.
Comment 11 Roman Dilken 2004-10-20 01:56:32 UTC
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.
Comment 12 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-10-20 02:12:32 UTC
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.
Comment 13 Roman Dilken 2004-10-20 02:46:17 UTC
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
Comment 14 Roman Dilken 2004-10-20 08:51:52 UTC
Bug is fixed by the patch supplied in bug #27716.
Comment 15 Hasan Khalil (RETIRED) gentoo-dev 2005-02-06 13:33:32 UTC
Closing out bugs that've been resolved for a while now...