I think your reply means that I am stuck…. my project must be a shared object (it’s an extension to PostgreSQL that is dynamically loaded as needed).

Is that correct?  Is there anything I can do to help build shared libraries?


             — Korry

On Jan 15, 2019, at 12:48 PM, Owen O'Malley <owen.omalley@gmail.com> wrote:

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. 

.. Owen

On Jan 15, 2019, at 10:10, Korry Douglas <korry@me.com> wrote:

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.)

             — Korry

On Jan 15, 2019, at 10:02 AM, Zhiyuan Dong <zhiyuan.dong@gmail.com> wrote:

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 <korry@me.com> wrote:
As an alternative - is there somewhere I can find binary packages for liborc (RPMs) ?

          — Korry

> On Jan 14, 2019, at 7:17 PM, Korry Douglas <korry@me.com> 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.