gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] CMake build system progress


From: Felix Salfelder
Subject: Re: [Gnucap-devel] CMake build system progress
Date: Sat, 24 May 2014 17:12:23 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Hi Kevin.

On Sat, May 24, 2014 at 09:24:29AM -0500, Kevin Zheng wrote:
> Thanks for taking a careful look. There were some details I missed. In
> short, the concerns you addressed should have been fixed in fc349da.
> Please test and send me more complaints.

it looks more straightforward now, even -ui is gone :)
but there's still something wrong...

$ cmake --version
cmake version 2.8.12.1
$ mkdir cmake_build; cd cmake_build
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/tmp/cgc ..
$ make

first, the situation before "make install".

$ chrpath main/gnucap
main/gnucap: RPATH=/home/felix/extern/gnucap-upstream/cmake_build/lib:

this looks good, apparently cmake knows that gnucap is linked against
something within lib/*

$ chrpath lib/libgnucap.so
lib/libgnucap.so: no rpath or runpath tag found.

this is suboptimal, libgnucap.so should know where to load plugins from.
as a consequence, i get

$ main/gnucap
[..]
load libgnucap-default-plugins.so
     ^ ? libgnucap-default-plugins.so: cannot open shared object file:
[..]

it's important that gnucap ran-from-builddir explicitly and forcefully
picks up plugins from builddir (by default). anything else will cause
trouble.

now the situation after "make install", prefix is /tmp/cgc.
$ chrpath /tmp/cgc/bin/gnucap
/tmp/cgc/bin/gnucap: no rpath or runpath tag found.

suboptimal and gives

$ ldd /tmp/cgc/bin/gnucap
        linux-vdso.so.1 (0x00007fff82bff000)
        libgnucap.so => not found
        [..]

and
$ chrpath /tmp/cgc/lib/x86_64-linux-gnu/libgnucap.so
/tmp/cgc/lib/x86_64-linux-gnu/libgnucap.so: no rpath or runpath tag found.

is suboptimal, leads to

$ LD_LIBRARY_PATH=/tmp/cgc/lib/x86_64-linux-gnu /tmp/cgc/bin/gnucap
[..]
load libgnucap-default-plugins.so
     ^ ? libgnucap-default-plugins.so: cannot open shared object file: No such 
file or directory
[..]

as it seems, automake adds more runpaths by default. but not all.
particularly i had to add RUNPATH for libgnucap.so manually. somehow
this makes sense, as long as the build system does not know about
plugins and what is supposed to dlopen them. i am curious if cmake has
better support for this.

cheers
felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]