[MPlayer-users] mplayer compiled in windows - segmentation fault

Alessandro Gabbanelli alessandro.gabbanelli at gmail.com
Wed Nov 14 10:47:03 CET 2012


Il 12/11/2012 20:51, Reimar Döffinger ha scritto:
> On Mon, Nov 12, 2012 at 05:17:01PM +0100, gmane.comp.video.mencoder.user wrote:
>> Il 10/11/2012 17:46, Reimar Döffinger ha scritto:
>>> I would suggest compiling from cygwin, with the mingw64 packages that come with it (using gcc 4.5), and only setting the --cc, --ranlib and --windres options to the versions with x86_64-w64-mingw32 prefix.
>>> In particular do not set --target (and make sure to use latest SVN).
>>
>> great
>> works. play mpg
>> I removed target parameter and added wildres.
>> Detected operating system: MINGW32
>>
>> Have not been necessary modifications, just add
>
> I said "only setting the --cc, --ranlib and --windres options" for a
> very good reason, all those manual hacks you do still make no sense.
>
>>   libass/ass.o libass/ass_library.o libass/ass_render_api.o
>> libass/ass_render.o libass/ass_utils.o \
>>   libass/ass_strtod.o libass/ass_cache.o libass/ass_fontconfig.o
>> libass/ass_bitmap.o libass/ass_shaper.o \
>>   libass/ass_drawing.o libass/ass_parse.o libass/ass_font.o \
>>
>> for error
>> D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x1a3d):
>> undefined reference to `FT_Stroker_Done'
>> D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4ec2):
>> undefined reference to `FT_Outline_GetOutsideBorder'
>> D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4ed6):
>> undefined reference to `FT_Stroker_ParseOutline'
>> D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4eff):
>> undefined reference to `FT_Stroker_GetBorderCounts'
>> D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4f4d):
>> undefined reference to `FT_Stroker_ExportBorder'
>
> The effect of this is that your libass.a will not be used at all,
> so it is completely pointless to link against it.
> In addition, the internal libass you force to be compiled in will
> be completely useless, since no font renderer is enabled.
> You will need e.g. libfreetype.
>
>> and
>> /local/lib/xvidcore.a /local/lib/libfaac.a /local/lib/libx264.a
>
> You don't need to add these manually if you just stopped using the
> --enable-* options! (well, you might have to use
> --extra-ldflags="/local/lib")
>


I tried with
./configure --prefix=/build/mplayer/mplayer-bin-20121113 --language=en \
--enable-static \
--confdir=./mplayer --codecsdir=./codecs \
--cc=x86_64-w64-mingw32-gcc \
--ranlib=/mingw/x86_64-w64-mingw32/bin/ranlib \
--windres=x86_64-w64-mingw32-windres
does not detect
caca	undefined reference to `inflate'
fribidi	undefined reference to `__imp_fribidi_parse_charset'
twolame	undefined reference to `__imp_twolame_init'

the make error is
D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x1a3d): 
undefined reference to `FT_Stroker_Done'
D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4ec2): 
undefined reference to `FT_Outline_GetOutsideBorder'
D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4ed6): 
undefined reference to `FT_Stroker_ParseOutline'
D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4eff): 
undefined reference to `FT_Stroker_GetBorderCounts'
D:/C++LIB-mingw/local64/lib\libass.a(ass_render.o):(.text+0x4f4d): 
undefined reference to `FT_Stroker_ExportBorder'

at command
x86_64-w64-mingw32-gcc -o mplayer.exe command.o [..] -Wl,--nxcompat 
-Wl,--no-seh -Wl,--dynamicbase  -lwinmm -ffast-math -lws2_32 -liconv 
-lpng -lz -ljpeg -lungif -L/local/lib -lfreetype -lz -lfontconfig 
-lexpat -lfreetype -lz -lass -lz -lbz2 -llzo2 -lmad -lvorbisenc -lvorbis 
-logg -lspeex -ltheoradec -logg -ldca -lfaad 
-LD:/C++LIB-mingw/local64/lib -lbs2b -lm   -lopencore-amrnb 
-lopencore-amrwb -lxvidcore -LD:/C++LIB-mingw/local64/lib 
-lschroedinger-1.0 -lorc-0.4 -lm   -lole32 -luuid -lpthreadGC2   -lm 
-static  -lSDL -lwinmm -lgdi32 -ldxguid -lopengl32 -lgdi32 -lwinmm 
-lgdi32 -lfaac -lx264 -lpthreadGC2 -lmp3lame

if I change the order with "-lass -lfreetype", the error is
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x276): 
undefined reference to `__imp_fribidi_get_bidi_types'
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x2aa): 
undefined reference to `__imp_fribidi_get_par_embedding_levels'
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x30b): 
undefined reference to `__imp_fribidi_get_joining_types'
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x31e): 
undefined reference to `__imp_fribidi_join_arabic'
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x33c): 
undefined reference to `__imp_fribidi_shape'
D:/C++LIB-mingw/local64/lib\libass.a(ass_shaper.o):(.text+0x52c): 
undefined reference to `__imp_fribidi_reorder_line'

I also tried -lfribidi, same error.





More information about the MPlayer-users mailing list