[SOLVED] Cinder with arch

Hi!
I’m trying to use cinder on arch linux.
I build cinder with clang and cmake.
All dependencies found gstreamer version >= 5.1 so use cxx11 (maybe it helps).
Cinder builds without errors.
[100%] Build target cinder.

But when i try to build BasicApp or some other sample it builds but on link
.path to cinder/Cinder/lib/linux/x86_64//libboost_system.a(error_code.o): relocation R_X86_64_32 against `.rodata.str1.1’ can not be used whan making a shared object; recompile with -fPIC

also libboost_filesystem.a

Where i need to add -fPIC args or what?
Thanks.

Hey,

Have you compiled Cinder as a shared lib ( i.e cmake .. -DBUILD_SHARED_LIBS=1 ) by any chance? This error will pop usually when trying to build Cinder as a shared lib on Linux where the boost precompiled libs that ship with Cinder should be re-compiled with the -fPIC flag.

In any case I would suggest to try and install a system wide version of boost-system and boost-filesystem with pacman, completely remove the boost submodule that comes with Cinder and is located under the include dir and then reconfigure and build Cinder with cmake .. -DCINDER_BOOST_USE_SYSTEM=1 && make.

HTH,
Petros

1 Like

I build cinder with cmake …

but recompile with DCINDER_BOOST_USE_SYSTEM=1 helps
Big thanks!