← Back to team overview

mythbuntu-bugs team mailing list archive

[Bug 684941] Re: libmythtv-0.24-0 violates -fPIC policy

 

I've forced -fPIC on as much of the build as possible.

---------------------
>-fPIC support<
---------------------
The builds do have --enable-pic passed to them which should enable -fPIC where 
applicable.  There are certain portions of the ffmpeg code that intentionally
disable this functionality though. The same libraries in the 'ffmpeg' 
package don't have -fPIC either.

These are all caused by inline assmebly referring to absolute memory on 
x86/x86_64 that matches on MMX flags.
On other architectures this code will not be compiled.

libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavcodec.so.52.86.1
 - mythtv/external/FFmpeg/libavcodec/x86/vp8dsp-init.c
 - ff_vp8dsp_init_x86

libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythpostproc.so.51.2.0
 - mythtv/external/libpostproc/postprocess.c
 - pp_get_mode_by_name_and_quality

libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythswscale.so.0.11.0
 - libswscale/utils.c
 - sws_rgb2rgb_init
 - sws_getCachedContext
 - sws_getDefaultFilter


** Changed in: mythtv (Ubuntu)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Mythbuntu
Bug Team, which is subscribed to mythtv in ubuntu.
https://bugs.launchpad.net/bugs/684941

Title:
  libmythtv-0.24-0 violates -fPIC policy

Status in “mythtv” package in Ubuntu:
  Fix Committed

Bug description:
  Binary package hint: mythtv

In reviewing the mythtv binaries in the NEW queue, I came across these lintian errors:

$ lintian libmyth-0.24-0_0.24.0+fixes27305-0ubuntu1_i386.deb:
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmyth-0.24.so.0.24.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavcodec.so.52.86.1
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavcore.so.0.6.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavdevice.so.52.2.1
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavfilter.so.1.37.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavformat.so.52.78.3
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythavutil.so.50.24.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythhdhomerun-0.24.so.0.24.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythlivemedia-0.24.so.0.24.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythpostproc.so.51.2.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythswscale.so.0.11.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythtv-0.24.so.0.24.0
E: libmyth-0.24-0: shlib-with-non-pic-code usr/lib/libmythui-0.24.so.0.24.0

This is in violation of section 10.2 of the Ubuntu Policy manual (http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-files.html#s-libraries):
"If the package is _architecture: any_, then the shared library compilation and linking flags must have `-fPIC', or the package shall not build on some of the supported architectures.  Any exception to this rule must be discussed on the mailing list ubuntu-devel@xxxxxxxxxxxxxxxx, and a rough consensus obtained.  The reasons for not compiling with `-fPIC' flag must be recorded in the file `README.Debian', and care must be taken to either restrict the architecture or arrange for `-fPIC' to be used on architectures where it is required."





References