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: