bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hurd: Populate a [build]/lib directory with links to all shared librarie


From: Thomas Schwinge
Subject: Hurd: Populate a [build]/lib directory with links to all shared libraries.
Date: Thu, 20 Oct 2011 19:32:53 +0200
User-agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu)

Hi!

Maksym: this will give you some idea for tmpfs development/testing.

On Thu, 20 Oct 2011 17:23:23 +0000, I wrote:
> commit 3aa7bb4849945c7480873567767db3face604260
> Author: Thomas Schwinge <thomas@schwinge.name>
> Date:   Thu Oct 20 15:47:00 2011 +0200
> 
>     Populate a [build]/lib directory with links to all shared libraries.
>     
>     * Makeconf (libs): Add dependency to create these links.

I uploaded some documentation at
<http://www.bddebian.com:8888/~hurd-web/hurd/building/>: see the
``Testing'' section, or read below:

| Any statically linked binaries (`make proc && (cd proc/ && make proc.static)`)
| can be used directly, as they are self-contained regarding the Hurd libraries
| they're using.
| 
| Dynamically linked binaries will use the system's shared Hurd libraries, which
| may be or may not be what you want.
| 
| Check:
| 
|     $ ldd utils/ps
|             libhurdbugaddr.so.0.3 => /lib/libhurdbugaddr.so.0.3 (0x01036000)
|             libps.so.0.3 => /lib/libps.so.0.3 (0x01038000)
|             libihash.so.0.3 => /lib/libihash.so.0.3 (0x0104a000)
|             libshouldbeinlibc.so.0.3 => /lib/libshouldbeinlibc.so.0.3 
(0x0104e000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x0105a000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x011eb000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x01211000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Run:
| 
|     $ utils/ps
|     [...]
| 
| For example, if you have done changes to [[libps]] and now want to test them
| with `ps` (which dynamically links to libps), this is not good.  To overcome
| this, `LD_LIBRARY_PATH` can be used:
| 
| Check:
| 
|     $ LD_LIBRARY_PATH="$PWD"/libps ldd utils/ps
|             libhurdbugaddr.so.0.3 => /lib/libhurdbugaddr.so.0.3 (0x01036000)
|             libps.so.0.3 => 
/home/thomas/tmp/hurd/git.build/libps/libps.so.0.3 (0x01038000)
|             libihash.so.0.3 => /lib/libihash.so.0.3 (0x0104b000)
|             libshouldbeinlibc.so.0.3 => /lib/libshouldbeinlibc.so.0.3 
(0x0104e000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x0105a000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x011eb000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x01211000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Run:
| 
|     $ LD_LIBRARY_PATH="$PWD"/libps utils/ps
|     [...]
| 
| Additionally, a `hurd-build/lib` directory is populated with links to *all*
| shared Hurd libraries.
| 
| Check:
| 
|     $ LD_LIBRARY_PATH="$PWD"/lib ldd utils/ps
|             libhurdbugaddr.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libhurdbugaddr.so.0.3 (0x0102b000)
|             libps.so.0.3 => /home/thomas/tmp/hurd/git.build/lib/libps.so.0.3 
(0x0102d000)
|             libihash.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libihash.so.0.3 (0x01040000)
|             libshouldbeinlibc.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libshouldbeinlibc.so.0.3 (0x01043000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x0105a000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x011eb000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x01211000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Run:
| 
|     $ LD_LIBRARY_PATH="$PWD"/lib utils/ps
|     [...]
| 
| Likewise, if there is a reason to, it is possible to use the system's 
`/bin/ps`
| with a freshly built libps:
| 
|     $ LD_LIBRARY_PATH="$PWD"/libps /bin/ps
|     [...]
| 
| Etc.
| 
| And, the same is possible with [[translator]]s, too.
| 
| Check, system's shared Hurd libraries:
| 
|     $ ldd tmpfs/tmpfs
|             libhurdbugaddr.so.0.3 => /lib/libhurdbugaddr.so.0.3 (0x01036000)
|             libdiskfs.so.0.3 => /lib/libdiskfs.so.0.3 (0x01038000)
|             libpager.so.0.3 => /lib/libpager.so.0.3 (0x01060000)
|             libiohelp.so.0.3 => /lib/libiohelp.so.0.3 (0x01069000)
|             libfshelp.so.0.3 => /lib/libfshelp.so.0.3 (0x0106c000)
|             libstore.so.0.3 => /lib/libstore.so.0.3 (0x01072000)
|             libthreads.so.0.3 => /lib/libthreads.so.0.3 (0x010ba000)
|             libports.so.0.3 => /lib/libports.so.0.3 (0x010c1000)
|             libihash.so.0.3 => /lib/libihash.so.0.3 (0x010ca000)
|             libshouldbeinlibc.so.0.3 => /lib/libshouldbeinlibc.so.0.3 
(0x010ce000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x010da000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x0126b000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x01282000)
|             libparted.so.0 => /lib/libparted.so.0 (0x012a8000)
|             libuuid.so.1 => /lib/libuuid.so.1 (0x01315000)
|             libdl.so.2 => /lib/i386-gnu/libdl.so.2 (0x01319000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Check, local libdiskfs, and otherwise system's shared Hurd libraries:
| 
|     $ LD_LIBRARY_PATH="$PWD"/libdiskfs ldd tmpfs/tmpfs
|             libhurdbugaddr.so.0.3 => /lib/libhurdbugaddr.so.0.3 (0x01036000)
|             libdiskfs.so.0.3 => 
/home/thomas/tmp/hurd/git.build/libdiskfs/libdiskfs.so.0.3 (0x01038000)
|             libpager.so.0.3 => /lib/libpager.so.0.3 (0x01061000)
|             libiohelp.so.0.3 => /lib/libiohelp.so.0.3 (0x01069000)
|             libfshelp.so.0.3 => /lib/libfshelp.so.0.3 (0x0106c000)
|             libstore.so.0.3 => /lib/libstore.so.0.3 (0x01072000)
|             libthreads.so.0.3 => /lib/libthreads.so.0.3 (0x010ba000)
|             libports.so.0.3 => /lib/libports.so.0.3 (0x010c1000)
|             libihash.so.0.3 => /lib/libihash.so.0.3 (0x010cb000)
|             libshouldbeinlibc.so.0.3 => /lib/libshouldbeinlibc.so.0.3 
(0x010ce000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x010da000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x0126b000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x01282000)
|             libparted.so.0 => /lib/libparted.so.0 (0x012a9000)
|             libuuid.so.1 => /lib/libuuid.so.1 (0x01315000)
|             libdl.so.2 => /lib/i386-gnu/libdl.so.2 (0x01319000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Check, all local shared Hurd libraries:
| 
|     $ LD_LIBRARY_PATH="$PWD"/lib ldd tmpfs/tmpfs
|             libhurdbugaddr.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libhurdbugaddr.so.0.3 (0x0102b000)
|             libdiskfs.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libdiskfs.so.0.3 (0x0102d000)
|             libpager.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libpager.so.0.3 (0x01056000)
|             libiohelp.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libiohelp.so.0.3 (0x0105e000)
|             libfshelp.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libfshelp.so.0.3 (0x01061000)
|             libstore.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libstore.so.0.3 (0x01066000)
|             libthreads.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libthreads.so.0.3 (0x010ae000)
|             libports.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libports.so.0.3 (0x010b6000)
|             libihash.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libihash.so.0.3 (0x010be000)
|             libshouldbeinlibc.so.0.3 => 
/home/thomas/tmp/hurd/git.build/lib/libshouldbeinlibc.so.0.3 (0x010c1000)
|             libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x010d8000)
|             libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x01269000)
|             libhurduser.so.0.3 => /lib/i386-gnu/libhurduser.so.0.3 
(0x01281000)
|             libparted.so.0 => /lib/libparted.so.0 (0x012a7000)
|             libuuid.so.1 => /lib/libuuid.so.1 (0x01313000)
|             libdl.so.2 => /lib/i386-gnu/libdl.so.2 (0x01317000)
|             /lib/ld.so => /lib/ld.so.1 (0x00001000)
| 
| Run, system's shared Hurd libraries:
| 
|     $ settrans -ca tmp-0 /usr/bin/env "$PWD"/tmpfs 32M
| 
| Run, local libdiskfs, and otherwise system's shared Hurd libraries:
| 
|     $ settrans -ca tmp-0 /usr/bin/env LD_LIBRARAY_PATH="$PWD"/libdiskfs 
"$PWD"/tmpfs 32M
| 
| Run, all local shared Hurd libraries:
| 
|     $ settrans -ca tmp-0 /usr/bin/env LD_LIBRARAY_PATH="$PWD"/lib 
"$PWD"/tmpfs 32M
| 
| Likewise, if there is a reason to, it is possible to use the system's
| `/hurd/tmpfs` with a freshly built libdiskfs:
| 
|     $ settrans -ca tmp-0 /usr/bin/env LD_LIBRARAY_PATH="$PWD"/libdiskfs 
/hurd/tmpfs 32M
| 
| Etc.


Grüße,
 Thomas

Attachment: pgpMZhRKJ9JG6.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]