Jörn Clausen wrote:
It makes me wonder if we need to have a per-compiler libtool or if we need to somehow build a new libtool each time a libtool-using package is built.Is there a hidden assumption/wish to have different compilers installed in parallel, e.g. gcc3 and gcc4, and choose between them for compiling packages?
I'm not sure if it really is a wish or not, but here is one scenario I can think of. You start off building some packages on a clean NetBSD system taking all the defaults. Currently one of these defaults is f2c is the fortran compiler and the system gcc is the c compiler. Now you decide to add one more package to the system but it requires a newer gcc or perhaps requires a f90 or f95 capable fortran compiler. f2c is fortran 77. So now pkgsrc somehow says "oh, you need g95" or "oh, you need GCC_REQD=4.4.1" and now you end up with a new compiler which may or may not be entirely compatible with the libtool which is already installed. At this point it seems to me that you're in a stuck place. You have to deinstall libtool, rebuild with the newer set of compilers and continue on. Unfortunately there may be some other packages besides libtool which remember the characteristics of the compilers it was built with and use those results at runtime. For example, math/octave lets you build shared objects which are loaded by octave at run time. The installed scripts have knowledge of the specific compilers used to build octave and assumes you're still using those.
-Dan