|
From: <pl...@pi...> - 2016-03-04 01:54:37
|
On 03/03/16 22:36, Thomas Mattison wrote: > 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 > > The conversion on this list is not to top post replies ;) As I said in my last reply look at ./configure --help You can set loads of things from there. If you want to install the /opt/gnuplot/ you have options to do that. Peter. |