Opened 8 years ago

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

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

Download all attachments as: .zip

Change History (7)

Changed 8 years ago by rudloff@…

Attachment: main.log added

comment:1 Changed 8 years ago by rudloff@…

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

comment:2 Changed 8 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 8 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:4 Changed 8 years ago by rudloff@…

No, I don't get any output.

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

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