Can't Compile

Greetings,
I'm using opensuse 12.3.
When I try to compile MOC v2.5 I get the following error:

collect2: error: ld returned 1 exit status
make[3]: *** [libffmpeg_decoder.la] Error 1
make[3]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/ffmpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0'
make: *** [all] Error 2

I have ffmpeg installed and ffmpeg-devel. What am I missing?

There isn't enough information here to identify the cause of the problem. There should have been some more specific error messages prior to the first one you've listed, maybe in some log file to which your build script redirects output.

I believe all the make output goes to screen: Here is the whole output:

make all-recursive
make[1]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0'
Making all in themes
make[2]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/themes'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/themes'
Making all in decoder_plugins
make[2]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins'
Making all in vorbis
make[3]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/vorbis'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/vorbis'
Making all in flac
make[3]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/flac'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/flac'
Making all in ffmpeg
make[3]: Entering directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/ffmpeg'
/bin/sh ../../libtool --tag=CC --mode=link gcc -I/usr/local/include -I../.. -pthread -g -O2 -Wall -W -I/usr/include/alsa -module -avoid-version -o libffmpeg_decoder.la -rpath /usr/local/lib64/moc/decoder_plugins libffmpeg_decoder_la-ffmpeg.lo -pthread -L/usr/local/lib -lavformat -lavcodec -ldl -lasound -lbz2 -lz -lavutil -lm -lm -ljack -ldb
libtool: link: gcc -shared .libs/libffmpeg_decoder_la-ffmpeg.o -L/usr/local/lib -lavformat -lavcodec -ldl -lasound -lbz2 -lz -lavutil -lm -ljack -ldb -pthread -pthread -pthread -Wl,-soname -Wl,libffmpeg_decoder.so -o .libs/libffmpeg_decoder.so
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_a64_muxer' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavformat.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[3]: *** [libffmpeg_decoder.la] Error 1
make[3]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins/ffmpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0/decoder_plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/installs/iomari/Downloads/20150104/moc-2.5.0/moc-2.5.0'
make: *** [all] Error 2
Press any key to continue...

So the error is:

<br /> ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_a64_muxer' can not be used when making a shared object; recompile with -fPIC<br /> /usr/local/lib/libavformat.a: could not read symbols: Bad value<br />

For some reason, '-fPIC' does not get set on your system but you can do so manually by prepending 'CFLAGS=-fPIC' to your configure command.

AFAIK SUSE doesn't install in /usr/local/. So your compile options should point to

configure --prefix=/usr ..........

moc's default is /usr/local ....as usual.

--
Elimar

OpenSuse and Fedora have similar procedures for building RPMs.
A good starting point could be the source rpm package from RPMFusion:
http://download1.rpmfusion.org/free/fedora/releases/21/Everything/source/SRPMS/moc-2.6-0.3.alpha1.fc21.src.rpm