The current c++ build forces static libraries, based on my previous painful experience with shared libraries on distributed systems. That said, going forward the automated configuration tools are much better. I'd we want to enable shared libraries, we can do that.
On Jan 15, 2019, at 10:10, Korry Douglas <firstname.lastname@example.org
Thanks for the quick reply, Zhiyuan.
I’ve tried your suggestion (that was how I expected the process to work), but I get an error when I do that:
/usr/local/lib/libprotobuf.a(arena.cc.o): relocation R_X86_64_TPOFF32 against symbol `_ZN6google8protobuf8internal9ArenaImpl13thread_cache_E' can not be used when making a shared object; recompile with -fPIC
So the link fails. (I *do* compile my .cc files with -fPIC.)
This my personal $0.02.
I have been able to use the default settings there building various supporting *.a files in linux Ubuntu and CentOS. Then I build C++ functions into my own written *.so file which is then linked to various *.a files... And the *.so that calls the orc functionalities in C++ works fine.
Hope this helps a little bit.
On Tue, Jan 15, 2019 at 8:40 AM Korry Douglas <email@example.com
As an alternative - is there somewhere I can find binary packages for liborc (RPMs) ?
> On Jan 14, 2019, at 7:17 PM, Korry Douglas <firstname.lastname@example.org> wrote:
> Hi all, I am trying to build a shared library that links to liborc (the C++ API). However, the Makefiles are all set up to build .a files instead of .so files.
> I’ve figured out how to modify the CMakeLists.txt file to add the -fPIC CFLAG (although I don’t really like editing that file by hand). However, there are many related libraries that seem to be downloaded from various URL’s and those libraries are not compiled with -fPIC.
> Any suggestions? Thanks in advance.
> — Korry
Zhiyuan Dong, Ph.D.