[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: List of FTBFS in Ubuntu



On 10/12/2010 16:59, Olaf van der Spek wrote:
> On Fri, Dec 10, 2010 at 3:28 PM, Vincent Danjean <vdanjean.ml@free.fr> wrote:
>> [C] selection of the "tool chain"
>>  Comment: this seems to be very boost specific!
> 
> Not necessary at the moment.
> 
>>    For what I saw, there is the MT/no thread choice. Are there others ?
>>  It is possible that boost will be used by different libraries that will
>>  built a single program. So, different versions by toolchain must work
>>  together in a single program. In particular, nowadays, a library using
>>  boost must suppose that it will be used in a multithreaded program.
>>    Perhaps a distribution will only provide a single version (MT in this
>>  case, as for lots of other libraries)
> 
> I think that's the case at the moment.
> 
>>  Now, if we want to use pkg-config (and I think it is a must for such a
>> general-purpose library), the choices that must be done by boost users
>> must be encoded into .pc name (and only them).
>> For [A], it will be the library/'part of boost' name
>> For [B]: none
>> For [C], it will be a suffix if this is really needed (but, here again,
>>  support for MT is really a must nowadays for system libraries: are there
>>  other toolchain selection?)
> 
> See http://www.boost.org/doc/libs/1_45_0/more/getting_started/unix-variants.html#library-naming

Thank for the pointer. So, in my opinion, a (unix) distribution will only
provide one variant of library (the other seems to have no interest for
developer of external application). And if, for specific needs (for a user,
not for the distribution), other variants are needed, as for all other
libraries that can be compiled with debug, ..., it can be done in specific
prefixes (/opt/debug/...) instead of /usr prefix.

> But ATM you can just do -lboost_filesystem -lboost_system.

Here, you are wrong. If I want to use the 'filesystem' part of boost,
I (as a user of the library) must be able to find all required info
only from the part of boost that I want to use.
"pkg-config --libs boost_filesystem" is one standard way to do it.
'boost-config --libs filesystem' can be another one.
autolink could also be a solution (but I'm not convinced at all by
this feature as described in this thread)
  But hardcoding in sources the fact that you need
"-lboost_filesystem -lboost_system" (ie what must be done currently) is
a wrong approach (in my opinion).

> The problem is that using some parts of filesystem will mean you also
> need to link to system.

  Yes, so boost needs to provide a way to retrieve this info when
compiling a program/library using boost.

  Regards,
    Vincent

> 
> Olaf



-- 
Vincent Danjean                 Adresse: Laboratoire d'Informatique de Grenoble
Téléphone:  +33 4 76 61 20 11            ENSIMAG - antenne de Montbonnot
Fax:        +33 4 76 61 20 99            ZIRST 51, avenue Jean Kuntzmann
Email: Vincent.Danjean@imag.fr           38330 Montbonnot Saint Martin


Reply to: