> Hello,

Hi,

> I recently submitted glob2 version 0.8.23, and it was accepted in unstable.
> Now a new mainstream version is available, which is 0.9.1.
> The build system was changed in order to use scons.
>
> The new package builds fine, and it works when I build it outside of fink.
> Now using fink, after building succesfully, I get an error when I try to 
> launch glob2, as it seems it does not find a file it is looking for.
>
> My question is about the information I need to give when building the 
> package. I have attached the info file, and my problem is that I am not 
> sure it is right to give options BINDIR=%i/bin and INSTALLDIR=%i/share, as 
> once the package is installed, glob2 will have to look in %p/share, but may 
> be still looking in %i/share...

Yep, that's a typical problem, and the reason for the whole $DESTDIR
part of auto{make,conf}. The basic thing that works with make, i.e.
"make prefix=/sw ; make install prefix=/sw/src/root-glob2/sw" or
whatever the directory should be, doesn't work because SCons is too
smart, and will recompile at that point.

Looking at the SConstruct, you can see 2 relevant variables :

- INSTALLDIR : used at install time, so you want this to be
  /sw/src/root/whatever/sw/share, i.e. %i/share

- PACKAGE_DATA_DIR : this is where glob2 will look for files at runtime,
  so you want it to be /sw/share, i.e. %p/share

And the SConstruct file allows you to do just that: the default value of
PACKAGE_DATA_DIR is $INSTALL, which makes sense for a simple install,
but you can override it on the command-line, the same way you do
INSTALL. In other words:

      scons INSTALLDIR=%i/share BINDIR=%i/bin PACKAGE_DATA_DIR=%p/share

though you might have to move the relevant line near the one about
INSTALL. If all else fails you can always patch SConstruct to set the
variable by force, with a perl command or something. [Not with the fink
patch mechanism though, because you want %p instead of /sw - or use the
patch mechanism to write '%p/share' and then perl -e "s/\%p/%p".]

Yet another way is to add a DESTDIR variable, defaulting to '', and use
it where relevant. That would be a little bit more work I guess, but
would feel less hacked somehow, and you could then send a patch upstream
and be in the credits :-)


BTW, commenting "exit 1" lines might not be the best idea, are you sure
you can't have them work instead ? From what you say, it sounds like
either CPPPATH or LIBPATH is set too late, which should be fixable.


HTH, and come back if it doesn't,

  /vincent

-- 
Vincent Beffara
UMPA - ENS Lyon
46 Allée d'Italie
69364 LYON cedex 07
Tel: 04 72 72 85 25
Fax: 04 72 72 84 80

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to