Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 May 2012 19:54:22 +0200
From:      Ilya Bakulin <webmaster@kibab.com>
To:        freebsd-current@freebsd.org
Cc:        freebsd-toolchain@freebsd.org
Subject:   Broken symbolic links in /usr/lib after compiling and installing -CURRENT
Message-ID:  <4FB92FCE.7050407@kibab.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi all,
I have compiled FreeBSD-CURRENT amd64 (fresh checkout from today, git
revision 46b12ff6d8ab4f736d155646ae32133083e1da05 -- from official
FreeBSD github mirror) and installed it in custom location (DESTDIR=....
make installworld).

After chrooting to installed system and trying to compile any program I
get the message:

# gcc -o hello hello.c
/usr/bin/ld: cannot find -lgcc_s

Here is an output of 'ls -l' after chrooting to installed system:

total 89076
-rwxr-xr-x 1 0 0 3352 19 май 21:27 Scrt1.o
drwxr-xr-x 2 0 0 512 20 май 08:39 aout
drwxr-xr-x 3 0 0 512 20 май 08:39 compat
-rwxr-xr-x 1 0 0 3296 19 май 21:27 crt1.o
-rwxr-xr-x 1 0 0 2408 19 май 21:27 crtbegin.o
...
-rwxr-xr-x 1 0 0 56354 20 май 09:31 libalias.a
lrwxr-xr-x 1 0 0 71 20 май 09:54 libalias.so ->
/usr/obj/home/kibab/repos/freebsd-cap-git/freebsd/tmp/lib/libalias.so.7
-rwxr-xr-x 1 0 0 3200 20 май 09:31 libalias_cuseeme.a
...
-rwxr-xr-x 1 0 0 17108 20 май 09:31 libbegemot.a
lrwxr-xr-x 1 0 0 73 20 май 09:54 libbegemot.so ->
/usr/obj/home/kibab/repos/freebsd-cap-git/freebsd/tmp/lib/libbegemot.so.4
...
lrwxr-xr-x 1 root wheel 71 20 май 21:31 libgcc_s.so ->
/usr/obj/home/kibab/repos/freebsd-cap-git/freebsd/tmp/lib/libgcc_s.so.1

Links to libalias, libbegemot, libgcc_s point to respective libraries
under /usr/obj/home/kibab/repos/freebsd-cap-git/freebsd/tmp/lib. But
this path doesn't exist even on build system!
In my setup, FreeBSD source tree is under
/home/kibab/repos/freebsd-cap-git/freebsd, object directory is
/home/kibab/repos/freebsd-cap-git/freebsd/obj, installation directory is
/home/kibab/repos/freebsd-cap-git/freebsd/inst.
As I understand, this problem will arise only if using non-standard
object directory (not under /usr/obj), because symbolic links will
otherwise point to some files under /usr/obj and required files will be
actually there. This is still incorrect, but at least would seem to work...

I'm using custom src.conf with these options:
WITHOUT_CLANG=yes
WITHOUT_GAMES=yes
WITHOUT_KERNEL_SYMBOLS=yes
WITHOUT_EXAMPLES=yes
WITHOUT_HTML=yes
WITHOUT_NCP=yes
WITHOUT_PROFILE=yes
WITHOUT_SENDMAIL=yes
WITHOUT_SYSINSTALL=yes
WITHOUT_VINUM=yes
WITHOUT_LIB32=yes

I tried a fresh build with clean object directory.
Could anyone tell what may have gone wrong?

-- 
Regards,
Ilya Bakulin
http://kibab.com
xmpp://kibab612@jabber.ru



[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk+5L9IACgkQo9vlj1oadwguogCdFBNUD2v5rZpE/Ut4P1jNcWJj
CvwAnROAgZDFlUsZeFWSRsc9x36Ti5tW
=9AtJ
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FB92FCE.7050407>