2010-02-19 14:43:26     VLC build hacks

Document created by Aaronwu Employee on Aug 20, 2013
Version 1Show Document
  • View in full screen mode

2010-02-19 14:43:26     VLC build hacks

Peter Naulls (UNITED STATES)

Message: 86234   

 

I'm not familiar enough yet with the uclinux build to suggest proper fixes (although have dealt extensively with cross compiling), but the trunk vlc build is failing to find headers and then goes on to find the system sdl-config.

 

Here's the work around I did:

 

in staging/usr/include:

 

ln -s libavcodec/ ffmpeg

 

ln -s libpostproc/ postproc

 

and user/vlc/Makefile:

 

Index: Makefile

===================================================================

--- Makefile    (revision 9458)

+++ Makefile    (working copy)

@@ -42,7 +42,7 @@

                --disable-vcd \

                --disable-mkv \

                --disable-mod \

-               $(call USE_ENABLE,LIB_LIBSDL,sdl) \

+               --with-sdl-config-path=$(STAGEDIR)/usr/bin/ \

                --disable-a52 \

                --disable-dts \

                --disable-vorbis \

 

However, this ultimately fails:

 

make[14]: Entering directory `/home/peter/projects/fish/uclinux-dist-trunk/user/vlc/build/modules/codec/ffmpeg'                                         

bfin-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I../../../../vlc-0.8.6b/modules/codec/ffmpeg -I../../..  -I../../../intl -DEMBED -D__uClinux__ -I/home/peter/projects/fish/uclinux-dist-trunk  -mcpu=bf548-0.2 -DSYS_LINUX -I../../../../vlc-0.8.6b/include `top_builddir="../../.." ../../../vlc-config --cflags plugin ffmpeg` -Wsign-compare -Wall -pipe -Wall -O2      -mcpu=bf548-0.2 -pipe -c -o libffmpeg_plugin_a-ffmpeg.o `test -f 'ffmpeg.c' || echo '../../../../vlc-0.8.6b/modules/codec/ffmpeg/'`ffmpeg.c                                                                                                                     

../../../../vlc-0.8.6b/modules/codec/ffmpeg/ffmpeg.c: In function 'LibavcodecCallback':                                                                 

../../../../vlc-0.8.6b/modules/codec/ffmpeg/ffmpeg.c:361: warning: assignment discards qualifiers from pointer target type                              

../../../../vlc-0.8.6b/modules/codec/ffmpeg/ffmpeg.c: At top level:                                                                                     

../../../../vlc-0.8.6b/modules/codec/ffmpeg/ffmpeg.c:457: error: 'PIX_FMT_YUV422' undeclared here (not in a function)                                   

../../../../vlc-0.8.6b/modules/codec/ffmpeg/ffmpeg.c:466: error: 'PIX_FMT_RGBA32' undeclared here (not in a function)                                   

make[14]: *** [libffmpeg_plugin_a-ffmpeg.o] Error 1                                                              

QuoteReplyEditDelete

 

 

2010-02-19 15:02:38     Re: VLC build hacks

Robin Getz (UNITED STATES)

Message: 86235   

 

Peter:

 

Most everyone is out today - but I will have someone check in some fixes to trunk and branch when they get back.

 

-Robin

QuoteReplyEditDelete

 

 

2010-02-19 18:40:54     Re: VLC build hacks

Peter Naulls (UNITED STATES)

Message: 86238   

 

I had a go at VLC 1.05:

 

Index: Makefile

===================================================================

--- Makefile    (revision 9458)

+++ Makefile    (working copy)

@@ -1,6 +1,9 @@

-VER = vlc-0.8.6b

+#VER = vlc-0.8.6b

+VER = vlc-1.0.5

USE_ENABLE = $(shell test "$(CONFIG_$(1))" = "y" -o "$(CONFIG_$(1))" = "m" && echo "--enable-$(2)" || echo "--disable-$(2)")

 

+CFLAGS = -std=gnu99

+

all: build/Makefile

        $(MAKE) -C build install DESTDIR=$$PWD/DESTDIR

 

@@ -42,13 +45,15 @@

                --disable-vcd \

                --disable-mkv \

                --disable-mod \

-               $(call USE_ENABLE,LIB_LIBSDL,sdl) \

+               --with-sdl-config-path=$(STAGEDIR)/usr/bin/ \

                --disable-a52 \

-               --disable-dts \

+               --disable-dca \

                --disable-vorbis \

                $(call USE_ENABLE,LIB_SPEEX,speex) \

                --disable-libxml2 \

-               $(call USE_ENABLE,FB,fb)

+               $(call USE_ENABLE,FB,fb) \

+               --disable-remoteosd \

+               --disable-libgcrypt

 

clean:

        rm -rf build DESTDIR

 

 

Also, the symbols in src/*.sym need prefixing with _

 

I think that m4/libtool.m4 needs a patch based upon:

 

  lists.gnu.org/archive/html/bug-libtool/2007-05/txtR7ZTpUoyiJ.txt

 

Finally, I get:

 

../src/.libs/libvlccore.so: warning: fork: this function is not implemented on no-mmu systems                                                           

../src/.libs/libvlccore.so: undefined reference to `_in6addr_any'                                                                                       

../src/.libs/libvlccore.so: undefined reference to `_pthread_condattr_setclock'

 

No IPv6 is probably fine.  I'm not sure about the pthread symbol.  This is in src/misc/threads.s and has some related code in mtime.c (see the #error on line 92).

 

And to finish, there's some glibc check in src/misc/linux_specific.c which probably makes no sense.

 

hth.

QuoteReplyEditDelete

 

 

2010-02-22 04:26:18     Re: VLC build hacks

Yi Li (CHINA)

Message: 86312   

 

Peter,

 

What is the toolchain version you are using?

 

-Yi

QuoteReplyEditDelete

 

 

2010-02-22 13:47:22     Re: VLC build hacks

Peter Naulls (UNITED STATES)

Message: 86335   

 

As with ffmpeg:

 

/opt/uClinux/bfin-uclinux/bin/bfin-uclinux-gcc --version          

bfin-uclinux-gcc (ADI-09r1-10) 4.3.3     

 

Thanks.

Attachments

    Outcomes