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 <tho...@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
pgpNLBSeud6ux.pgp
Description: PGP signature