I just noticed LSARC-ext at Sun.COM was not copied on this thread 
originated by Marc's reply on the 7th.

Marc originally raised the following question:

 > usr/i386-pc-solaris2.11

Is this strange path necessary? Can't the subdirectories (bin and lib) 
go directly to /usr?

The answer to the first part is no.  The commands in 
usr/i386-pc-solaris2.11/bin cannot be moved to /usr/bin since they 
conflict with existing Solaris commands.  It is potentially possible to 
eliminate them, however, since they are duplicates of commands already 
installed in /usr/bin and /usr/gnu/bin.

The remaining discussion concerns the correct location for 
/usr/i386-pc-solaris2.11 and in particular 
/usr/i386-pc-solaris2.11/lib/ldscripts which is used by the Gnu ld command.

Nicolas Williams wrote:
> On Wed, Feb 11, 2009 at 02:01:42PM -0800, George Vasick wrote:
>> Marc Glisse wrote:
>>> [...]
>>>
>>> Indeed, or even directly /usr/lib/ldscripts. (Note that for gcc, there is 
>>> /gcc/ between /usr/lib and i386-pc-solaris2.11, so we may not want to 
>>> sneak binutils in there)
>> The existing precedent seems to be something like the following:
>>
>> SuSE:   /usr/x86_64-suse-linux/lib/ldscripts
>> Ubuntu: /usr/lib/ldscripts
>>
>> While Ubuntu uses /usr/lib/ldscripts, I think it is not appropriate for 
>> OpenSolaris since /usr/bin/ld is the Solaris linker, not the Gnu linker.
> 
> I don't see why the presence of the substring "ld" should lead to that
> conclusion.  If the path is under your control you might just prefix it
> with 'g' and be done (/usr/lib/gldscripts).

The binutils configuration options do not support install locations of 
either /usr/lib/ldscripts or /usr/lib/gldscripts.  Source changes to the 
Makefile and/or configure script would be required.  I think this should 
be avoided in favor of following the existing Gnu conventions if at all 
possible.

> 
>> I think the best option is to stick with the original proposal of 
>> /usr/i386-pc-solaris2.11.
> 
> Why do we need such clutter in /usr?

I based this proposal on PSARC/2008/378, Move gcc and binutils from 
/usr/sfw/bin to /usr/bin.  The prototype implementation set 
--prefix=/usr and --program-prefix=g with softlinks for the "plain" 
commands being added to /usr/gnu/bin.  I used the same settings and 
/usr/i386-pc-solaris2.11 is the natural result.

PSARC/2007/047, /usr/gnu, is also relevant.  It specifies setting 
--prefix=/usr/gnu.  Using this setting would result in plain commands 
being installed in /usr/gnu/bin with softlinks to the g-prefixed command 
being added in /usr/bin.  This would also move /usr/i386-pc-solaris2.11 
to /usr/gnu/i386-pc-solaris2.11 and the ldscripts subdirectory to 
/usr/gnu/i386-pc-solaris2.11/lib/ldscripts.

Assuming it is desirable to eliminate i386-pc-solaris2.11 from /usr, the 
second option would accomplish this while staying within the 
configuration parameters provided by Gnu.


Thanks,
George

Reply via email to