Opened 9 years ago
Closed 8 years ago
#32396 closed defect (duplicate)
glib2 +universal: file was built for i386 which is not the architecture being linked (ppc)
Reported by: | rudloff@… | Owned by: | ryandesign (Ryan Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.3 |
Keywords: | tiger universal | Cc: | |
Port: | glib2 |
Description
libtool: link: /usr/bin/gcc-4.0 -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libglib-2.0.0.dylib .libs/garray.o .libs/gasyncqueue.o .libs/gatomic.o .libs/gbacktrace.o .libs/gbase64.o .libs/gbitlock.o .libs/gbookmarkfile.o .libs/gbuffer.o .libs/gcache.o .libs/gchecksum.o .libs/gcompletion.o .libs/gconvert.o .libs/gdataset.o .libs/gdate.o .libs/gdatetime.o .libs/gdir.o .libs/gerror.o .libs/gfileutils.o .libs/ghash.o .libs/ghmac.o .libs/ghook.o .libs/ghostutils.o .libs/giochannel.o .libs/gkeyfile.o .libs/glist.o .libs/gmain.o .libs/gmappedfile.o .libs/gmarkup.o .libs/gmem.o .libs/gmessages.o .libs/gnode.o .libs/goption.o .libs/gpattern.o .libs/gpoll.o .libs/gprimes.o .libs/gqsort.o .libs/gqueue.o .libs/grel.o .libs/grand.o .libs/gregex.o .libs/gscanner.o .libs/gsequence.o .libs/gshell.o .libs/gslice.o .libs/gslist.o .libs/gstdio.o .libs/gstrfuncs.o .libs/gstring.o .libs/gtestutils.o .libs/gthread.o .libs/gthreadpool.o .libs/gtimer.o .libs/gtimezone.o .libs/gtree.o .libs/guniprop.o .libs/gutf8.o .libs/gunibreak.o .libs/gunicollate.o .libs/gunidecomp.o .libs/gurifuncs.o .libs/gutils.o .libs/gvariant.o .libs/gvariant-core.o .libs/gvariant-parser.o .libs/gvariant-serialiser.o .libs/gvarianttypeinfo.o .libs/gvarianttype.o .libs/gwakeup.o .libs/gprintf.o .libs/glib-unix.o .libs/giounix.o .libs/gspawn.o .libs/libglib-2.0.lax/libcharset.a/localcharset.o .libs/libglib-2.0.lax/libpcre.a/pcre_chartables.o .libs/libglib-2.0.lax/libpcre.a/pcre_compile.o .libs/libglib-2.0.lax/libpcre.a/pcre_config.o .libs/libglib-2.0.lax/libpcre.a/pcre_dfa_exec.o .libs/libglib-2.0.lax/libpcre.a/pcre_exec.o .libs/libglib-2.0.lax/libpcre.a/pcre_fullinfo.o .libs/libglib-2.0.lax/libpcre.a/pcre_get.o .libs/libglib-2.0.lax/libpcre.a/pcre_globals.o .libs/libglib-2.0.lax/libpcre.a/pcre_newline.o .libs/libglib-2.0.lax/libpcre.a/pcre_ord2utf8.o .libs/libglib-2.0.lax/libpcre.a/pcre_study.o .libs/libglib-2.0.lax/libpcre.a/pcre_tables.o .libs/libglib-2.0.lax/libpcre.a/pcre_try_flipped.o .libs/libglib-2.0.lax/libpcre.a/pcre_ucp_searchfuncs.o .libs/libglib-2.0.lax/libpcre.a/pcre_xclass.o -L/opt/local/lib -framework Carbon -lresolv /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc -O2 -arch i386 -arch ppc -arch i386 -arch ppc -framework Carbon -install_name /opt/local/lib/libglib-2.0.0.dylib -compatibility_version 3001 -current_version 3001.2 -Wl,-exported_symbols_list,.libs/libglib-2.0-symbols.expsym got unhandled exception: file was built for i386 which is not the architecture being linked (ppc) got unhandled exception: in /opt/local/lib/libxml2.2.dylib, file was built for i386 which is not the architecture being linked (ppc) ld: in /opt/local/lib/libxml2.2.dylib, file was built for i386 which is not the architecture being linked (ppc) /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed lipo: can't figure out the architecture type of: /var/tmp//ccsdez0Z.out
Attachments (1)
Change History (7)
Changed 9 years ago by rudloff@…
comment:1 Changed 9 years ago by rudloff@…
comment:2 Changed 9 years ago by ryandesign (Ryan Schmidt)
Cc: | ryandesign@… removed |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
The part I don't understand is why glib2 is trying to use libxml2. It shouldn't be, as far as I can tell. The string "xml" doesn't occur anywhere in the glib2 source files. That's why libxml2 is not declared as a dependency of glib2, and thus why MacPorts did not auto-upgrade libxml2 to universal for you (which it would have done if it were listed as a dependency).
comment:3 Changed 9 years ago by ryandesign (Ryan Schmidt)
The only port I see in the glib2 dependency chain that might possibly use libxml2 is gettext. It's supposed to be using its own built-in copy of libxml2, not the libxml2 port. On my systems, the following command produces no output; do you get output when you run it on your system?
port -q contents gettext | xargs otool -L 2>/dev/null | grep xml
comment:5 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
The problem here isn't that glib2 is using libxml2. It's that something that is linked to by Carbon.framework is trying to pull in /usr/lib/libxml2.dylib, and ld is trying to use ${prefix}/lib/libxml2.dylib to resolve it at link time.
This is essentially the same issue as #36438 for libstdcxx
comment:6 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Oh, sorry, I just had to build libxml2 with +universal. (I thought I had already done that.)