Postby ramprasad85 » 30 Oct 2008 16:56
I just retyped --disable-pulse in my config.vlc
it worked. i was surprised.
then I had to add few a more --disable s.
my config-vlc.sh files is like this
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ramprasad/x264_win \
X264_LIBS= \
CXXCPP=i586-mingw32msvc-cpp \
CC="ccache i586-mingw32msvc-gcc" \
CXX=i586-mingw32msvc-g++ \
./configure -C \
--host=i586-mingw32msvc --build=i386-linux \
--disable-gtk \
--disable-avcodec --disable-avformat --disable-swscale \
--disable-faad --disable-flac --disable-theora \
--disable-cddax --disable-vcdx --disable-goom \
--disable-twolame --disable-dvdread \
--disable-debug --disable-dca \
--disable-mkv --disable-taglib \
--disable-mad --disable-live555 \
--disable-postproc \
--disable-a52 \
--disable-libgcrypt \
--disable-remoteosd \
--disable-libcddb \
--disable-dvdnav \
--disable-pulse \
--disable-libmpeg2 \
--disable-optimizations \
--disable-sdl \
--disable-qt4 --disable-skins2 \
--disable-freetype \
--disable-gnutls \
--disable-bonjour \
--disable-atmo \
--disable-directx \
--enable-x264 --with-x264-tree=/home/ramprasad/x264_win
Now i am getting this error
make[5]: Leaving directory `/home/ramprasad/winvlc/modules/codec/xvmc'
make[5]: Entering directory `/home/ramprasad/winvlc/modules/codec'
/bin/sh ../../libtool --tag=CC --mode=link ccache i586-mingw32msvc-gcc -std=gnu99 `top_builddir="../.." ../../vlc-config --cflags plugin libx264_plugin.la` -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -pipe -rpath '/usr/local/lib/vlc/codec' -avoid-version -module -no-undefined -export-symbol-regex ^vlc_entry -shrext .dll `top_builddir="../.." ../../vlc-config --ldflags plugin libx264_plugin.la` -o libx264_plugin.la libx264_plugin_la-x264.lo `top_builddir="../.." ../../vlc-config -libs plugin libx264_plugin.la` ../../src/libvlccore.la -lmingw32
ccache i586-mingw32msvc-gcc -std=gnu99 -shared .libs/libx264_plugin_la-x264.o -L/usr/local/lib -lx264 -lpthread -L/home/ramprasad/x264_win ../../src/.libs/libvlccore.dll.a -lmingw32 -mms-bitfields -o .libs/libx264_plugin.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libx264_plugin.dll.a
/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/bin/ld: cannot find -lpthread
make[5]: *** [libx264_plugin.la] Error 1
make[5]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ramprasad/winvlc/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ramprasad/winvlc'
make: *** [all] Error 2
If i do --disable-x264 the compilation is SUCCESSFUL
But the whole purpose of me compiling VLC is to have my x264.
In x264 dir when i do ./configure i get
[ramprasad@localhost x264_win]$ ./configure
Platform: X86
System: LINUX
avis input: no
mp4 output: no
pthread: yes
gtk: no
debug: no
gprof: no
PIC: no
shared: no
visualize: no
You can run 'make' or 'make fprofiled' now.
so in x264 i did ./configure --disable-pthread and i got
[ramprasad@localhost x264_win]$ ./configure
Platform: X86
System: LINUX
avis input: no
mp4 output: no
pthread: no
gtk: no
debug: no
gprof: no
PIC: no
shared: no
visualize: no
You can run 'make' or 'make fprofiled' now.
but still i get the same error while compiling VLC.
is it possible to disable pthreads while configuring VLC?
I tried --disable-pthread in config-vlc.sh. configure accepted it. but i am still getting that error while doing make.
The x264 i am using works for Linux compilation but not for the one targeted for windows
Is it required to build x264 FOR windows?
After fighting with x264 for some time i did
./configure --host=i586-mingw32msvc --disable-avis-input --disable-pthread --extra-ldflags=-lm
but It says
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/dct-a.o common/i386/dct-a.asm
strip:common/i386/dct-a.o: File format not recognized
make: [common/i386/dct-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/cpu-a.o common/i386/cpu-a.asm
strip:common/i386/cpu-a.o: File format not recognized
make: [common/i386/cpu-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/pixel-a.o common/i386/pixel-a.asm
strip:common/i386/pixel-a.o: File format not recognized
make: [common/i386/pixel-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/mc-a.o common/i386/mc-a.asm
strip:common/i386/mc-a.o: File format not recognized
make: [common/i386/mc-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/mc-a2.o common/i386/mc-a2.asm
strip:common/i386/mc-a2.o: File format not recognized
make: [common/i386/mc-a2.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/predict-a.o common/i386/predict-a.asm
strip:common/i386/predict-a.o: File format not recognized
make: [common/i386/predict-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/pixel-sse2.o common/i386/pixel-sse2.asm
strip:common/i386/pixel-sse2.o: File format not recognized
make: [common/i386/pixel-sse2.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/quant-a.o common/i386/quant-a.asm
strip:common/i386/quant-a.o: File format not recognized
make: [common/i386/quant-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/deblock-a.o common/i386/deblock-a.asm
strip:common/i386/deblock-a.o: File format not recognized
make: [common/i386/deblock-a.o] Error 1 (ignored)
ar rc libx264.a common/mc.o common/predict.o common/pixel.o common/macroblock.o common/frame.o common/dct.o common/cpu.o common/cabac.o common/common.o common/mdate.o common/csp.o common/set.o common/quant.o encoder/analyse.o encoder/me.o encoder/ratecontrol.o encoder/set.o encoder/macroblock.o encoder/cabac.o encoder/cavlc.o encoder/encoder.o encoder/eval.o common/i386/mc-c.o common/i386/predict-c.o common/i386/dct-a.o common/i386/cpu-a.o common/i386/pixel-a.o common/i386/mc-a.o common/i386/mc-a2.o common/i386/predict-a.o common/i386/pixel-sse2.o common/i386/quant-a.o common/i386/deblock-a.o
ranlib libx264.a
gcc -o x264.exe x264.o matroska.o muxers.o libx264.a -lm -s
libx264.a(encoder.o): In function `x264_encoder_encode':
encoder.c:(.text+0x432e): undefined reference to `x264_stack_align'
libx264.a(mc.o): In function `x264_mc_init':
mc.c:(.text+0x1a23): undefined reference to `x264_mc_chroma_mmxext'
libx264.a(pixel.o): In function `x264_pixel_init':
pixel.c:(.text+0x5f19): undefined reference to `x264_pixel_ssd_16x16_mmx'
pixel.c:(.text+0x5f20): undefined reference to `x264_pixel_ssd_16x8_mmx'
pixel.c:(.text+0x5f27): undefined reference to `x264_pixel_ssd_8x16_mmx'
pixel.c:(.text+0x5f2e): undefined reference to `x264_pixel_ssd_8x8_mmx'
.
.
.
.
.
[many more undefined references]
Where have i gone wrong?
Thank you