|
From: Thomas M. <mat...@ph...> - 2016-03-03 22:36:36
|
Where/how can I find a list of dependencies that could be
statically linked into the gnuplot binary on the build machine,
so I wouldn't have to distribute the libraries?
Where/when do I do the --enable-static and --disable-shared ?
When building gnuplot? When (re-)building the libraries?
I'm not sure what you are recommending for cases where
I can't do a static link.
Are you saying that I should make an /opt/gnuplot directory
on the build machine, put the required dynamic libraries there,
and tell the gnuplot build that the libraries are in /opt/gnuplot?
How would I do that?
Then in addition to the rsync of the tree that comes out of
the gnuplot "make DESTDIR=/tmp/gnuplot install" , I would also
presumably need to copy the /opt/gnuplot directory onto the
destination machine.
And your point is that the dynamic libraries in /opt/gnuplot
are less likely to get clobbered than if they are in their
"standard" places?
On 2016-03-03, at 1:21 PM, Mojca Miklavec wrote:
> On 3 March 2016 at 21:56, Thomas Mattison wrote:
>>
>> So the lesson is that Aquaterm needs to be on the build machine before the build.
>
> Yes. You need all dependencies present on the machine where you build
> gnuplot (and all those dependencies have to be either included as
> static libraries or have to be present on the destination).
>
>> Any idea what is going on, or advice?
>
> I'm not sure how exactly you installed the libraries.
>
> If you want to do this properly, you should better build all the
> dependencies yourself, ideally as static libraries. And you need to
> know which files exactly to copy to the destination machine (so that
> gnuplot keeps working). Again, do yourself and your students a favour
> and install the libraries to /opt/gnuplot rather than /usr/local.
> Please. You should set ./configure --prefix=/opt/gnuplot for every
> dependency. And probably something like --enable-static
> --disable-shared. Just make the final symlink from
> /usr/local/bin/gnuplot to /opt/gnuplot/bin/gnuplot. If you'll install
> things to /usr/local, students will sooner or later run into troubles.
> (Let's say that your colleague [or some other project that can be
> downloaded from web] comes to a similar idea and decides to offer
> students some other software compiled in the same way using a
> different version of one of the same libraries. Then gnuplot would
> stop working or start crashing if both scripts install to the same
> location.)
>
> If you have your dynamic libraries installed at
> /Users/mattison/anaconda/include/freetype2
> then gnuplot most likely won't work unless your students install the
> files to exactly the same location (or if you set up everything very
> very carefully and properly and run install_name_tool to change
> location of libraries).
>
> Mojca
Cheers
Prof. Thomas Mattison Hennings 276
University of British Columbia Dept. of Physics and Astronomy
6224 Agricultural Road Vancouver BC V6T 1Z1 CANADA
mat...@ph... phone: 604-822-9690 fax:604-822-5324
|