PDA

View Full Version : [ubuntu] ./configure not finding things



spongemonkey
November 20th, 2009, 05:11 PM
Hi guys, did a lot of googling before coming here, but i've lost patience for the time being...

I'm trying to install a few things from source on my new karmic box, namely x264, ffmpeg and mplayer

I can install x264 fine (i think), using


./configure --enable-shared
make
sudo make install
make distclean
sudo lgconfig


Then i go to configure ffmpeg, disabling vdpau (i'd like to have it, and with mplayer, but i think thats probably a whole other thread...)


./configure --disable-vdpau

I guess i should prob have --enable-shared in there as well, but anyway, configure returns


libx264 enabled no

as does mplayer:


Checking for x264 ... no (in libavcodec: no)

what am i doing wrong?

Many thanks

andrew.46
November 20th, 2009, 10:02 PM
Hi spongemonkey,

You might find it a little easier working your way through 2 of the guides on these forums:

HOWTO: Install and use the latest FFmpeg and x264
http://ubuntuforums.org/showthread.php?t=786095

and:

Howto: Utilise the svn MPlayer to Improve Karmic Koala's 'mplayer-nogui' Package
http://ubuntuforums.org/showthread.php?t=1305181


Andrew

spongemonkey
November 21st, 2009, 12:56 AM
Hi andrew,

After following the mplayer guide, make reports this after some work


libavcodec/libavcodec.a(allcodecs.o): In function `avcodec_register_all':
allcodecs.c:(.text+0x7d): undefined reference to `bmp_encoder'
allcodecs.c:(.text+0xcd): undefined reference to `dnxhd_encoder'
allcodecs.c:(.text+0x195): undefined reference to `flashsv_encoder'
allcodecs.c:(.text+0x1e5): undefined reference to `gif_encoder'
allcodecs.c:(.text+0x1f9): undefined reference to `h261_encoder'
allcodecs.c:(.text+0x27b): undefined reference to `jpegls_encoder'
allcodecs.c:(.text+0x299): undefined reference to `ljpeg_encoder'
allcodecs.c:(.text+0x2c1): undefined reference to `mjpeg_encoder'
allcodecs.c:(.text+0x39d): undefined reference to `pam_encoder'
allcodecs.c:(.text+0x3b1): undefined reference to `pbm_encoder'
allcodecs.c:(.text+0x3c5): undefined reference to `pcx_encoder'
allcodecs.c:(.text+0x3d9): undefined reference to `pgm_encoder'
allcodecs.c:(.text+0x3ed): undefined reference to `pgmyuv_encoder'
allcodecs.c:(.text+0x415): undefined reference to `ppm_encoder'
allcodecs.c:(.text+0x447): undefined reference to `qtrle_encoder'
allcodecs.c:(.text+0x45b): undefined reference to `rawvideo_encoder'
allcodecs.c:(.text+0x479): undefined reference to `roq_encoder'
allcodecs.c:(.text+0x497): undefined reference to `rv10_encoder'
allcodecs.c:(.text+0x4ab): undefined reference to `rv20_encoder'
allcodecs.c:(.text+0x4d3): undefined reference to `sgi_encoder'
allcodecs.c:(.text+0x523): undefined reference to `svq1_encoder'
allcodecs.c:(.text+0x541): undefined reference to `targa_encoder'
allcodecs.c:(.text+0x573): undefined reference to `tiff_encoder'
allcodecs.c:(.text+0x5c3): undefined reference to `v210_encoder'
allcodecs.c:(.text+0x663): undefined reference to `wmv2_encoder'
allcodecs.c:(.text+0x69f): undefined reference to `zlib_encoder'
allcodecs.c:(.text+0x6b3): undefined reference to `zmbv_encoder'
allcodecs.c:(.text+0x6d1): undefined reference to `ac3_encoder'
allcodecs.c:(.text+0x6e5): undefined reference to `alac_encoder'
allcodecs.c:(.text+0x749): undefined reference to `flac_encoder'
allcodecs.c:(.text+0x78f): undefined reference to `mp2_encoder'
allcodecs.c:(.text+0x7d5): undefined reference to `nellymoser_encoder'
allcodecs.c:(.text+0x875): undefined reference to `vorbis_encoder'
allcodecs.c:(.text+0x89d): undefined reference to `wmav1_encoder'
allcodecs.c:(.text+0x8b1): undefined reference to `wmav2_encoder'
allcodecs.c:(.text+0xaaf): undefined reference to `roq_dpcm_encoder'
allcodecs.c:(.text+0xae1): undefined reference to `adpcm_adx_encoder'
allcodecs.c:(.text+0xc35): undefined reference to `dvbsub_encoder'
allcodecs.c:(.text+0xc49): undefined reference to `dvdsub_encoder'
allcodecs.c:(.text+0xc67): undefined reference to `xsub_encoder'
allcodecs.c:(.text+0xc85): undefined reference to `libmp3lame_encoder'
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1


haven't tried ffmpeg yet, I'm hoping that mplayer will detect x264 on configure after I do.

spongemonkey
November 21st, 2009, 01:16 AM
Just followed the x264 guide and then ffmpeg, and I still get


libx264 enabled no

in ffmpeg.

I've just started learning how all this works, but how come --enable-shared isn't flagged in the configure of x264, doesn't that create a lib that is then useable by other programs or something like that?

Continued thanks :)

andrew.46
November 21st, 2009, 05:21 AM
Hi spongemonkey,

I have just now successfully compiled the following:


andrew@skamandros:~/Desktop$ mplayer | head -n 1
MPlayer SVN-r29940-4.3.4 (C) 2000-2009 MPlayer Team

so perhaps you have attempted a previous revision that was broken. Best bet is to return to the MPlayer source and run first make distclean and then svn up followed by recompilation. As regards x264 the option --disable-mencoder will mean that the ./configure process will not pick up the x264 libraries.

All the best,

Andrew

spongemonkey
November 21st, 2009, 04:32 PM
Think I have it working now, x264 still isn't found when configuring ffmpeg though (I didn't explicitly flag it, it's best to let things be autodetected right? then disable things you don't want?).

Just in terms of my learning, is


./configure --enable-shared (possible disabled options)
make
sudo make install
make distclean
sudo lgconfig

the general correct procedure for installing things from source? Was I correct in what I was saying about --enable-shared and libs in my previous post?

I'm guessing if things aren't being autodetected the list of things to check would be

The thing isn't installed
--enable-shared wasn't specified / ldconfig wasn't updated
The either the program rev which you are installing or that which isn't being autodetected is a bit messed up and needs to be updated / rolled-back
...something else?


Thanks for all your help

FakeOutdoorsman
November 21st, 2009, 08:29 PM
Think I have it working now, x264 still isn't found when configuring ffmpeg though

When configuring FFmpeg you will need to tell it to --enable-libx264. Also, if you --enable-shared in x264, and are on a x86_64 system, you will also need to --enable-shared on FFmpeg...I think. I can't confirm this because I have old hardware. After FFmpeg is installed with --enable-shared, you will need to run sudo ldconfig to update the links to the shared libraries.