Subject: Re: 1.4.2 to 1.5_BETA and library problems
To: Jeremy C. Reed <>
From: Jaromír Dolecek <>
List: current-users
Date: 10/26/2000 11:28:15
The a.out shipped with 1.5 (i.e ALPHA2 or BETA) look
for libraries within /emul/aout tree and ldconfig was changed
to look for /etc/ under that tree also, since /etc/
is used for something else for ELF.

The upgrade path for you at this stage is:

0. create /emul/aout directory (note that /emul can safely be symlink
   to out of root partition)
1. move all former a.out libraries to the respective directory
   under /emul/aout
2. copy /etc/ to /emul/aout/etc/, remove
   the machdep.fpu_present stuff and run ldconfig
3. edit /etc/, remove the directory names stuff

That should make system working.

It's good to install ELF XFree86 then (should be available
on & mirrors). You can probably safely copy it
over old X11 a.out tree - binaries included in XFree86 would
be then ELF, the rest of stuff installed within X subtree
would use a.out libraries you previously moved into /emul/aout/usr/X11R6/lib/.

After that, you can either gradually upgrade packages to ELF as needed,
or remove all old a.out packages and install new from scratch.
I did the latter, since that seemed like easier on longer run. Took
me like day or so to do.
You would surely praise binary packages available on and mirrors - package system mades the transition
much smoother than it would be otherwise :)


Jeremy C. Reed wrote:
> I updated my 1.4.2 system to 1.5_BETA by grabbing the *.tgz sets and
> overwriting my system (except for etc.tgz which I used my new script for
> updating /etc).
> Using the new /etc/, I couldn't use cvs, X or various other
> programs. So I rebuilt cvs via pkgsrc and updated the /etc/
> I am getting errors like:
> Shared object "" not found
> /usr/libexec/ rxvt: No such file or directory
> /usr/libexec/ bbkeys: No such file or directory
> /usr/libexec/ lynx: No such file or directory
> Now my /etc/ looks like:
>       machdep.fpu_present,
> /usr/pkg/lib
> /usr/X11R6/lib
> /usr/local/lib
> When I run ldconfig, I get:
> ldconfig: can't open `/emul/aout//etc/'
> This /emul/aout didn't exist.
> Now X works, but I am trying to build rxvt from pkgsrc.
> Using a couple week old pkgsrc and a new pkgsrc, when I build
> pkgsrc/graphics/xpm I receive:
> gcc -o sxpm -O2      -L/usr/X11R6/lib sxpm.o -L../lib -L/usr/X11R6/lib
> -lXpm -lXt -lSM -lICE -lXext -lX11      -Wl,-rpath,/usr/X11R6/lib
> -Wl,-rpath,/lib
> sxpm.o: In function `main':
> sxpm.o(.text+0x409): undefined reference to `XpmReadFileToPixmap'
> sxpm.o(.text+0xace): undefined reference to `XpmReadFileToPixmap'
> sxpm.o(.text+0xba3): undefined reference to `XpmCreatePixmapFromData'
> sxpm.o(.text+0xbee): undefined reference to `XpmWriteFileFromPixmap'
> sxpm.o: In function `Punt':
> sxpm.o(.text+0xf7f): undefined reference to `XpmFreeAttributes'
> sxpm.o(.text+0xfea): undefined reference to `XpmFreeAttributes'
> sxpm.o: In function `VersionInfo':
> sxpm.o(.text+0x10e1): undefined reference to `XpmLibraryVersion'
> sxpm.o(.text+0x10f0): undefined reference to `XpmLibraryVersion'
> collect2: ld returned 1 exit status
> *** Error code 1
> Stop.
> I am not sure, but it seems like I read that I changed from a.out to ELF
> (the INSTALL document is unclear -- it thinks it is 1.4) and the
> ELF webpage says that is used differently (or not
> really needed) with ELF.
> I think I am missing some xpm files.
> $ ls -l /usr/X11R6/lib/*Xpm*
> -rw-r--r--  1 root  wheel  58478 Feb  9  2000 /usr/X11R6/lib/libXpm.a
> Can anyone point me to the documentation for upgrading libraries? Or does
> anyone have any advice on fixing this problem?
> Thanks,
>    Jeremy C. Reed

Jaromir Dolecek <>
@@@@  Wanna a real operating system ? Go and get NetBSD, damn!  @@@@