How to configure LD_RUN_PATH?

Hi list,

I have a complex issue to fix, try to solve one issue at a time...

I need to upgrade my XS wrapper in Geo::Proj4.  It wraps the 'proj'
library for geographical projections, which hadn't changed its interface
(and version number) for about 25 years!

But now, new developers have release a Proj5 and Proj6, soon to be followed
by a Proj7.  Those releases break interface on every aspect: different
header files, different C-type names, different C-functions, different
usage... only the purpose of the library stays the same.
I try to add sufficient abstraction to hide the differences between those
versions.  In Perl space, I expect that will be easier than in C space.

Problem 1:
The first problem is to build a set-up for regression tests.  I build
all released versions of the library in a separate directory, recompile
my module, and then run the regression tests.  I run something like this:

   perl Makefile.PL         \
      LINSTALL_BASE="$T"    \
      INC="-I$T/include"    \

But this leaves LD_RUN_PATH in the Makefile to /usr/lib/../lib64
When I manually change that into $T/lib64 it starts working.  I am
unable to figure-out how to influence LD_RUN_PATH.  Anyone?

Problem 2:
Because of the changing incompatible library versions, I would like
to get to a Geo::Proj5 and Geo::Proj6, which may be available in
parallel on the system... as upto
The newer version is not only better than the older, but incompatible:
old applications still need to be runnable.

Does anyone have an example how to figure-out which library versions
are available... and how to compile my Proj4.xs multiple times?
Thanks in advance,


       Mark Overmeer MSc                                MARKOV Solutions                         
5/31/2019 10:32:47 AM
perl.makemaker 857 articles. 0 followers. Follow

0 Replies

Similar Articles

[PageSpeed] 45