Succsessful Upgrade linux_base-f10-10_6 seems to break... a lot

David Wolfskill david at catwhisker.org
Wed Apr 17 13:37:07 UTC 2013


I updated FreeBSD on my laptop from:

FreeBSD g1-227.catwhisker.org 9.1-STABLE FreeBSD 9.1-STABLE #427  r249534M/249542:901504: Tue Apr 16 04:46:43 PDT 2013     root at g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY  i386

to:

FreeBSD g1-227.catwhisker.org 9.1-STABLE FreeBSD 9.1-STABLE #428  r249561M/249581:901504: Wed Apr 17 04:52:06 PDT 2013     root at g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY  i386

as I normally do each day.  This was uneventful.

I also updated /usr/ports to r315956.

On reboot, I then issued:

sudo script -a portmaster portmaster -ad --index

which requested an OK for upgrading:

===>>> The following actions will be taken if you choose to proceed:
        Upgrade linux_base-f10-10_5 to linux_base-f10-10_6
        Upgrade tcl-8.5.13 to tcl-8.5.14
        Upgrade sudo-1.8.6.p7 to sudo-1.8.6.p8
        Upgrade tk-8.5.13 to tk-8.5.14

===>>> Proceed? y/n [y] 

(to which I assented).

It subsequently reported:

===>>> Done displaying pkg-message files

(END)^M===>>> The following actions were performed:
        Upgrade of linux_base-f10-10_5 to linux_base-f10-10_6
        Upgrade of tcl-8.5.13 to tcl-8.5.14
        Upgrade of sudo-1.8.6.p7 to sudo-1.8.6.p8
        Upgrade of tk-8.5.13 to tk-8.5.14

===>>> Exiting


I then found that any attempt of mine to invoke csh (my login shell)
reported errors -- e.g.:

g1-227(9.1-S)[3] csh
ELF interpreter /lib/ld-linux.so.2 not found
Abort
ELF interpreter /lib/ld-linux.so.2 not found
Abort
ELF interpreter /lib/ld-linux.so.2 not found
Abort
g1-227(9.1-S)[1] 


I found similar issues invoking commands such as "cat", "mkdir", "rm",
"grep"....

I was able to examine the most recent svn log entry for
ports/emulators/linux_base-f10/Makefile:

------------------------------------------------------------------------
r315899 | tijl | 2013-04-16 13:38:06 -0700 (Tue, 16 Apr 2013) | 8 lines

Add some symlinks to linux_base-f10 for executables that exist in /usr/bin
on Linux but /bin on FreeBSD. This guarantees that Linux shell scripts run
the Linux executables and not the FreeBSD ones.

No objection from:      -emulation
PR:             ports/176819
Feature safe:   yes

------------------------------------------------------------------------

Based on that, I made a list of entries now in /usr/local/bin that
file(1) identified as "GNU/Linux" binaries that I desperately needed
to work, and moved those to the newly-created /usr/local/bin/.broken_linux:

arch            cut             link            nice            sync
basename        date            ln              pwd             touch
cat             dd              ls              rm              true
chgrp           echo            mkdir           rmdir           uname
chmod           env             mknod           sleep           unlink
chown           false           mktemp          sort
cp              grep            mv              stty

That seems to have somewhat-mitigated the damage, but I'm still seeing
a fair number of errors.

I tried backing the Makefile down to r315898 and asking portmaster
to re-install it, but that attempt generates lots of:

...
=> SHA256 Checksum OK for rpm/i386/fedora/10/slang-2.1.4-1.fc10.i386.rpm.
=> SHA256 Checksum OK for rpm/i386/fedora/10/zlib-1.2.3-18.fc9.i386.rpm.
===>   linux_base-f10-10_5 depends on file: /usr/local/bin/rpm2cpio - found
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Segmentation fault (core dumped)
....

and dies.


I tried to find ld-linux.so\*; it seems to now be in /usr/local/lib,
rather than /compat/linux/lib.  Is that intended?  After I created a
symlink in /compat/linux/lib for ld-linux.so.2, I now see a different
error when starting csh:

g1-227(9.1-S)[3] csh
test: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
test: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
expr: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
g1-227(9.1-S)[1] 

OK; I see that libc.so.6 has also moved, so creating a symlink in
/compat/linux/lib (pointing to its new location in /usr/loical/lib)
seems to allow me to invoke csh without whines (even after moving
the binaries back to /usr/local/bin from their place of exile):

g1-227(9.1-S)[5] csh
g1-227(9.1-S)[1] echo $?
0
g1-227(9.1-S)[2] 



OK, so .... what did I doi wrong, here...?

Peace,
david
-- 
David H. Wolfskill				david at catwhisker.org
Taliban: Evil men with guns afraid of truth from a 14-year old girl.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20130417/ff0f2f9e/attachment.sig>


More information about the freebsd-ports mailing list