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: (T=/tmp/proj-4.9.1) perl Makefile.PL \ LINSTALL_BASE="$T" \ INC="-I$T/include" \ LIB="-L$T/lib64" 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 libproj.so.9 upto libproj.so.15 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, MarkOv ------------------------------------------------------------------------ Mark Overmeer MSc MARKOV Solutions m...@overmeer.net soluti...@overmeer.net http://Mark.Overmeer.net http://solutions.overmeer.net