[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
pgpMZhRKJ9JG6.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Hurd: Populate a [build]/lib directory with links to all shared libraries.,
Thomas Schwinge <=