Fedora rpm package
|Found in version:||x86_64||Affected Versions:|
I tried creating my own package based on yesterday's git. However I get an error (on x86_64). It's the same issue that is also visible in the dani/tvheadend copr site:
/usr/bin/ld: /builddir/build/BUILD/tvheadend-0916e527fe5899ed9d9095666419689c37f90ca1/libav_static/build/ffmpeg/lib/libavresample.a(options.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/builddir/build/BUILD/tvheadend-0916e527fe5899ed9d9095666419689c37f90ca1/libav_static/build/ffmpeg/lib/libavresample.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:520: recipe for target '/builddir/build/BUILD/tvheadend-0916e527fe5899ed9d9095666419689c37f90ca1/build.linux/tvheadend' failed
make: *** [/builddir/build/BUILD/tvheadend-0916e527fe5899ed9d9095666419689c37f90ca1/build.linux/tvheadend] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.dELHrI (%build)
A rapid check on this error on google point to the libvpx configuration (not being compiled with --enable-shared vs ffmpeg being compiled with).
If this is really the issue, what prevents libvpx to be compiled with enable-shared?
#1 Updated by Daniele Viganò almost 2 years ago
Yes, I have the same error on Fedora 23 (but not on Fedora 22). Now I've made a build on COPR (based on today git) with static ffmpeg disabled, to allow me having an RPM for the released Fedora 23. I had a look at Makefile.ffmpeg but everything is build as static, so I don't understand where the problem comes from. I'll try to compile with -fPIC.
#2 Updated by Daniele Viganò almost 2 years ago
It looks like that the build fails on F23 because some changes that have been made about standard compilation flags: https://fedoraproject.org/wiki/Changes/Harden_All_Packages
This PR should solve the issue for now: https://github.com/tvheadend/tvheadend/pull/751
A set of packages are building on my COPR.