Stephen wrote:
> I'm trying to compile the GStreamer ffmpeg plugin on OpenSolaris 2008.05
> snv_86 (I don't have net access due to hardware issues, not out of
> choice :( ) and have already installed all the other plugin modules
> (base, good, bad and ugly) without any issues, but am getting the following:
>
> Leviathan% ./configure --prefix=/usr
> checking for a BSD-compatible install... /usr/bin/ginstall -c
> checking whether build environment is sane... yes
> ####All goes well for a while####
> config.status: executing libtool commands
> === configuring in gst-libs/ext/ffmpeg
> (/export/home/stephen/Desktop/gst-ffmpeg-0.10.6/gst-libs/ext/ffmpeg)
> configure: running /bin/sh ./configure '--prefix=/usr'
> '--disable-vhook' '--disable-ffserver' '--disable-ffplay'
> '--enable-postproc' '--enable-swscale' '--enable-gpl' '--enable-static'
> '--enable-shared' '--disable-encoder=flac' '--disable-decoder=cavs'
> '--disable-protocols' '--disable-devices' '--disable-network' 'no'
> --cache-file=/dev/null --srcdir=.
> Unknown option "no".
> See ./configure --help for available options.
> Unknown option "--cache-file=/dev/null".
> See ./configure --help for available options.
> Unknown option "--srcdir=.".
> See ./configure --help for available options.
> ./configure[20141]: eval: line 1: 12254: Terminated
> configure: error: ./configure failed for gst-libs/ext/ffmpeg
>
> Can anyone enlighten me as to what's happening?
> _______________________________________________
> desktop-discuss mailing list
> desktop-discuss at opensolaris.org
>
>
There are a few things you need to do to get gst-ffmpeg compiled on
OpenSolaris.
I'm not certain this process is "good practice" but it has worked for me.
Firstly "configure" for FFMPEG on Open/Solaris only appears to work if
you run it using "bash".
I renamed /usr/bin/sh to /usr/bin/sh.solaris and created a symlink to
/usr/bin/sh -> /usr/bin/bash, ie (as root)
cd /usr/bin
mv sh sh.solaris
ln -s bash sh
You will also need to use
gsed instead of sed
gld instead of ld
ggrep instead of grep
From the gst-ffmpeg source directory create symlinks to these, ie (as user)
ln -s /usr/bin/gld ld
ln -s /usr/bin/gsed sed
ln -s /usr/bin/ggrep grep
Also make one for ginstall (as user)
ln -s /usr/bin/ginstall install
Add the ffmpeg-source directory to the start of your PATH (as user)
export PATH=<gst-ffmpeg-source-dir>:$PATH
Now the tricky part. You need to use /usr/bin/ld when running configure
but switch to gld when running gmake.
I did on my system anyway and I think it's related to LAME.
To use gld instead of ld you'll need to rename /usr/bin/ld to something
like /usr/bin/ld.solaris (gcc will still use ld even if the symlink to
gld is in the path first). So before we change ld run (as user)
./configure .....
Before running gmake (as root)
cd /usr/bin
mv ld ld.solaris
Now build (as user)
gmake
During gmake, you'll get undefined symbols in libnsl (I think). Switch
back to ld by renaming /usr/bin/ld.solaris back to /usr/bin/ld and
continuing the build with gmake. It should go all the way through, ie.
(as root)
cd /usr/bin
mv ld.solaris ld
Then (as user)
gmake
This worked for me. Don't ask me why I needed to do all this, I'm still
learning too.
Good luck.
BTW, TOTEM segfaults when trying to view x264/h264 content (using the
gst-ffmpeg plugin). Don't know why. Might be the process I use to
build ;-)
p.s. Don't forget to rename /usr/bin/sh and /usr/bin/ld back to normal.