Skip to content

Fix support for static linking

Andoni Morales Alastruey requested to merge ylatuya/cerbero:static-build into master

Make sure that autotools and cmake projects are configured with PIC so that they can be linked statically.

This fixes the following linker issues:

dist/linux_x86_64/lib/libkate.a(lib_libkate_la-kate.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libopus.a(opus_multistream_encoder.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libsoup-2.4.a(libsoup_2_4_la-soup-auth.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libwavpack.a(libwavpack_la-common_utils.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libtag.a(id3v2framefactory.cpp.o): relocation R_X86_64_32S against `_ZTVN6TagLib5ID3v212FrameFactoryE' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libspeex.a(speex.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libvorbisenc.a(vorbisenc.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libtheoradec.a(decinfo.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libtiff.a(tif_close.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libjpeg.a(jcapimin.o): relocation R_X86_64_32S against `jpeg_natural_order' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libcairo-gobject.a(libcairo_gobject_la-cairo-gobject-structs.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libharfbuzz.a(libharfbuzz_la-hb-buffer.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libfontconfig.a(fccfg.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libexpat.a(xmlparse.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libfreetype.a(ftinit.o): relocation R_X86_64_32 against `tt_driver_class' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libpng16.a(png.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libpixman-1.a(pixman.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libxml2.a(entities.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libgnutls.a(record.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libgmp.a(pprime_p.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
dist/linux_x86_64/lib/libtasn1.a(coding.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
Edited by Andoni Morales Alastruey

Merge request reports