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