Opened 17 years ago

Closed 17 years ago

Last modified 15 years ago

#11468 closed defect (fixed)

BUG: MPlayer-1.0rc1 fails to build with +fontconfig (libexpat and isysroot issue)

Reported by: yunzheng.hu@… Owned by: ecronin (Eric Cronin)
Priority: High Milestone:
Component: ports Version: 1.4
Keywords: mplayer isysroot fontconfig expat Cc: yunzheng.hu@…
Port: MPlayer

Description (last modified by ryandesign (Ryan Carsten Schmidt))

when building mplayer with the +fontconfig variant it will bork on the following compilation error:

c++ -Wdeclaration-after-statement -fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math -fomit-frame-pointer -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/opt/local/include -I/opt/local/include/cdparanoia/interface -I/opt/local/include/cdparanoia/paranoia  -I/opt/local/include/freetype2 -I/opt/local/include -I.  -I./libavutil -I./libavcodec -o mplayer mplayer.o m_property.o mp_msg.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o m_config.o m_option.o m_struct.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o  mixer.o parser-mpcmd.o subopt-helper.o  libvo/libvo.a libao2/libao2.a input/libinput.a   libmpcodecs/libmpcodecs.a  libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a osdep/libosdep.a -L/opt/local/lib -L/opt/local/lib/samba3   libavformat/libavformat.a  libavcodec/libavcodec.a  libavutil/libavutil.a  libpostproc/libpostproc.a  -lmad     -llzo -lxvidcore  -lpng -lz -lz -ljpeg        -lmp3lame  -lncurses       -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework Cocoa -framework QuartzCore -framework OpenGL      -liconv -lm    libfaad2/libfaad2.a  liba52/liba52.a libmpeg2/libmpeg2.a tremor/libvorbisidec.a libass/libass.a -lfontconfig -L/opt/local/lib -lfreetype -lz                   
/usr/bin/ld: warning -L: directory name (/opt/local/lib/samba3) does not exist
/usr/bin/ld: warning prebinding disabled because dependent library: /Developer/SDKs/MacOSX10.4u.sdk/opt/local/lib/libmad.0.dylib is not prebound
/usr/bin/ld: warning can't open dynamic library: /Developer/SDKs/MacOSX10.4u.sdk/opt/local/lib/libexpat.1.dylib referenced from: /opt/local/lib/libfontconfig.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
/usr/bin/ld: Undefined symbols:
_XML_ErrorString referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_GetBuffer referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_GetCurrentLineNumber referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_GetErrorCode referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_ParseBuffer referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_ParserCreate referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_ParserFree referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_SetCharacterDataHandler referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_SetDoctypeDeclHandler referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_SetElementHandler referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
_XML_SetUserData referenced from libfontconfig expected to be defined in /opt/local/lib/libexpat.1.dylib
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1

This is probably because libexpat and fontconfig is also in the SDK of Mac OS X and the configure of mplayer sets: "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"

removing the -isysroot will make the compilation successful but i'm not sure if this is the best solution. The problem might also lie in 'fontconfig' as that depends on 'expat' which both come with the Mac OS X SDK:

  • /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libexpat.0.4.dylib
  • /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libexpat.a
  • /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libfontconfig.1.0.dylib
  • /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libfontconfig.a

which probably conflicts with (when using isysroot):

  • /opt/local/lib/libexpat.1.5.0.dylib
  • /opt/local/lib/libfontconfig.1.2.0.dylib

the patch that removes the -isysroot from mplayer's configure:
http://paste.lisp.org/display/37698 (credits for finding the bug goes to: Arno Hautala (see annotion 1)

it also seems this is fixed in the mplayer svn.

Attachments (1)

MPlayer.patch (2.0 KB) - added by ecronin (Eric Cronin) 17 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 17 years ago by pipping@…

Owner: changed from macports-dev@… to ecronin@…
Summary: BUG: MPlayer-1.0rc1 fails to build with +fontconfig - libexpat and isysroot issueBUG: MPlayer-1.0rc1 fails to build with +fontconfig (libexpat and isysroot issue)
Version: 1.3.21.4

comment:2 Changed 17 years ago by ecronin (Eric Cronin)

The patch looks fine. There will probably be troubles if/when we make MPlayer universal since it requires -isysroot, but we'll get to that later.

Can someone commit this?

comment:3 Changed 17 years ago by ecronin (Eric Cronin)

A patch (fixing a couple other small things) is attached now. Please commit. The now-empty files/ dir can be removed as well (all patches are done in the Portfile with reinplace)

Changed 17 years ago by ecronin (Eric Cronin)

Attachment: MPlayer.patch added

comment:4 Changed 17 years ago by pipping@…

Resolution: fixed
Status: newclosed

fixed in r22637/r22638.

comment:5 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Milestone: Port Bugs
Port: MPlayer added

comment:6 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.