[vlc-devel] I managed to cross-compile vlc for zaurus.

Juan Antonio Martinez Navarro juanantonio at dif.um.es
Mon Mar 27 13:45:23 CEST 2006


Hi everyone,

I've eventually got a vlc for the Zaurus SL-C3100.

These are the problems I got during the process:

In the compilation of libavcodec I had too many problems with huffyuv
codec so I decided to compile libavcodec without it.

After execute "ipkg/rules.zaurus config" to run configure with the rules
for Zaurus. I had to change two lines in vlc-config file.

Lines 150 and 155: ldflags ... -ljpeg
I had to put the path to libjpeg.a instead of -ljpeg.
"-L/home/dsl/Sources/jpeg6b/libjpeg.a

Afterwords. When I type ipkg/rules.zaurus or make.


I got several errors related with undefined symbols. That is because
several ".a" files formed with arm-linug-ar but they needs to be formed
with some files more. I made the attached script to change this. 

I hope this could help other people,

Thanks everybody.

-- 
Juan Antonio Martínez Navarro <juanantonio at dif.um.es>
Departamento de Ingeniería de la Información y las Comunicaciones
Facultad de Informática
Universidad de Murcia
Teléfono: +34-968-367938
-------------- next part --------------
echo Entramos en ./modules/codec PARA liblibmpeg2.a
# PARA ./modules/codec/liblibmpeg2.a
cd ./modules/codec/
arm-linux-ar cru liblibmpeg2.a liblibmpeg2_a-libmpeg2.o ../../src/video_output/lib_libvlc_a-vout_synchro.o
arm-linux-ranlib liblibmpeg2.a
cd ../../

echo Entramos en ./modules/demux/mp4 PARA libmp4.a
# PARA ./modules/demux/mp4/libmp4.a
cd ./modules/demux/mp4
#drms.c  libmp4_a-drms.o -> ./src/misc/md5.c -> ./src/misc/lib_libvlc_a-md5.o
arm-linux-ar cru libmp4.a libmp4_a-mp4.o libmp4_a-libmp4.o libmp4_a-drms.o ../../../src/misc/lib_libvlc_a-md5.o
arm-linux-ranlib libmp4.a
cd ../../../

echo Entramos en ./modules/demux/playlist PARA libplaylist.a
# PARA ./modules/demux/playlist/libplaylist.a
# src/misc/lib_libvlc_a-unicode.o src/misc/lib_libvlc_a-xml.o
cd ./modules/demux/playlist
arm-linux-ar cru libplaylist.a libplaylist_a-playlist.o libplaylist_a-old.o libplaylist_a-m3u.o libplaylist_a-b4s.o libplaylist_a-pls.o libplaylist_a-dvb.o ../../../src/misc/lib_libvlc_a-unicode.o ../../../src/misc/lib_libvlc_a-xml.o
arm-linux-ranlib libplaylist.a 
cd ../../../

echo Entramos en ./modules/access PARA libaccess_http.a
# PARA ./modules/access/libaccess_http.a
# src/misc/lib_libvlc_a-tls.o
cd ./modules/access
arm-linux-ar cru libaccess_http.a libaccess_http_a-http.o ../../src/misc/lib_libvlc_a-tls.o 
arm-linux-ranlib libaccess_http.a
cd ../../

echo Entramos en ./modules/access_filter PARA libaccess_filter_record.a
# PARA ./modules/access_filter/libaccess_filter_record.a
# src/video_output/lib_libvlc_a-video_text.o
cd ./modules/access_filter/
arm-linux-ar cru libaccess_filter_record.a libaccess_filter_record_a-record.o ../../src/video_output/lib_libvlc_a-video_text.o
arm-linux-ranlib libaccess_filter_record.a
cd ../../

echo Entramos en ./modules/control PARA librc.a
# PARA ./modules/control/librc.a
# src/osd/lib_libvlc_a-osd.o src/osd/lib_libvlc_a-osd_parser.o
cd ./modules/control/
arm-linux-ar cru librc.a librc_a-rc.o ../../src/osd/lib_libvlc_a-osd.o ../../src/osd/lib_libvlc_a-osd_parser.o
arm-linux-ranlib librc.a
cd ../../

echo Entramos en ./modules/control PARA libtelnet.a
# PARA ./modules/control/libtelnet.a
# src/misc/lib_libvlc_a-vlm.o
cd ./modules/control/
arm-linux-ar cru libtelnet.a libtelnet_a-telnet.o ../../src/misc/lib_libvlc_a-vlm.o
arm-linux-ranlib libtelnet.a

echo Entramos en ./modules/control PARA libhotkeys.a
# PARA ./modules/control/libhotkeys.a
# src/video_output/lib_libvlc_a-video_widgets.o src/osd/lib_libvlc_a-osd_widgets.o
arm-linux-ar cru libhotkeys.a libhotkeys_a-hotkeys.o ../../src/video_output/lib_libvlc_a-video_widgets.o ../../src/osd/lib_libvlc_a-osd_widgets.o
arm-linux-ranlib libhotkeys.a
cd ../../

echo Entramos en ./modules/access_output PARA libaccess_output_http.a
# PARA ./modules/access_output/libaccess_output_http.a
# src/misc/lib_libvlc_a-httpd.o src/stream_output/lib_libvlc_a-acl.o
cd ./modules/access_output
arm-linux-ar cru libaccess_output_http.a libaccess_output_http_a-http.o libaccess_output_http_a-bonjour.o ../../src/misc/lib_libvlc_a-httpd.o ../../src/stream_output/lib_libvlc_a-acl.o
arm-linux-ranlib libaccess_output_http.a
cd ../../

echo Entramos en /home/dsl/Sources/ffmpeg-20051126/libavcodec PARA libavcodec.a
# PARA /home/dsl/Sources/ffmpeg-20051126/libavcodec/libavcodec.a
# comentamos de la linea 154 a la 159 y de la 343 a la 348 del fichero allcodecs.c

echo Entramos en  /home/dsl/Sources/mpeg2dec-0.4.1-cvs/libmpeg2/ PARA .libs/libmpeg2.a
# PARA /home/dsl/Sources/mpeg2dec-0.4.1-cvs/libmpeg2/.libs/libmpeg2.a
#libmpeg2/libmpeg2arch_la-cpu_accel.o libmpeg2/libmpeg2arch_la-cpu_state.o
cd /home/dsl/Sources/mpeg2dec-0.4.1-cvs/libmpeg2/
arm-linux-ar cru .libs/libmpeg2.a  alloc.o header.o decode.o slice.o motion_comp.o idct.o libmpeg2arch_la-cpu_accel.o libmpeg2arch_la-cpu_state.o
arm-linux-ranlib .libs/libmpeg2.a
cd ../../vlc-0.8.4a

echo Ejecutamos make
ipkg/rules.zaurus 2> logMakeErr


More information about the vlc-devel mailing list