[LSST|dm-users 552] Re: Boost install error in eups on OS X Yosemite

Robert Lupton the Good rhl at astro.princeton.edu
Tue Feb 10 10:28:17 PST 2015


> Perhaps there is another step that could be added to David's second solution to make eups recognize an existing installation of boost

You probably don't really want to know this, but for the masochists...

Unfortunately it's a bit worse than that, as we also use the equivalent of pkg-config (the so-called .cfg files).   Should we?  Maybe not, that's a different question and one that we could profitably discuss.

To use a pre-existing installation you need to:
	1.  Find the proper .table and .cfg files
	2.  Declare your version (say XXX) to eups
	3.  Install the .cfg files in a visible place
	4.  Tell the lsst distribution mechanisms about your choice.

We're addressing three separate things here:
	Eups itself only requires the .table file and declaration [part of 1 and 2]
	The way we use scons (sconsUtils) requires the .cfg steps [part of 1 and 3]
	The way we distribute code (eups distrib, which is distinct from eups) requires the "tell the distro mechanism" step [4]

The first step requires pulling a tarball and I don't remember the URL
I'll address the second ("declare") step below
The fourth means adding a line to a "manifest.remap" file like:
	boost:1.57 	XXX
I.e. "when eups distrib thinks it wants 'boost 1.57' tell it to use 'boost XXX'"

I believe that Jim Bosch has a script to do all of this.

						R

Here's the answer to, "how do I declare a project to eups":

What's the layout of the pre-existing boost?  If it's
	/foo/bar/lib
	/foo/bar/include
(and I think it is), then all you need to find the proper table file somewhere, put it in tmp.table, and say:
	eups declare -r /foo/bar -M tmp.table boost XXX

i.e.  "Declare a version of boost called 'XXX' with directory /foo/bar and table file tmp.table.  Make a copy of tmp.table and squirrel it away".  If you want to know where the squirrel caches its nuts, say
	eups list boost XXX -m
(why -m?  I don't know -- ask FNAL.  But -m is the standard abbreviation for --table and -M is the "use a tmp file" version)

If you want to make it current, add "-c" or say
	eups declare -c boost XXX

In this case, it's probably sufficient to fake a table file with:
	echo "pathPrepend(LD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)" > tmp.table
(or in one line
	echo "pathPrepend(LD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)" | eups declare -r /foo/bar -M - boost XXX
)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.lsst.org/pipermail/dm-users/attachments/20150210/bc6ee9e3/attachment.sig>


More information about the dm-users mailing list