On Thu, Mar 18, 2004 at 03:13:42PM +, [EMAIL PROTECTED] wrote:
Running 4.9 STABLE, fresh cvsup of src and ports. Kernel builds and
installs fine, but none of my ports will build. gkrellm and postgresql,
just to name a couple.
Linking stops with error message:
/usr/libexec/ld-elf.so.1: /usr/lib/libkvm.so.2: Undefined symbol
__stderrp
It looks as if I need to update or rebuild libkvm, but I can't find
anything that explains how.
How can I fix this?
Looks like you dont in fact have an up-to-date 4.9-STABLE system; that
symbol is in libc (and has been for a long time now):
objdump -T /usr/lib/libc.so.4 | grep stderrp
0008797c gDO .data 0004 __stderrp
Post your cvsupfile if you need additional help figuring out what went
wrong with your upgrade.
Thanks, Kris!
I looked over my supfile and it is absolutly generic, but just to be sure
I'm going to get the latest one in /usr/share. The one I have been using is
included below.
I did that objdump command on my system and got this:
0008567c gDO .data 0004 __stderrp
and the dir listing is:
-r--r--r-- 1 root wheel 580540 Mar 18 11:54 /usr/lib/libc.so.4
so it appears to have been built yesterday, the last time I built my kernel.
Why does the complaint come from libkvm if the symbol is in libc? Is my C
compiler out of whack?
Here's my supfile:
# $FreeBSD: src/share/examples/cvsup/stable-supfile,v 1.19.2.4 2000/08/18
18:50:21 jkh Exp $
#
# This file contains all of the CVSup collections that make up the
# FreeBSD-stable source tree.
#
# CVSup (CVS Update Protocol) allows you to download the latest CVS
# tree (or any branch of development therefrom) to your system easily
# and efficiently (far more so than with sup, which CVSup is aimed
# at replacing). If you're running CVSup interactively, and are
# currently using an X display server, you should run CVSup as follows
# to keep your CVS tree up-to-date:
#
# cvsup stable-supfile
#
# If not running X, or invoking cvsup from a non-interactive script, then
# run it as follows:
#
# cvsup -g -L 2 stable-supfile
#
# You may wish to change some of the settings in this file to better
# suit your system:
#
# host=CHANGE_THIS.FreeBSD.org
# This specifies the server host which will supply the
# file updates. You must change it to one of the CVSup
# mirror sites listed in the FreeBSD Handbook at
# http://www.freebsd.org/handbook/mirrors.html.
# You can override this setting on the command line
# with cvsup's -h host option.
#
# base=/usr
# This specifies the root where CVSup will store information
# about the collections you have transferred to your system.
# A setting of /usr will generate this information in
# /usr/sup. Even if you are CVSupping a large number of
# collections, you will be hard pressed to generate more than
# ~1MB of data in this directory. You can override the
# base setting on the command line with cvsup's -b base
# option. This directory must exist in order to run CVSup.
#
# prefix=/usr
# This specifies where to place the requested files. A
# setting of /usr will place all of the files requested
# in /usr/src (e.g., /usr/src/bin, /usr/src/lib).
# The prefix directory must exist in order to run CVSup.
#
###
#
# DANGER! WARNING! LOOK OUT! VORSICHT!
#
# If you add any of the ports collections to this file, be sure to
# specify them like this:
#
# ports-all tag=.
#
# If you leave out the tag=. portion, CVSup will delete all of
# the files in your ports tree. That is because the ports collections
# do not use the same tags as the main part of the FreeBSD source tree.
#
###
# Defaults that apply to all the collections
#
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/handbook/mirrors.html.
*default host=cvsup13.FreeBSD.org
*default base=/usr
*default prefix=/usr
# The following line is for 4-stable. If you want 3-stable or 2.2-stable,
# change RELENG_4 to RELENG_3 or RELENG_2_2 respectively.
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
# If your network link is a T1 or faster, comment out the following line.
*default compress
## Main Source Tree.
#
# The easiest way to get the main source tree is to use the src-all
# mega-collection. It includes all of the individual src-* collections.
# Please note: If you want to track -STABLE, leave this uncommented.
src-all
# These are the individual collections that make up src-all. If you
# use these, be sure to comment out src-all above.
#src-base
#src-bin
#src-contrib
#src-etc
#src-games