Hi David,

On May 6, 2007, at 10:39 PM, David R. Morrison wrote:

>
> On May 6, 2007, at 9:09 AM, Remi Mommsen wrote:
>
>> Hi,
>>
>> I have a package (root5) which builds many shlibs and has different
>> variants. Depending on the variant, some shlibs are built or not. So
>> far, I just listed all possibly built libraries in the Shlibs field.
>> The latest (cvs head) version of fink complains now about the missing
>> libraries listed in the shlibs field:
>> Error: Shlibs field specifies /sw/lib/root/libEGPythia6.5.dylib, but
>> it does not exist!
>> Error: Shlibs field specifies /sw/lib/root/libG4root.5.dylib, but it
>> does not exist!
>> Error: Shlibs field specifies /sw/lib/root/libHbook.5.dylib, but it
>> does not exist!
>>
>> How do I handle this situation?
>>
>> TIA,
>>      Remi
>
> Hi Remi.
>
> The basic problem here is that we want a reliable mapping between  
> "install-name and compatibility version of a dynamic library" and  
> "what fink package installs it".
>
> I haven't looked at the package to see what your variant structure  
> is, but presumably there is some core collection of dylib files  
> which are built for all variants, and then some extra ones which  
> only occur in some variants?

Correct.

> I see two possible strategies for handling this, but I'm willing to  
> be convinced that there are others I haven't thought of.
>
> 1) The contents of your Shlibs field has to depend on the variant.   
> This is unpleasant, because we hadn't anticipated it and fink's  
> variant code can't handle this smoothly.  It would require  
> separate .info files for the various variants.  (It also has the  
> unfortunate property that there are several different packages  
> which could be used to provide a given dylib, so these should all  
> conflict/replace each other, which gets messy where shared library  
> packages are involved.)
>
> 2) A basic package would provide the dylibs that are in common for  
> all variants, and then the variant packages would build other  
> splitoffs with other dylibs in them (as needed).  The disadvantage  
> of this is that people may have to compile things twice.  You would  
> probably also need separate .info files.

Having separate info files would be quite messy. Currently, there are  
8 combinations built from one info file. I don't want to build all  
extensions by default (and split them into split-offs) as these  
extensions pull in other huge packages which only a few people  
actually need.

> Can anybody think of another strategy?

Would it be possible to extend the variant syntax to allow it also in  
the shlibs field, i.e. one could put something like
Shlibs: <<
                  %p/lib/root/libRooFit.5.dylib        5.0.0 %n  
(>=5.02.00-1)
(%type_pkg[-qt]) %p/lib/root/libQtRoot.5.dylib        5.0.0 %n  
(>=5.15.04-2)
<<

where the first library is available in all variants, and the second  
only in the '-qt' variants?

Remi

--
… there are known knowns;  there are things we know we know.  We also
know there are known unknowns;  that is to say we know there are some
things we do not know. But there are also unknown unknowns — the ones
we don’t know we don’t know.
                                                       Donald Rumsfeld
*********************************************************************
Remigius K. Mommsen                 e-mail:          [EMAIL PROTECTED]
University of Manchester               URL:    http://cern.ch/mommsen
Fermilab, MS 357                     voice:        ++1 (630) 840-8321
P.O. Box 500                           fax:        ++1 (630) 840-2649
Batavia, Il 60510, US                 home:        ++1 (630) 236-0932
*********************************************************************




-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to