Opened 12 years ago

Closed 12 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 Carsten 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)

main.log (202.4 KB) - added by rudloff@… 12 years ago.

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by rudloff@…

Attachment: main.log added

comment:1 Changed 12 years ago by rudloff@…

Oh, sorry, I just had to build libxml2 with +universal. (I thought I had already done that.)

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten 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 12 years ago by ryandesign (Ryan Carsten 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:4 Changed 12 years ago by rudloff@…

No, I don't get any output.

comment:5 Changed 12 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 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.