Bug#837423: jack-audio-connection-kit: Please build libjack.a with -fPIC

Balint Reczey balint at balintreczey.hu
Sun Sep 11 13:44:57 UTC 2016


Source: jack-audio-connection-kit
Version: 1:0.124.1+20140122git5013bed0-3
Severity: important
User: balint at balintreczey.hu
Usertags: pie-bindnow-20160906
Justification: makes espeakup FTBFS on amd64 with extra hardening
Affects: espeakup

Dear Maintainers,

During a rebuild of all packages in sid, espeakup failed to build on
amd64 with patched GCC and dpkg. The root cause seems to be that
libjack.a is shipped as a non-PIC library.

The rebuild tested if packages are ready for a transition
enabling PIE and bindnow for amd64.

For more information about the changes to sid's dpkg and GCC please
visit:
 https://wiki.debian.org/Hardening/PIEByDefaultTransitio

Relevant part of espeakup's build log:
...
cc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong
-Wformat -Werror=format-secur
ity -Os -MMD -Wall   -c -o stringhandling.o stringhandling.c
cc -u _Unwind_Resume -u __gcc_personality_v0 -u _Unwind_ForcedUnwind -u
_Unwind_GetCFA -u _Unwind_GetB
SP -lgcc_s  espeakup.o cli.o espeak.o queue.o signal.o softsynth.o
stringhandling.o  /usr/lib/x86_64-l
inux-gnu/libespeak.a /usr/lib/x86_64-linux-gnu/libsonic.a
/usr/lib/x86_64-linux-gnu/libportaudio.a /us
r/lib/x86_64-linux-gnu/libjack.a -lm -lpthread -lasound -lrt -o espeakup
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_front.o):
relocation R_X86_64_32 against `.ro
data.str1.8' can not be used when making a shared object; recompile with
-fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_unix_util.o):
relocation R_X86_64_32 against
`.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_linux_alsa.o):
relocation R_X86_64_32 against
 `.rodata.str1.8' can not be used when making a shared object; recompile
with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_jack.o):
relocation R_X86_64_32 against `.rod
ata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_unix_oss.o):
relocation R_X86_64_32 against `.rodata.str1.8' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_converters.o):
relocation R_X86_64_32S against `.rodata' can not be used when making a
shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_cpuload.o):
relocation R_X86_64_32 against `.rodata' can not be used when making a
shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libportaudio.a(pa_process.o):
relocation R_X86_64_32 against `.rodata' can not be used when making a
shared object; recompile with -fPIC
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libjack.a(libjack_la-client.o):
relocation R_X86_64_32 against `.rodata.str1.1' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld:
/usr/lib/x86_64-linux-gnu/libjack.a(libjack_la-messagebuffer.o):
relocation R_X86_64_32S against `.bss' can not be used when making a
shared object; recompile with -fPIC
/u
...

The full build log is available from:
https://people.debian.org/~rbalint/build-logs/pie-bindnow-20160906/espeakup_0.80-1_amd64.build.gz

Thanks,
Balint


-------------- next part --------------
A non-text attachment was scrubbed...
Name: binutils_2.27-8+rbalint0.patch
Type: text/x-patch
Size: 1876 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160911/d1f0deaa/attachment.bin>


More information about the pkg-multimedia-maintainers mailing list