ld fails under Solaris/i386
Dennis Clarke
dclarke at blastwave.org
Sat Nov 21 16:38:05 CET 2009
> On Sat, 21 Nov 2009, Vincent Lefevre wrote:
>
>> On 2009-11-20 13:32:02 +0100, Torbjorn Granlund wrote:
>>> Eh, I don't think that's realistic. If somebody installs a broken cc,
>>> as, ld, make, m4 in /bin, should GMP be able to cope?
>>
>> Is it really broken or does GMP do something illegal?
>
> The tools in /usr/ucb are for SunOS 4.* compatibility. I am not sure I
> would call them broken, but they are definitely not what you want.
If I may chime in here. For the sake of clarity there is a standards(5)
manpage as well as a filesystem(5) manpage which helps with these things.
Does no one read manpages anymore?
>From filesystem(5) we see this :
/usr/ucb
Berkeley compatibility package binaries.
/usr/ucbinclude
Berkeley compatibility package headers.
/usr/ucblib
Berkeley compatibility package libraries.
Software archeology :
I can tell you, as someone that has used Solaris and SunOS since the 80's,
that there was this funny transition period when we all went from SunOS4.x
over to Solaris 1. I can not recall if uname reported SunOS5.0 or SunOS5.1
but we all went looking for the old ps function that was from the BSD
based days.[1]
There was much confusion in the land.
People would stick /usr/ucb in their PATH first and all manner of strange
things were happening. Then, over time, as the SVR4 way of life settled
in, we stuck /usr/ucb at the end of the PATH. If hell froze over and you
really needed to run dumbplot or aedplot with output for a Hewlett Packard
7221 plotter then you would find it.
These days there are very few people that have that in their PATH at all.
See :
filesystem(5) from Solaris 10
http://www.blastwave.org/man/filesystem_5.ftd
and
filesystem(5) from Solaris 8
http://www.blastwave.org/man/filesystem_5_Solaris8.ftd
If we look at a recent standards(5) manpage on Solaris 10 in the Utilities
section we are told how to setup a somewhat strict PATH :
http://www.blastwave.org/man/standards_5.ftd
If you want to look at Solaris 8 :
http://www.blastwave.org/man/standards_5_Solaris8.ftd
The results from that section should be something like this in your
$HOME/.profile
# as per standards(5) section Utilities for POSIX.1-2001, SUSv3
#
# Standard Shell Used
# ______________________________________________________________
# 1989 ANSI C, 1990 ISO C, 1999 ISO C, /usr/xpg4/bin/sh
# POSIX.1 (1990-2001), SUS, SUSv2, SUSv3,
# XPG4
# POSIX.1 (1988), SVID3, XPG3, no standard /usr/bin/sh
# specified
#
PATH=/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin:/sbin:/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin
export PATH
That works.
You may want to add in /usr/X11/bin but don't bother with /usr/X because
that just points to /usr/openwin.
There is nothing fancy about it. No you don't get GNU ls with colors and
no you don't get vim. You get the strictly compliant UNIX utilities that
conform to POSIX.1-2001 or SUSv3.
The UCB area will probably never go away. It seems to be permanently
wedged in there and people will forever be confused about it. Even in the
very latest most up to date OpenSolaris revs where you build the kernel
yourself and install all the bits carefully .. you see this :
$ ssh neptune
Last login: Fri Nov 20 21:10:58 2009 from 192.168.35.7
Sun Microsystems Inc. SunOS 5.11 Blastwave Nov. 07, 2009
SunOS Internal Development: dclarke 2009-Nov-07 [onnv-gate]
bfu'ed from /build/archives/sparc/nightly on 2009-11-07
Sun Microsystems Inc. SunOS 5.11 snv_123 November 2008
You have mail.
$
$ ls /usr/ucb
Mail expr install plottoa sparcv9 uptime
aedplot fastboot ln printenv stty users
arch fasthalt logger ps sum vacation
atoplot file lpc quota t300 vedit
basename finger lpq rcp t300s vi
bgplot fmt lpr rdate t4013 view
biff fold lprm rdist t450 vipw
chown from lptest renice tail vmstat
clear ftp ls reset talk vplot
crtplot gigiplot mach rlogin tcopy w
df groups mail rsh tek wc
du head mkstr ruptime telnet whereis
dumbplot hostid more rusage test whoami
e hostname netstat rwho tftp whois
echo hp7221plot page script touch xstr
edit hpplot pagesize sed tr
ex implot plot shutdown tset
This stuff will never go away and users are stuck trying to figure out why
/usr/ucb/cc exists on some systems and not on others.
[1] I still have Solaris 2.5.1 on x86 running somewhere and perhaps a copy
of SCO ODT 3 but I won't go digging into manpages there. Too much like
effort.
--
Dennis Clarke
dclarke at opensolaris.ca <- Email related to the open source Solaris
dclarke at blastwave.org <- Email related to open source for Solaris
More information about the gmp-bugs
mailing list