Trying to port gnome-libs to ppc-macos (final target: get gnucash to run) I geht the following error: checking for msgfmt... /usr/bin/msgfmt checking for dcgettext... no checking for gmsgfmt... /usr/bin/gmsgfmt checking for xgettext... /usr/bin/xgettext checking for catalogs to be installed... de sed: ./intl/po2tbl.sed.in: No such file or directory checking for floor in -lm... yes checking for dlfcn.h... (cached) yes checking for locale.h... (cached) yes checking for gmodule support... no configure: error: Dynamic linking is not available on this platform. Some apps, like panel, will not run properly. This thus I reemerged glib-2.4.7 to be sure of the correct install. Reproducible: Always Steps to Reproduce: 1. emerge gnome-libs 2. emerge glib 3. emerge gnome-libs Expected Results: configure to run correctly !!! 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-r2 (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 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: ACCEPT_KEYWORDS="ppc ppc-macos ppc64 ~ppc ~ppc-macos ~ppc64" 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 autoconfig 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 gif hbci jpeg justify multilib nls nptl nptlonly ofx quotes ssl tiff uclibc unicode"
ranlib -a /usr/lib/libgmodule.a doesn't help
Meantimes I got further... Now it's time to discuss the following error: make[2]: Nothing to be done for `all'. Making all in support /bin/sh ../libtool --mode=link gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -I/usr/include/db1 -Wall -Wunused -o libgnomesupport.la -rpath /usr/lib -version-info 0:0:0 findme.lo poptconfig.lo poptparse.lo popt.lo popthelp.lo gnome-argp.lo strndup.lo strnlen.lo error.lo -lz -lm ../libtool: line 1: test: too many arguments gcc -dynamiclib -undefined suppress -o .libs/libgnomesupport.0.0.0.dylib .libs/findme.o .libs/poptconfig.o .libs/poptparse.o .libs/popt.o .libs/popthelp.o .libs/gnome-argp.o .libs/strndup.o .libs/strnlen.o .libs/error.o -lz -lm -lc -install_name /usr/lib/libgnomesupport.0.dylib ld: -undefined error or -undefined define_a_way must be used when -twolevel_namespace is in effect /usr/bin/libtool: internal link edit command failed make[2]: *** [libgnomesupport.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2
try adding -flat_namespace to your LDFLAGS
I tried CFLAGS="-flat_namespace -undefined error" emerge -avO gnome-libs and LDFLAGS="-flat_namespace -undefined error" emerge -avO gnome-libs but as you can see here, the LDFLAGS are not token by gcc. In the first block they are token but in the second block they are static and not overtoken by gcc which uses it's defaults. /bin/sh ../libtool --mode=link gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -I/usr/include/db1 -Wall -Wunused -flat_namespace -undefined error -o libgnomesupport.la -rpath /usr/lib -version-info 0:0:0 findme.lo poptconfig.lo poptparse.lo popt.lo popthelp.lo gnome-argp.lo strndup.lo strnlen.lo error.lo -lz -lm mkdir .libs rm -fr .libs/libgnomesupport.la .libs/libgnomesupport.* .libs/libgnomesupport.* ../libtool: line 1: test: too many arguments gcc -dynamiclib -undefined suppress -o .libs/libgnomesupport.0.0.0.dylib findme.lo poptconfig.lo poptparse.lo popt.lo popthelp.lo gnome-argp.lo strndup.lo strnlen.lo error.lo -lz -lm -lc -install_name /usr/lib/libgnomesupport.0.dylib ld: -undefined error or -undefined define_a_way must be used when -twolevel_namespace is in effect /usr/bin/libtool: internal link edit command failed make[2]: *** [libgnomesupport.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2
USE="-nls" solved my problem. This was necessary due to the linking error. I could solve it after changing linke 3581 in the configure-script from -unresolved suppress to -unresolved error which prduced the error "undefined symbol libintl_gettext". After switching off nls-support it compiles...
Now I get here: Making all in libgnome /bin/sh ../libtool --mode=link gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -I/usr/include/db1 -Wall -Wunused -o libgnome.la -rpath /usr/lib -version-info 36:3:4 gnome-config.lo gnome-dentry.lo gnome-exec.lo gnome-fileconvert.lo gnome-help.lo gnome-history.lo gnome-i18n.lo gnome-magic.lo gnome-metadata.lo gnome-mime.lo gnome-mime-info.lo gnome-popt.lo gnome-regex.lo gnome-remote.lo gnome-score.lo gnome-sound.lo gnome-triggers.lo gnome-url.lo gnome-util.lo gnome-paper.lo gnomelib-init.lo -L/usr/lib -lglib -lm -lz -lm mkdir .libs rm -fr .libs/libgnome.la .libs/libgnome.* .libs/libgnome.* ../libtool: line 1: test: too many arguments gcc -dynamiclib -undefined error -o .libs/libgnome.32.4.3.dylib gnome-config.lo gnome-dentry.lo gnome-exec.lo gnome-fileconvert.lo gnome-help.lo gnome-history.lo gnome-i18n.lo gnome-magic.lo gnome-metadata.lo gnome-mime.lo gnome-mime-info.lo gnome-popt.lo gnome-regex.lo gnome-remote.lo gnome-score.lo gnome-sound.lo gnome-triggers.lo gnome-url.lo gnome-util.lo gnome-paper.lo gnomelib-init.lo -L/usr/lib -lglib -lm -lz -lm -lc -install_name /usr/lib/libgnome.32.dylib /usr/bin/libtool: internal link edit command failed ld: Undefined symbols: ___db185_open_4002 _poptBadOption _poptGetContext _poptGetNextOpt _poptReadDefaultConfig _poptStrerror _program_invocation_name _program_invocation_short_name _poptParseArgvString _poptHelpOptions make[2]: *** [libgnome.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2 Why does this popt-error occur? I recompiled popt before...
I succeedet in recompiling popt so that this linking-error doesn't occur. Additionally the configure-scripts for gnome-libs and gnome-libs/libart-gpl have to be modified that they use -flat_namespace and I removed the additional inclusion for CFLAGS in the ebuild, which I meant that it caused the following error, but this error occurs with and without it: gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -flat_namespace -Wall -Wunused -o .libs/gnome-dump-metadata gnome-dump.o -L/usr/lib -L./.libs -lgnome -L../support/.libs -lgnomesupport -laudiofile -lm -lglib -lz -lm ld: Undefined symbols: ___db185_open_4002 make[2]: *** [gnome-dump-metadata] Error 1 make[2]: *** Waiting for unfinished jobs.... gcc -O3 -pipe -mcpu=G5 -mtune=G5 -mpowerpc64 -funroll-loops -flat_namespace -Wall -Wunused -o .libs/gnome-moz-remote gnome-moz-remote.o -L./.libs -lgnome -L../support/.libs -lgnomesupport -L/usr/lib -laudiofile -lm -lglib -L/usr/X11R6/lib -lSM -lICE -lXext -lX11 -lz -lm creating gnome-moz-remote make[1]: *** [all-recursive] Error 1 make: *** [all-recursive-am] Error 2
CFLAGS="-ldb" emerge -avO gnome-libs worked for me...
Closing out bugs that've been resolved for a while now...