[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