[vlc] Re: How to compile VLC for Wince

Guangming Hong guangming.hong at gmail.com
Fri Jul 21 10:00:50 CEST 2006


 Hi,

I want to build vlc for my Pocket PC HP IPAQ4700, with WinCE as OS. I have
been looking through the forum as well as the trunk files on the
install.wince for the last few days but I am still unable to get the build
process right. Can anyone please help me?

I use the the wince gcc cross-compiler to build vlc, I get the
cross-compiler and the additional libraries from the url mentioned in
install.wince. That is
http://www.videolan.org/pub/testing/wince/wince-arm-gcc4.0.0-cvs-linux-crosscompiler-20050517.tar.bz2
and
http://download.videolan.org/pub/testing/wince/contrib-20050220-wince-xscale-bin.tar.bz2.


The source code of vlc I use is vlc0.8.5.tar.gz.

At the configure step, according to some previours mails in the maillist, I
modified some place. my copy of install.wince is:

./bootstrap &&
PATH=/usr/local/wince/cross-tools/bin:$PATH \
CFLAGS="-D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include
$CFLAGS -I/usr/local/wince/contrib-xscale/include -mcpu=xscale" \
LDFLAGS="-L/usr/local/wince/cross-tools/lib
-L/usr/local/wince/contrib-xscale/lib" \
CC="arm-wince-pe-gcc" \
AR="arm-wince-pe-ar" \
LD="arm-wince-pe-ld" \
CXX="arm-wince-pe-g++" \
CPP="arm-wince-pe-cpp" \
STRIP="arm-wince-pe-strip" \
./configure --prefix=/usr/local/wince \
--disable-sdl --disable-gtk --disable-dvdnav --disable-dvdread \
--disable-nls --disable-sout --disable-vlm --disable-wxwidgets \
--disable-a52 --disable-libmpeg2 \
--disable-mad --disable-plugins --enable-optimize-memory \
--enable-ffmpeg --enable-tremor --enable-faad \
--enable-freetype
--with-freetype-config-path=/usr/local/wince/contrib-xscale/bin \
--enable-fribidi
--with-fribidi-config-path=/usr/local/wince/contrib-xscale/bin \
--build=i686-pc-linux-gnu --host=arm-wince-pe --target=arm-wince-pe

After successful configure, I begin make according to install.wince. The
command is:

PATH=/usr/local/wince/cross-tools/bin:$PATH make

However, here I met my problems. After a few warnings, I found that the
compile stage finished and begin to link.  The problem is that a few
function calls can't find the definition in any .a and .lib files. For
example:

1.src/libvlc.a(libvlc_a-es_out.o):es_out.c:(.text+0x2644): undefined
reference to `lldiv';
2../modules/gui/wince/libwince.a(libwince_a-playlist.o):playlist.cpp:(.text+0x548):
undefined reference to `playlist_Import';
3../modules/demux/mp4/libmp4.a(libmp4_a-libmp4.o):libmp4.c:(.text+0x8208):
undefined reference to `__stream_MemoryNew';
......

In the attached file, a full text version of the output of the build process
is presented.

I have searched the missing function with grep and found that most of them
are with definition. So I don't know why ld can not get them together.

I wondered whether this is related to my configure process. I hope that
anyone have met the same problem and can give me a reply.

Many Thanks.

Haley
-- 
Best Regards!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc/attachments/20060721/17487213/attachment.html>
-------------- next part --------------
/bin/sh ./libtool --mode=link --tag=CXX arm-wince-pe-g++ -Wsign-compare -Wsign-compare -Wall -D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include -D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include -I/usr/local/wince/contrib-xscale/include -I/usr/local/wince/contrib-xscale/include -mcpu=xscale -pipe -L/usr/local/wince/cross-tools/lib -L/usr/local/wince/contrib-xscale/lib -o vlc.exe vlc-vlc.o src/libvlc.a ./modules/gui/wince/libwince.a ./modules/misc/dummy/libdummy.a ./modules/misc/liblogger.a ./modules/misc/memcpy/libmemcpy.a ./modules/demux/mpeg/libmpgv.a ./modules/demux/mpeg/libmpga.a ./modules/demux/mpeg/libm4v.a ./modules/demux/mpeg/libm4a.a ./modules/demux/mpeg/libh264.a ./modules/demux/libps.a ./modules/demux/libpva.a ./modules/demux/avi/libavi.a ./modules/demux/asf/libasf.a ./modules/demux/mp4/libmp4.a ./modules/demux/librawdv.a ./modules/demux/libnsv.a ./modules/demux/libreal.a ./modules/demux/libaiff.a ./modules/demux/libmjpeg.a ./modules/demux/libdemuxdump.a ./modules/demux/libflac.a ./modules/codec/libcvdsub.a ./modules/codec/libsvcdsub.a ./modules/codec/spudec/libspudec.a ./modules/codec/libsubsdec.a ./modules/codec/libdvbsub.a ./modules/codec/libmpeg_audio.a ./modules/codec/liblpcm.a ./modules/codec/liba52.a ./modules/codec/libdts.a ./modules/codec/libcinepak.a ./modules/codec/libflacdec.a ./modules/video_filter/libdeinterlace.a ./modules/video_filter/libinvert.a ./modules/video_filter/libadjust.a ./modules/video_filter/libtransform.a ./modules/video_filter/libdistort.a ./modules/video_filter/libmotionblur.a ./modules/video_filter/librv32.a ./modules/audio_filter/converter/libfixed32tos16.a ./modules/audio_filter/converter/libs16tofixed32.a ./modules/audio_filter/converter/libu8tofixed32.a ./modules/audio_filter/resampler/libtrivial_resampler.a ./modules/audio_filter/resampler/libugly_resampler.a ./modules/audio_filter/channel_mixer/libtrivial_channel_mixer.a ./modules/audio_mixer/libtrivial_mixer.a ./modules/demux/playlist/libplaylist.a ./modules/misc/playlist/libexport.a ./modules/demux/libsgimb.a ./modules/demux/libm3u.a ./modules/demux/libnsc.a ./modules/misc/xml/libxtag.a ./modules/video_chroma/libi420_rgb.a ./modules/codec/librawvideo.a ./modules/video_filter/libblend.a ./modules/video_filter/libscale.a ./modules/video_output/libimage.a ./modules/video_filter/liblogo.a ./modules/video_filter/libmagnify.a ./modules/demux/libwav.a ./modules/codec/libaraw.a ./modules/demux/libsubtitle.a ./modules/demux/libvobsub.a ./modules/codec/libadpcm.a ./modules/demux/liba52sys.a ./modules/demux/libdtssys.a ./modules/demux/libau.a ./modules/demux/libty.a ./modules/demux/libvoc.a ./modules/demux/libxa.a ./modules/demux/libnuv.a ./modules/access/libaccess_directory.a ./modules/access/libaccess_file.a ./modules/access/libaccess_udp.a ./modules/access/libaccess_tcp.a ./modules/access/libaccess_http.a ./modules/access/mms/libaccess_mms.a ./modules/access/libaccess_ftp.a ./modules/misc/network/libipv4.a ./modules/packetizer/libpacketizer_mpegvideo.a ./modules/packetizer/libpacketizer_h264.a ./modules/packetizer/libpacketizer_mpeg4video.a ./modules/packetizer/libpacketizer_mpeg4audio.a ./modules/misc/libwin32text.a ./modules/control/http/libhttp.a ./modules/misc/libgrowl.a ./modules/demux/libts.a ./modules/demux/libogg.a ./modules/codec/libtremor.a ./modules/codec/cmml/libcmml.a ./modules/misc/libfreetype.a ./modules/video_output/libwingdi.a ./modules/video_output/libwingapi.a ./modules/audio_output/libwaveout.a ./modules/visualization/visual/libvisual.a -L/usr/local/wince/lib -lws2 -e WinMainCRTStartup -L/usr/local/wince/cross-tools/lib -L/usr/local/wince/contrib-xscale/lib ./modules/gui/wince/wince_rc.o -lcommctrl -lcommdlg -laygshell -lz -lws2 -lws2 -lws2 -lws2 -lws2 -lws2 -lws2 -ldvbpsi -logg -lvorbisidec -logg -L/usr/local/wince-xscale/lib -lfribidi -L/usr/local/wince-xscale/lib -lfreetype
arm-wince-pe-g++ -Wsign-compare -Wsign-compare -Wall -D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include -D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include -I/usr/local/wince/contrib-xscale/include -I/usr/local/wince/contrib-xscale/include -mcpu=xscale -pipe -o vlc.exe vlc-vlc.o -e WinMainCRTStartup ./modules/gui/wince/wince_rc.o  -L/usr/local/wince/cross-tools/lib -L/usr/local/wince/contrib-xscale/lib src/libvlc.a ./modules/gui/wince/libwince.a ./modules/misc/dummy/libdummy.a ./modules/misc/liblogger.a ./modules/misc/memcpy/libmemcpy.a ./modules/demux/mpeg/libmpgv.a ./modules/demux/mpeg/libmpga.a ./modules/demux/mpeg/libm4v.a ./modules/demux/mpeg/libm4a.a ./modules/demux/mpeg/libh264.a ./modules/demux/libps.a ./modules/demux/libpva.a ./modules/demux/avi/libavi.a ./modules/demux/asf/libasf.a ./modules/demux/mp4/libmp4.a ./modules/demux/librawdv.a ./modules/demux/libnsv.a ./modules/demux/libreal.a ./modules/demux/libaiff.a ./modules/demux/libmjpeg.a ./modules/demux/libdemuxdump.a ./modules/demux/libflac.a ./modules/codec/libcvdsub.a ./modules/codec/libsvcdsub.a ./modules/codec/spudec/libspudec.a ./modules/codec/libsubsdec.a ./modules/codec/libdvbsub.a ./modules/codec/libmpeg_audio.a ./modules/codec/liblpcm.a ./modules/codec/liba52.a ./modules/codec/libdts.a ./modules/codec/libcinepak.a ./modules/codec/libflacdec.a ./modules/video_filter/libdeinterlace.a ./modules/video_filter/libinvert.a ./modules/video_filter/libadjust.a ./modules/video_filter/libtransform.a ./modules/video_filter/libdistort.a ./modules/video_filter/libmotionblur.a ./modules/video_filter/librv32.a ./modules/audio_filter/converter/libfixed32tos16.a ./modules/audio_filter/converter/libs16tofixed32.a ./modules/audio_filter/converter/libu8tofixed32.a ./modules/audio_filter/resampler/libtrivial_resampler.a ./modules/audio_filter/resampler/libugly_resampler.a ./modules/audio_filter/channel_mixer/libtrivial_channel_mixer.a ./modules/audio_mixer/libtrivial_mixer.a ./modules/demux/playlist/libplaylist.a ./modules/misc/playlist/libexport.a ./modules/demux/libsgimb.a ./modules/demux/libm3u.a ./modules/demux/libnsc.a ./modules/misc/xml/libxtag.a ./modules/video_chroma/libi420_rgb.a ./modules/codec/librawvideo.a ./modules/video_filter/libblend.a ./modules/video_filter/libscale.a ./modules/video_output/libimage.a ./modules/video_filter/liblogo.a ./modules/video_filter/libmagnify.a ./modules/demux/libwav.a ./modules/codec/libaraw.a ./modules/demux/libsubtitle.a ./modules/demux/libvobsub.a ./modules/codec/libadpcm.a ./modules/demux/liba52sys.a ./modules/demux/libdtssys.a ./modules/demux/libau.a ./modules/demux/libty.a ./modules/demux/libvoc.a ./modules/demux/libxa.a ./modules/demux/libnuv.a ./modules/access/libaccess_directory.a ./modules/access/libaccess_file.a ./modules/access/libaccess_udp.a ./modules/access/libaccess_tcp.a ./modules/access/libaccess_http.a ./modules/access/mms/libaccess_mms.a ./modules/access/libaccess_ftp.a ./modules/misc/network/libipv4.a ./modules/packetizer/libpacketizer_mpegvideo.a ./modules/packetizer/libpacketizer_h264.a ./modules/packetizer/libpacketizer_mpeg4video.a ./modules/packetizer/libpacketizer_mpeg4audio.a ./modules/misc/libwin32text.a ./modules/control/http/libhttp.a ./modules/misc/libgrowl.a ./modules/demux/libts.a ./modules/demux/libogg.a ./modules/codec/libtremor.a ./modules/codec/cmml/libcmml.a ./modules/misc/libfreetype.a ./modules/video_output/libwingdi.a ./modules/video_output/libwingapi.a ./modules/audio_output/libwaveout.a ./modules/visualization/visual/libvisual.a -L/usr/local/wince/lib -lcommctrl -lcommdlg -laygshell -lz -lws2 /usr/local/wince/contrib-xscale/lib/libdvbpsi.a -L/usr/local/mingw-wince-20050131/lib -L/usr/local/wince-xscale/lib /usr/local/wince/contrib-xscale/lib/libvorbisidec.a /usr/local/wince/contrib-xscale/lib/libogg.a /usr/local/wince/contrib-xscale/lib/libfribidi.a -lwinsock -lfreetype

libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libdvbpsi.la' was moved.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libvorbisidec.la' was mov
ed.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libogg.la' was moved.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libfribidi.la' was moved.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libdvbpsi.la' was moved.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libvorbisidec.la' was mov
ed.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libogg.la' was moved.
libtool: link: warning: library `/usr/local/wince/contrib-xscale/lib/libfribidi.la' was moved.
Warning: .drectve `/DEFAULTLIB:"coredll.lib" /DEFAULTLIB:"corelibc.lib" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"coredll.lib" /DEFAULTLIB:"corelibc.lib" ' unrecognized
Warning: .drectve `/DEFAULTLIB:"coredll.lib" /DEFAULTLIB:"corelibc.lib" ' unrecognized
src/libvlc.a(libvlc_a-es_out.o):es_out.c:(.text+0x2644): undefined reference to `lldiv'
./modules/gui/wince/libwince.a(libwince_a-playlist.o):playlist.cpp:(.text+0x548): undefined re
ference to `playlist_Import'
./modules/gui/wince/libwince.a(libwince_a-playlist.o):playlist.cpp:(.text+0x5d4): undefined re
ference to `playlist_Export'
./modules/misc/liblogger.a(liblogger_a-logger.o):logger.c:(.text+0x958): undefined reference t
o `lldiv'
./modules/misc/liblogger.a(liblogger_a-logger.o):logger.c:(.text+0x984): undefined reference t
o `lldiv'
./modules/misc/liblogger.a(liblogger_a-logger.o):logger.c:(.text+0x9b0): undefined reference t
o `lldiv'
./modules/demux/mp4/libmp4.a(libmp4_a-libmp4.o):libmp4.c:(.text+0x8208): undefined reference t
o `__stream_MemoryNew'
./modules/demux/playlist/libplaylist.a(libplaylist_a-b4s.o):b4s.c:(.text+0x194): undefined ref
erence to `xml_Delete'
./modules/demux/playlist/libplaylist.a(libplaylist_a-b4s.o):b4s.c:(.text+0x224): undefined ref
erence to `__xml_Create'
./modules/demux/playlist/libplaylist.a(libplaylist_a-podcast.o):podcast.c:(.text+0x128): undef
ined reference to `xml_Delete'
./modules/demux/playlist/libplaylist.a(libplaylist_a-podcast.o):podcast.c:(.text+0x190): undef
ined reference to `__xml_Create'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0xc0): undefined re
ference to `__xml_Create'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0x158): undefined r
eference to `xml_Delete'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0x7a4): undefined r
eference to `resolve_xml_special_chars'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0xc20): undefined r
eference to `unescape_URI_duplicate'
./modules/demux/playlist/libplaylist.a(libplaylist_a-shoutcast.o):shoutcast.c:(.text+0x13c): u
ndefined reference to `xml_Delete'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0x7a4): undefined r
eference to `resolve_xml_special_chars'
./modules/demux/playlist/libplaylist.a(libplaylist_a-xspf.o):xspf.c:(.text+0xc20): undefined r
eference to `unescape_URI_duplicate'
./modules/demux/playlist/libplaylist.a(libplaylist_a-shoutcast.o):shoutcast.c:(.text+0x13c): u
ndefined reference to `xml_Delete'
./modules/demux/playlist/libplaylist.a(libplaylist_a-shoutcast.o):shoutcast.c:(.text+0x1ac): u
ndefined reference to `__xml_Create'
./modules/misc/playlist/libexport.a(libexport_a-xspf.o):xspf.c:(.text+0x1c8): undefined refere
nce to `convert_xml_special_chars'
./modules/misc/playlist/libexport.a(libexport_a-xspf.o):xspf.c:(.text+0x208): undefined refere
nce to `convert_xml_special_chars'
./modules/misc/playlist/libexport.a(libexport_a-xspf.o):xspf.c:(.text+0x240): undefined refere
nce to `convert_xml_special_chars'
./modules/misc/playlist/libexport.a(libexport_a-xspf.o):xspf.c:(.text+0x2f4): undefined refere
nce to `convert_xml_special_chars'
./modules/misc/playlist/libexport.a(libexport_a-xspf.o):xspf.c:(.text+0x5d4): undefined refere
nce to `convert_xml_special_chars'
./modules/access/libaccess_tcp.a(libaccess_tcp_a-tcp.o):tcp.c:(.text+0x2a8): undefined referen
ce to `__net_ConnectTCP'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x8c8): undefined ref
erence to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0xcf0): undefined ref
erence to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x15ec): undefined re
ference to `__net_ConnectTCP'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x16e8): undefined re
ference to `tls_ClientCreate'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x1748): undefined re
ference to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x1798): undefined re
ference to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x1888): undefined re
ference to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x1c5c): undefined re
ference to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x2198): undefined re
ference to `tls_ClientDelete'
./modules/access/libaccess_http.a(libaccess_http_a-http.o):http.c:(.text+0x2aac): more undefin
ed references to `tls_ClientDelete' follow
./modules/access/mms/libaccess_mms.a(libaccess_mms_a-mmstu.o):mmstu.c:(.text+0x14f8): undefine
d reference to `__net_ConnectTCP'
./modules/access/mms/libaccess_mms.a(libaccess_mms_a-mmsh.o):mmsh.c:(.text+0x1c0): undefined r
eference to `__net_ConnectTCP'
./modules/access/mms/libaccess_mms.a(libaccess_mms_a-mmsh.o):mmsh.c:(.text+0xd60): undefined r
eference to `__net_ConnectTCP'
./modules/access/libaccess_ftp.a(libaccess_ftp_a-ftp.o):ftp.c:(.text+0xacc): undefined referen
ce to `__net_ConnectTCP'
./modules/access/libaccess_ftp.a(libaccess_ftp_a-ftp.o):ftp.c:(.text+0xcd4): undefined referen
ce to `__net_ConnectTCP'
./modules/control/http/libhttp.a(libhttp_a-http.o):http.c:(.text+0x7f8): undefined reference t
o `httpd_TLSHostNew'
./modules/control/http/libhttp.a(libhttp_a-util.o):util.c:(.text+0xa98): undefined reference t
o `ACL_Destroy'
./modules/control/http/libhttp.a(libhttp_a-util.o):util.c:(.text+0xad4): undefined reference t
o `httpd_HandlerNew'
./modules/control/http/libhttp.a(libhttp_a-util.o):util.c:(.text+0xb5c): undefined reference t
o `ACL_Destroy'
./modules/control/http/libhttp.a(libhttp_a-mvar.o):mvar.c:(.text+0x2a7c): undefined reference
to `vlm_ExecuteCommand'
./modules/control/http/libhttp.a(libhttp_a-mvar.o):mvar.c:(.text+0x2af4): undefined reference
to `vlm_ExecuteCommand'
./modules/control/http/libhttp.a(libhttp_a-mvar.o):mvar.c:(.text+0x2b28): undefined reference
to `vlm_MessageDelete'
./modules/control/http/libhttp.a(libhttp_a-mvar.o):mvar.c:(.text+0x2b4c): undefined reference
to `vlm_MessageDelete'
./modules/control/http/libhttp.a(libhttp_a-rpn.o):rpn.c:(.text+0x17fc): undefined reference to
 `decode_URI'
./modules/control/http/libhttp.a(libhttp_a-macro.o):macro.c:(.text+0x2050): undefined referenc
e to `__vlm_New'
./modules/control/http/libhttp.a(libhttp_a-macro.o):macro.c:(.text+0x2118): undefined referenc
e to `vlm_ExecuteCommand'
./modules/control/http/libhttp.a(libhttp_a-macro.o):macro.c:(.text+0x2120): undefined referenc
e to `vlm_MessageDelete'
./modules/control/http/libhttp.a(libhttp_a-macro.o):macro.c:(.text+0x2dd0): undefined referenc
e to `__vlm_New'
./modules/misc/libgrowl.a(libgrowl_a-growl.o):growl.c:(.text+0x39c): undefined reference to `I
nitMD5'
./modules/misc/libgrowl.a(libgrowl_a-growl.o):growl.c:(.text+0x3ac): undefined reference to `A
ddMD5'
./modules/misc/libgrowl.a(libgrowl_a-growl.o):growl.c:(.text+0x3b4): undefined reference to `E
ndMD5'
./modules/codec/cmml/libcmml.a(libcmml_a-intf.o):intf.c:(.text+0x928): undefined reference to
`vout_ShowTextAbsolute'
./modules/misc/libfreetype.a(libfreetype_a-freetype.o):freetype.c:(.text+0xbb0): undefined ref
erence to `GetWindowsDirectoryW'
collect2: ld returned 1 exit status
make[2]: *** [vlc.exe] Error 1


More information about the vlc mailing list