/usr/local/lib/libxvidcore.a(qpel_mmx.o) relocation can not be used when making

Started by easi_k, January 26, 2016, 09:15:28 PM

Previous topic - Next topic

easi_k

Hi,

while trying to compile my own avidemux this error has been thrown while making common plugins:
Quote
/usr/bin/ld: /usr/local/lib/libxvidcore.a(qpel_mmx.o): relocation R_X86_64_PC32 against symbol `xvid_FIR_14_3_2_1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [ADM_videoEncoder/xvid4/libADM_ve_xvid4.so] Error 1

any idea what is wrong?

My setup:
avidemux_2.6.10
gcc version 4.8.4
libxvidcore.a comes from source I have compiled earlier, have no idea what version it is

Thanks

Jan Gruuthuse

dpkg -l libxvidcore*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                        Version            Architecture       Description
+++-===========================-==================-==================-===========================================================
ii  libxvidcore-dev:amd64       2:1.3.2-9ubuntu1   amd64              Open source MPEG-4 video codec (development)
ii  libxvidcore4:amd64          2:1.3.2-9ubuntu1   amd64              Open source MPEG-4 video codec (library)


If you have none of the above installed:
install: sudo apt-get update && sudo apt-get install ]libxvidcore4
try again, if still not working:
install sudo apt-get update && sudo apt-get install libxvidcore-dev

report back

easi_k

Hello,

I have these installed:
easi@vasil:/tmp/avidemux_2.6.10/buildPluginsCommon$ dpkg -l libxvidcore*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                           Version                      Architecture                 Description
+++-==============================================-============================-============================-=================================================================================================
ii  libxvidcore-dev:amd64                          2:1.3.2-9ubuntu1             amd64                        Open source MPEG-4 video codec (development)
ii  libxvidcore4:amd64                             2:1.3.2-9ubuntu1             amd64                        Open source MPEG-4 video codec (library)



However libxvidcore.a installed by the package is located at /usr/lib/x86_64-linux-gnu/libxvidcore.a. In the build log I can see it's trying to use library from /usr/local/lib/libxvidcore.a.
I have tried to rename /usr/lib/x86_64-linux-gnu/libxvidcore.a and link it to /usr/lib/x86_64-linux-gnu/libxvidcore.a, but had not helped. Even the error is same. Have also tried to add param -fPIC to makefile section of libADM_ve_xvid4. Then error had changed to:

make[2]: Entering directory `/tmp/avidemux_2.6.10/buildPluginsCommon'
make[2]: *** No rule to make target `/usr/local/lib/libxvidcore.a', needed by `ADM_videoEncoder/xvid4/libADM_ve_xvid4.so'.  Stop.
make[2]: Leaving directory `/tmp/avidemux_2.6.10/buildPluginsCommon'
make[1]: *** [ADM_videoEncoder/xvid4/CMakeFiles/ADM_ve_xvid4.dir/all] Error 2
make[1]: Leaving directory `/tmp/avidemux_2.6.10/buildPluginsCommon'
make: *** [all] Error 2




mean

It cannot use a static lib (xvidcore.a) to build the plugin (libADM_vidEncXvid.so)
It will work if it can use the dynamic lib i.e. libxvidcore.so

easi_k

Great,
but how can I tell to use dynamic library? I have both Installed in /usr/lib/x86_64-linux-gnu/. For some reason linker is looking for libs in /usr/local/lib where dynamic library might be missing. I will check, try to link /usr/lib/x86_64-linux-gnu/libxvidcore.so to /usr/local/lib and update later.
Thanks for help!


easi_k

Hi Guys,

so I have tried to link /usr/lib/x86_64-linux-gnu/libxvidcore.so to /usr/local/lib; make clean; make on plugins with no effect. I have decided to remove whole dir and unpack it again from fresly downloaded source and build is done with no error.

Anyway thanks for help!