On Wed, Jun 16, 2010 at 10:31:53PM -0600, William D. Colburn (Schlake) wrote:
> My server's boot disk finally died after four years of disk errors.
> I'm not sure what version I ran; whatever was stable in 2004.  So I
> grabbed an old hard disk from work, and a copy of 8.0 release for AMD
> off the website.  I eventually got it installed (it was a nightmare
> because the install CD could not write to /dev/ad0 to initialize
> partitions) and ran cvsup on /usr/share/examples/stable-supfile
> (RELENG_8).  I can make the kernel just fine, but if I try to make the
> world I get this:

We use csup now (part of the base system); no need for cvsup.  csup
accepts mostly the same arguments, and works identically.

When you installed from CD, what things did you select in the menus,
e.g. base, kernel, docs, info, etc.?  Did you select "src?"  If so, did
you "adopt" the sources?  http://www.cvsup.org/faq.html#caniadopt  keep
reading for why I ask this.

But FWIW, I tend not to install src or ports from the CD directly and
instead just use csup /usr/share/examples/stable-supfile and
/usr/share/example/ports-supfile to get src and ports.  I don't like
bothering with the "adopting" portion.

> cc -O2 -pipe  
> -I/usr/src/cddl/usr.bin/zinject/../../../sys/cddl/compat/opensolaris
> -I/usr/src/cddl/usr.bin/zinject/../../compat/opensolaris/include
> -I/usr/src/cddl/usr.bin/zinject/../../compat/opensolaris/lib/libumem
> -I/usr/src/cddl/usr.bin/zinject/../../contrib/opensolaris/lib/libzfs/common
> -I/usr/src/cddl/usr.bin/zinject/../../contrib/opensolaris/lib/libzpool/common
> -I/usr/src/cddl/usr.bin/zinject/../../contrib/opensolaris/lib/libnvpair
> -I/usr/src/cddl/usr.bin/zinject/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
> -I/usr/src/cddl/usr.bin/zinject/../../../sys/cddl/contrib/opensolaris/uts/common/sys
> -I/usr/src/cddl/usr.bin/zinject/../../../sys/cddl/contrib/opensolaris/uts/common
> -I/usr/src/cddl/usr.bin/zinject/../../contrib/opensolaris/head
> -I/usr/src/cddl/usr.bin/zinject/../../lib/libumem
> -DNEED_SOLARIS_BOOLEAN -std=gnu89 -fstack-protector
> -Wno-unknown-pragmas  -o zinject zinject.o translate.o -lavl -lgeom
> -lm -lnvpair -lumem -luutil -lzfs -lzpool
> /lib/libthr.so.3: undefined reference to `__psel...@fbsdprivate_1.0'
> *** Error code 1
> 
> I searched, but I couldn't find anything on this problem.

This looks like the build system is using a library in /lib rather than
in /usr/obj/lib.  That's a little od.

Your installed system's /lib/libthr.so.3 doesn't contain a symbol name
called __psel...@fbsdprivate_1.0.  The "crazy symbol name" comes from
the introduction of symbol versioning semantics in 8.x -- I just can't
remember when it was introduced (meaning I can't remember if it was
being used in 8.0-RELEASE or if it was introduced after that).

Can you please provide your /etc/make.conf from this system, as well as
how you built world (commands, etc.)?

Also, when you installed FreeBSD, did you completely format the disk
(re-create all the filesystems, etc.)?  Or are you re-using filesystems?
You said you "grabbed an old disk", and you also said this, which is
worrisome:

"... because the install CD could not write to /dev/ad0 to initialize
partitions ..."

If you wanted to try something, I would recommend downloading a
8.1-PRERELEASE snapshots and installing that.

ftp://ftp4.freebsd.org/pub/FreeBSD/snapshots/201006/

> I tried compiling bits and pieces (starting with libthr, then libc)
> and installing them one at a time, but I just made things worse, so I
> refreshed from the base packages on the CD, removed all of /usr/src,
> and refetched it, so I'm at least stable again without the ability to
> make world.

Why would you have to refresh the base packages from the CD?  You were
*building* world, not installing it, when you saw the above error.  I
don't see how reinstalling binaries into /usr, /usr/lib, etc. would "get
you a stable system" when all that was broken was buildworld.

Also, removing all of /usr/src doesn't cut it.  You also need to remove
cvsup's "internal" cvs repository.  This is /usr/sup for cvsup.  If you
use csup instead, the directory is /var/db/sup.  Please DO NOT remove
the directory itself -- just the contents.  For /var/db/sup, you'd need
to remove /var/db/sup/src-all.

-- 
| Jeremy Chadwick                                   j...@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to