compiling vlc for Strongarm and Qtopia?

Christian Kohl s355784 at student.uq.edu.au
Sat Jul 20 08:18:37 CEST 2002


> 
> > for 3) I compiled mad but when I did make install it installed 
it in 
> > the correct directory 
> > but not as a .so file but only as a .la and .a . I thought it 
had to 
> > be .so file??
> 
> .a file is great.
> 
> > for 4) When I tried to compile vlc, I am sort of stuck because I 
am 
> > not sure what configure options to use.
> > The ones I am currently using are as follows:
> > 
> > CC=arm-linux-gcc ./configure --disable-dvd --enable-release --
> > prefix=/opt/Qtopia/ --disable-gtk --enable-fb --enable-sdl --
disable-
> > xvideo --disable-plugins --disable-dvd --disable-dvdread --
disable-
> > dummy --disable-x11 --enable-mad --with-mad=/opt/Qtopia/ arm-
linux
> 
> Why --disable-dummy ?

I thought I will compile it with the least "distractions" and only 
use the rc interface for the moment.
But the way it looks like, "dummy" is built-in module so this option 
is probably useless.

> 
> > I have tested in the qvfb but it then opened the video output 
not in 
> > the buffer but in normal window.
> 
> You mean, you tested it on your PC ? How can your run ARM code on 
your
> x86 processor ? Which plug-in did it use for X11 video output, you
> didn't compile any !

my mistake, Trolltech has a framebuffer to test programs compiled 
for the
IPAQ and I thought I could use that, obviously not. This framebuffer 
is supposed to impersonate
the environment on the IPAQ.

> 
> > /opt/Qtopia//lib/libSDL.so: could not read symbols: Invalid 
operation
> > collect2: ld returned 1 exit status
> > make: *** [vlc] Error 1
> 
> Are you sure this is an ARM binary ? 
(`file /opt/Qtopia/lib/libSDL.so`)

I thought so because I compiled SDL for Strongarm and Qtopia from 
the source
using following options:

NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ 
RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --enable-video-
qtopia --disable-video-dummy --disable-video-fbcon  --disable-video-
dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --
disable-video-x11 --disable-nasm --prefix=/opt/Qtopia/sharp/ arm-
unknown-linux-gnu


> 
So back to the vlc compilation, here is what I try to do and I also 
have some output.

The configure procedure:

* NM=arm-linux-nm LD=arm-linux-ld CXX=arm-linux-g++ RANLIB=arm-linux-
ranlib AR=arm-linux-ar CC=arm-linux-gcc ./configure --disable-dvd --
* enable-release --prefix=/opt/Qtopia/ --disable-gtk --enable-fb --
enable-sdl --with-sdl=/opt/Qtopia/ --disable-xvideo --disable-
plugins --
* disable-dvd --disable-dvdread --disable-dummy --disable-x11 --
enable-mad --with-mad=/opt/Qtopia/ arm-linux
* loading cache ./config.cache
* checking host system type... arm-unknown-linux-gnu
* checking target system type... arm-unknown-linux-gnu
* checking build system type... arm-unknown-linux-gnu
* checking whether make sets ${MAKE}... (cached) yes
* checking for gcc... (cached) gcc
* checking whether the C compiler (gcc  ) works... yes
* checking whether the C compiler (gcc  ) is a cross-compiler... no
* checking whether we are using GNU C... (cached) yes
* checking whether gcc accepts -g... (cached) yes
* checking how to run the C preprocessor... (cached) gcc -E
* checking for ranlib... (cached) ranlib

!!I think there is one of the problems - it still thinks it has to 
compile with gcc and not arm-linux-gcc

* vlc configuration
* --------------------
* vlc version           : 0.5.0-cvs
* system                : linux
* architecture          : arm
* optimizations         : 1
* tuning                :
* debug mode            : 0
* release               : 1
* profiling             : 0
* need builtin getopt   : 0
* built-in modules      : idct idctclassic motion imdct downmix 
mpeg_adec ac3_adec mpeg_vdec  dummy null rc logger mpeg_es 
mpeg_audio mpeg_ps * mpeg_ts file udp http ipv4 memcpy lpcm_adec 
ac3_spdif spudec filter_deinterlace filter_invert filter_wall 
filter_transform filter_distort 
* filter_clone filter_crop fx_scope chroma_i420_rgb chroma_i420_yuy2 
chroma_i422_yuy2 chroma_i420_ymga vcd avi mad sdl fb dsp
* plug-in modules       :
* mozilla plugin        : 0
* vlc aliases           :
* You may now tune Makefile.opts at your convenience, for instance 
to choose
* which modules get compiled as plugins.
*To build vlc and its plugins, type `gmake'.

The I compiled with gmake, the following output started to occur:

gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -pipe -
D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o src/vlc.o 
src/vlc.c
gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -pipe -
D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/libvlc.o src/libvlc.c
gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -pipe -
D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/interface/interface.o src/interface/interface.c
make[1]: Generating dependencies for `src/interface/intf_eject.c'
gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -pipe -
D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/interface/intf_eject.o src/interface/intf_eject.c

!!It is not using the cross-compiler, and thats when I got the error 
with libSDL.so
So I edited the Makefile.opts file and changed CC to arm-linux-gcc 
assuming that would fix the compile process,
but now it breaks after the second step:

arm-linux-gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -
pipe -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o src/vlc.o 
src/vlc.c
make[1]: Generating dependencies for `src/libvlc.c'
arm-linux-gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -
pipe -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/libvlc.o src/libvlc.c
make[1]: Generating dependencies for `src/interface/interface.c'
arm-linux-gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -
pipe -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/interface/interface.o src/interface/interface.c
make[1]: Generating dependencies for `src/interface/intf_eject.c'
make[1]: Generating dependencies for `src/interface/intf_eject.c'
arm-linux-gcc -Wall -Winline  -DSYS_LINUX -finline-limit-30000 -
pipe -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -
DLOCALEDIR=\"/opt/Qtopia//share/locale\" -
DDATA_PATH=\"/opt/Qtopia//share/vlc\" -
DPLUGIN_PATH=\"/opt/Qtopia//lib/vlc\" -Iinclude -Iextras -
D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DHAVE_RELEASE -D__VLC__ -
O3 -ffast-math -funroll-loops -fomit-frame-pointer  -c -o 
src/interface/intf_eject.o src/interface/intf_eject.c
src/interface/intf_eject.c:47: linux/version.h: No such file or 
directory
src/interface/intf_eject.c:62: linux/ucdrom.h: No such file or 
directory
gmake: *** [src/interface/intf_eject.o] Error 1

!!So it seems it is using the right compiler this time but stuffs up 
with intf_eject.c which it does not for gcc, everything else is 
unchanged.
I assume it wants to know how to handle the ejection of a Cdrom for 
the platform it compiles for, which we don't have?

Any input to this would be greatly appreciated

Cheers

Christian Kohl

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the vlc-devel mailing list