[MacPorts] #19691: Mediatomb failing to build universal when dependencies aren't (was: Mediatomb failing to build)
MacPorts
noreply at macports.org
Thu Mar 25 15:25:05 PDT 2010
#19691: Mediatomb failing to build universal when dependencies aren't
-------------------------------------+--------------------------------------
Reporter: peter.davis8@… | Owner: yattenator@…
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version: 1.7.1
Resolution: fixed | Keywords: universal
Port: mediatomb |
-------------------------------------+--------------------------------------
Changes (by ryandesign@…):
* cc: ryandesign@… (added)
* status: new => closed
* resolution: => fixed
* keywords: mediatomb leopard => universal
Comment:
Replying to [ticket:19691 peter.davis8@…]:
> /usr/bin/g++-4.0 -I../src -I../tombupnp/ixml/inc
-I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..
-I/opt/local/include/js -I/opt/local/include/taglib -D_THREAD_SAFE
-I/opt/local/include -O2 -L/opt/local/lib -o mediatomb mediatomb-main.o
libmediatomb.a ../tombupnp/build/libtombupnp.a -L/opt/local/lib -liconv
-L/opt/local/lib -ltag -ljs -lmagic -D_THREAD_SAFE -lavformat
-lavutil -L/opt/local/lib -lcurl -L/opt/local/lib
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386
-mmacosx-version-min=10.5 -L/opt/local/lib -lz -lcurl -ltag -lsqlite3 -lz
-lavformat -lavutil -lexif -lexpat
"-arch ppc -arch i386" means you have requested a universal build by
selecting the universal variant
> ld warning: in mediatomb-main.o, file is not of required architecture
[[br]]
> ld warning: in libmediatomb.a, file is not of required architecture
[[br]]
> ld warning: in ../tombupnp/build/libtombupnp.a, file is not of required
architecture
This means the objects mediatomb is compiling are not universal. mediatomb
0.11.0 didn't build universal properly. 0.12.0, to which I just updated
the port, does; see #23058.
> ld warning: in /opt/local/lib/libtag.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libjs.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libmagic.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libavformat.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libavutil.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libsqlite3.dylib, file is not of required
architecture [[br]]
> ld warning: in /opt/local/lib/libexif.dylib, file is not of required
architecture [[br]]
> Undefined symbols for architecture i386:
This means those libraries, which are provided by mediatomb's
dependencies, are not universal. To build any port universal, you must
build its dependencies universal, too. In r65383 I added the archcheck
portgroup to mediatomb so that you'll get a more-useful error message in
this situation, advising you to upgrade the dependencies to universal, and
showing you how to do so.
Note, however, that ffmpeg cannot be built universal at this time, and
that by default the mediatomb port requests ffmpeg support. So if you want
a universal binary, you have to deselect the ffmpeg variant when building
mediatomb (and then you won't have ffmpeg support).
--
Ticket URL: <http://trac.macports.org/ticket/19691#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list