Re: shared lib issue in /usr/obj?

From: Giorgos Keramidas <keramida_at_ceid.upatras.gr>
Date: Thu, 09 Dec 2010 13:57:16 +0100
On Thu, 09 Dec 2010 07:38:38 -0500, Etienne Robillard <erob_at_gthcfoundation.org> wrote:
> Hi
>
> $ sudo rm -rf /usr/obj/*
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32/libc.so.7: Operation
> not permitted
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32/libcrypt.so.5:
> Operation not permitted
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32/libthr.so.3:
> Operation not permitted
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32/librt.so.1:
> Operation not permitted
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32: Directory not empty
> rm: /usr/obj/usr/local/freebsd8/src/lib32/usr: Directory not empty
> rm: /usr/obj/usr/local/freebsd8/src/lib32: Directory not empty
> rm: /usr/obj/usr/local/freebsd8/src: Directory not empty
> rm: /usr/obj/usr/local/freebsd8: Directory not empty
> rm: /usr/obj/usr/local: Directory not empty
> rm: /usr/obj/usr: Directory not empty
> $ uname -a
> FreeBSD marina 8.1-STABLE FreeBSD 8.1-STABLE #1: Sun Nov 21 00:48:28 EST
> 2010     root_at_:/usbj/usr/local/freebsd8/src/sys/GENERIC.ndebug  amd64
>
> Is this a corrupted obj directory ? If so, why should theses libs have
> the schg flag enabled?

> $ sudo ls -lao /usr/obj/usr/local/freebsd8/src/lib32/usr/lib32/
> total 2520
> drwxr-xr-x  2 root  wheel  -      12288 Dec  9 07:24 .
> drwxr-xr-x  3 root  wheel  -        512 Dec  9 07:25 ..
> -r--r--r--  1 root  wheel  schg 1128116 Nov 21 02:15 libc.so.7
> -r--r--r--  1 root  wheel  schg   32060 Nov 21 02:18 libcrypt.so.5
> -r--r--r--  1 root  wheel  schg   16444 Nov 21 02:27 librt.so.1
> -r--r--r--  1 root  wheel  schg   76668 Nov 21 02:19 libthr.so.3

They are installed with "make install" and when you run "make install"
with PRECIOUSLIB defined, bsd.lib.mk adds this to SHINSTALLFLAGS:

  .if defined(PRECIOUSLIB)
  .if !defined(NO_FSCHG)
  SHLINSTALLFLAGS+= -fschg
  .endif
  SHLINSTALLFLAGS+= -S
  .endif

The Makefiles that set PRECIOUSLIB today are:

  keramida_at_bokos:/usr/src$ grep -r 'PRECIOUSLIB.*=' *
  lib/libc/Makefile:PRECIOUSLIB=
  lib/libcrypt/Makefile:PRECIOUSLIB=
  lib/libkse/Makefile:PRECIOUSLIB=
  lib/librt/Makefile:PRECIOUSLIB=
  lib/libthr/Makefile:PRECIOUSLIB=
  keramida_at_bokos:/usr/src$
Received on Thu Dec 09 2010 - 12:11:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC