all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* guix build problem, no RUNPATH on libpthread.so
@ 2020-04-20  9:55 Michael Zucchi
  2020-04-20 14:20 ` zimoun
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Zucchi @ 2020-04-20  9:55 UTC (permalink / raw)
  To: help-guix


I posted about this months ago but I think I got no answers or just gave 
up.  However a reddit discussion and boredom prompted me to revisit it 
and I think I have something that might be useful to someone.  I'm sorry 
I probably wont put much more time into this for the moment but I can 
try a few things out if someone gets back to me while the iron is hot.

I'm building on slackware64 current which is more or less comprised of 
'stable bleeding edge' and mostly unadulterated packages.

Using the instructions here after a pull and upgrade of guix and a pull 
of the repository: 
https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html#Building-from-Git

I ran guix environment guix --pure.

Then I ran configure but it failed saying that guile 3.0 could not be 
found.  After some poking i found this is provided by the guile-next 
package, so I had to manually install that.  So the instructions didn't 
work right off the bat but configure then completed just fine.

However make then fails:

[... lots and lots of errors about po4a-translate ...]

make[2]: [Makefile:5931: doc/guix-cookbook.de.texi] Error 1 (ignored)
   CXXLD    guix-daemon
/usr/bin/ld: 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0: 
undefined reference to `__libc_vfork@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3562: guix-daemon] Error 1
make[2]: Leaving directory '/home/notzed/src/guix'
make[1]: *** [Makefile:4929: all-recursive] Error 1
make[1]: Leaving directory '/home/notzed/src/guix'
make: *** [Makefile:3350: all] Error 2

Sigh ok, lets run make V=1 so I can see what it did.

notzed@shitzone:~/src/guix$ g++ -Wall -std=c++11 -g -O2   -o guix-daemon 
nix/nix-daemon/guix_daemon-nix-daemon.o 
nix/nix-daemon/guix_daemon-guix-daemon.o libstore.a libutil.a 
libformat.a -lz 
-L/gnu/store/i6l1579g80387rda658jy9cfqq82643d-sqlite-3.28.0/lib 
-lsqlite3 
-L/gnu/store/svalmdlzh2apapqjfsrp33qgkgcgbmc0-libgcrypt-1.8.5/lib 
-lgcrypt -lbz2
/usr/bin/ld: 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0: 
undefined reference to `__libc_vfork@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status

libsqlite3.so is the one dragging in libpthread.so (or at least one 
thereof):

notzed@shitzone:~/src/guix$ ldd 
/gnu/store/i6l1579g80387rda658jy9cfqq82643d-sqlite-3.28.0/lib/libsqlite3.so
         linux-vdso.so.1 (0x00007ffd851f1000)
         libm.so.6 => 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libm.so.6 
(0x00007f2e5ede1000)
         libdl.so.2 => 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libdl.so.2 
(0x00007f2e5eddc000)
         libpthread.so.0 => 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0 
(0x00007f2e5edbb000)
         libgcc_s.so.1 => 
/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/libgcc_s.so.1 
(0x00007f2e5eda2000)
         libc.so.6 => 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libc.so.6 
(0x00007f2e5ebe8000)
         /lib64/ld-linux-x86-64.so.2 (0x00007f2e5f035000)

notzed@shitzone:~$ ldd 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0
         linux-vdso.so.1 (0x00007ffd0e25f000)
         libc.so.6 => /lib64/libc.so.6 (0x00007f013c344000)
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/ld-linux-x86-64.so.2 
=> /lib64/ld-linux-x86-64.so.2 (0x00007f013c58c000)

But unlike the other libraries libpthread.so doesn't have an explicit 
path to it's matching libc and so just uses the system one.  slackware 
current currently has glibc 2.30, and it seems it or it's build 
configuration isn't compatible with glibc 2.29 as supplied by guix.

To me this looks like a bug with the glibc package creation as it seems 
to apply to all the other libraries in *-glibc-2.29/lib as well.  The 
package definition has the runpath stuff disabled which is what I 
presume causes this even though it's obviously intentional.

I've installed blender and that works and i think it builds from source 
but for whatever reason it resolves at link and run time but this 
doesn't.  I tried playing with the link order but it made no difference.

If I install gcc-toolchain then make completes, but that seems like a 
hack and it causes other issues with the use of the system as a 
development machine.  If gcc is linking with files which may get removed 
because they aren't referenced by a package (and i will not be doing 
that for development), then that's a pretty nasty gotcha somewhere down 
the line, not to mention it forces all libraries to be through guix so 
an all-in rather than non-interfering co-existence.

So given I got it to at least build using the install gcc-toolchain 
hack, ...

Well make check then fails because this system's kernel  doesn't have 
CONFIG_IA32_EMULATION enabled and a bunch of tests require the use of 
bootstrap binaries.  These provide aarch64, armhf, mips64el, i686, but 
no amd64 (or x86_64 if you prefer) binaries.

e.g. tests/challenge.log:

[lots of this, i presume this is a guile 2 v guile 3 thing again?]

;;; In procedure load-thunk-from-memory: incompatible bytecode kind
;;; WARNING: loading compiled file /home/notzed/src/guix/guix/nar.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode kind
;;; WARNING: loading compiled file 
/home/notzed/src/guix/guix/store/database.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode kind
;;; WARNING: loading compiled file 
/gnu/store/6fnsh1g610wps99jgsbd6d9hik1acb0s-profile/lib/guile/2.2/site-ccache/sqlite3.go 
failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode kind
;;; WARNING: loading compiled file 
/home/notzed/src/guix/guix/build/store-copy.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode kind
;;; WARNING: loading compiled file /home/notzed/src/guix/guix/pki.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode kind
@ build-started 
/home/notzed/src/guix/test-tmp/store/lpa2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv 
- x86_64-linux 
/home/notzed/src/guix/test-tmp/var/log/guix/drvs/lp//a2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv.bz2 
21892
while setting up the build environment: executing 
`/home/notzed/src/guix/test-tmp/store/f0ips0sdyhnhlfdqayvcbddqlijk7iid-bash': 
Exec format error
builder for 
`/home/notzed/src/guix/test-tmp/store/lpa2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv' 
failed with exit code 1
@ build-failed 
/home/notzed/src/guix/test-tmp/store/lpa2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv 
- 1 builder for 
`/home/notzed/src/guix/test-tmp/store/lpa2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv' 
failed with exit code 1
actual-value: #f
actual-error:
+ (%exception
+   #<&store-protocol-error message: "build of 
`/home/notzed/src/guix/test-tmp/store/lpa2w62qpklqh0x3r99030mhgx7qym5j-guile-bootstrap-2.0.drv' 
failed" status: 100>)
result: FAIL

And finally once tests/print.scm prints a red FAIL it just seems to hang 
indefinitely.

select(4, [3], NULL, NULL, {tv_sec=0, tv_usec=200}) = 0 (Timeout)
stat("/tmp/guix-directory.8o50sG/token1", 0x7ffc07a78740) = -1 ENOENT 
(No such file or directory)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0

strace shows this looping infinitely.  The test itself also fails due to 
the bash binary not being compatible with the system.


  !Z


----

Addendum:



Just for interest here is the output of g++ -v:

notzed@shitzone:~/src/guix$ g++ -v -Wall -std=c++11 -g -O2   -o 
guix-daemon nix/nix-daemon/guix_daemon-nix-daemon.o 
nix/nix-daemon/guix_daemon-guix-daemon.o libstore.a libutil.a 
libformat.a -lz 
-L/gnu/store/i6l1579g80387rda658jy9cfqq82643d-sqlite-3.28.0/lib 
-lsqlite3 
-L/gnu/store/svalmdlzh2apapqjfsrp33qgkgcgbmc0-libgcrypt-1.8.5/lib 
-lgcrypt -lbz2
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/9.3.0/specs
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../configure --prefix=/usr --libdir=/usr/lib64 
--mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap 
--enable-languages=ada,brig,c,c++,d,fortran,go,lto,objc,obj-c++ 
--enable-threads=posix --enable-checking=release --enable-objc-gc 
--with-system-zlib --enable-libstdcxx-dual-abi 
--with-default-libstdcxx-abi=new --disable-libstdcxx-pch 
--disable-libunwind-exceptions --enable-__cxa_atexit --disable-libssp 
--enable-gnu-unique-object --enable-plugin --enable-lto 
--disable-install-libiberty --disable-werror --with-gnu-ld --with-isl 
--verbose --with-arch-directory=amd64 --disable-gtktest 
--enable-clocale=gnu --disable-multilib --target=x86_64-slackware-linux 
--build=x86_64-slackware-linux --host=x86_64-slackware-linux
Thread model: posix
gcc version 9.3.0 (GCC)
COMPILER_PATH=/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/:/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/:/usr/libexec/gcc/x86_64-slackware-linux/:/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/:/usr/lib64/gcc/x86_64-slackware-linux/:/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../x86_64-slackware-linux/bin/
LIBRARY_PATH=/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/:/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gnu/store/6fnsh1g610wps99jgsbd6d9hik1acb0s-profile/lib/:/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-Wall' '-std=c++11' '-g' '-O2' '-o' 
'guix-daemon' 
'-L/gnu/store/i6l1579g80387rda658jy9cfqq82643d-sqlite-3.28.0/lib' 
'-L/gnu/store/svalmdlzh2apapqjfsrp33qgkgcgbmc0-libgcrypt-1.8.5/lib' 
'-shared-libgcc' '-mtune=generic' '-march=x86-64'
  /usr/libexec/gcc/x86_64-slackware-linux/9.3.0/collect2 -plugin 
/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/liblto_plugin.so 
-plugin-opt=/usr/libexec/gcc/x86_64-slackware-linux/9.3.0/lto-wrapper 
-plugin-opt=-fresolution=/tmp/ccT4F8CQ.res 
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc 
-plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s 
-plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 
-dynamic-linker /lib64/ld-linux-x86-64.so.2 -o guix-daemon 
/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../lib64/crt1.o 
/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../lib64/crti.o 
/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/crtbegin.o 
-L/gnu/store/i6l1579g80387rda658jy9cfqq82643d-sqlite-3.28.0/lib 
-L/gnu/store/svalmdlzh2apapqjfsrp33qgkgcgbmc0-libgcrypt-1.8.5/lib 
-L/usr/lib64/gcc/x86_64-slackware-linux/9.3.0 
-L/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../lib64 
-L/lib/../lib64 -L/usr/lib/../lib64 
-L/gnu/store/6fnsh1g610wps99jgsbd6d9hik1acb0s-profile/lib 
-L/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../.. 
nix/nix-daemon/guix_daemon-nix-daemon.o 
nix/nix-daemon/guix_daemon-guix-daemon.o libstore.a libutil.a 
libformat.a -lz -lsqlite3 -lgcrypt -lbz2 -lstdc++ -lm -lgcc_s -lgcc -lc 
-lgcc_s -lgcc /usr/lib64/gcc/x86_64-slackware-linux/9.3.0/crtend.o 
/usr/lib64/gcc/x86_64-slackware-linux/9.3.0/../../../../lib64/crtn.o
/usr/bin/ld: 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0: 
undefined reference to `__libc_vfork@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: guix build problem, no RUNPATH on libpthread.so
  2020-04-20  9:55 guix build problem, no RUNPATH on libpthread.so Michael Zucchi
@ 2020-04-20 14:20 ` zimoun
  2020-04-21  0:11   ` Michael Zucchi
  0 siblings, 1 reply; 7+ messages in thread
From: zimoun @ 2020-04-20 14:20 UTC (permalink / raw)
  To: Michael Zucchi; +Cc: help-guix

Dear,

On Mon, 20 Apr 2020 at 11:56, Michael Zucchi <notzed@gmail.com> wrote:

[...]

> I ran guix environment guix --pure.

Which version (commit) of Guix do you use?
Could you provide the output of "guix describe"?


> Then I ran configure but it failed saying that guile 3.0 could not be
> found.  After some poking i found this is provided by the guile-next
> package, so I had to manually install that.  So the instructions didn't
> work right off the bat but configure then completed just fine.

Which commit of the repo are you trying to compile?


> However make then fails:

Depending on when was the last "guix pull" and when was the last "git
pull" and what you already compiled month ago, failing could happen;
especially because Guile has been updated from 2 to 3.

After updating "guix pull" and "git pull", you could try:

  guix environment guix --pure
  make distclean
  ./configure --localstatedir=/var/
  make


Hope that helps.

All the best,
simon

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: guix build problem, no RUNPATH on libpthread.so
  2020-04-20 14:20 ` zimoun
@ 2020-04-21  0:11   ` Michael Zucchi
  2020-04-21  5:36     ` Efraim Flashner
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Zucchi @ 2020-04-21  0:11 UTC (permalink / raw)
  To: zimoun; +Cc: help-guix


On 20/4/20 11:50 pm, zimoun wrote:
> Dear,
>
> On Mon, 20 Apr 2020 at 11:56, Michael Zucchi <notzed@gmail.com> wrote:
>
> [...]
>
>> I ran guix environment guix --pure.
> Which version (commit) of Guix do you use?
> Could you provide the output of "guix describe"?
>
>
>> Then I ran configure but it failed saying that guile 3.0 could not be
>> found.  After some poking i found this is provided by the guile-next
>> package, so I had to manually install that.  So the instructions didn't
>> work right off the bat but configure then completed just fine.
> Which commit of the repo are you trying to compile?
>
>
>> However make then fails:
> Depending on when was the last "guix pull" and when was the last "git
> pull" and what you already compiled month ago, failing could happen;
> especially because Guile has been updated from 2 to 3.
>
> After updating "guix pull" and "git pull", you could try:
>
>    guix environment guix --pure
>    make distclean
>    ./configure --localstatedir=/var/
>    make
>
>
> Hope that helps.
>
> All the best,
> simon
>

Rather than stuff around repeating stuff I have already worked past 
successfully, I just deleted everything and started from scratch:

  - new guix checkout
  - blew away /gnu and /var/guix
  - install freshly from latest guix 1.1 binary install as listed in the 
online manual, it passed the signature check. 
https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation
  - re-ran demon,  with --no-substitutes (users and groups were already 
there)

But the first guix pull fails because it tries to run a 32 bit binary, 
so ultimately fails for the the same reason as detailed in my previous 
email.

...
building 
/gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv...
builder for 
`/gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv' 
failed with exit code 1
build of 
/gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv failed
View build log at 
'/var/log/guix/drvs/9g/3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv.bz2'.
...
notzed@shitzone:~/src$ bzcat 
/var/log/guix/drvs/9g/3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv.bz2
while setting up the build environment: executing 
`/gnu/store/mzfkrxd4w8vqrmyrx169wj8wyw7r8i37-bash': Exec format error

So I removed the --no-substitutes flag, restarted the demon, and re-ran 
guix pull and that ran to completion.  Then I ran guix environment guix 
--pure and bootstrap.

Now configure finds guile fine ('yay') but make still fails when linking 
guix for the same reason as before, see the previous email.

   MAKEINFO doc/guix-cookbook.info
   PO4A doc/guix-cookbook.de.texi
/home/notzed/src/guix/build-aux/missing: line 81: po4a-translate: 
command not found
WARNING: 'po4a-translate' is missing on your system.
          You might have modified some files without having the proper
          tools for further handling them.  Check the 'README' file, it
          often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in
          case some other package contains this missing 'po4a-translate' 
program.
make[2]: [Makefile:5929: doc/guix-cookbook.de.texi] Error 127 (ignored)
sed -i "s|guix-cookbook\.info|$(basename "doc/guix-cookbook.de.texi" | 
sed 's|texi$|info|')|" "doc/guix-cookbook.de.texi.tmp"
sed: can't read doc/guix-cookbook.de.texi.tmp: No such file or directory
make[2]: [Makefile:5930: doc/guix-cookbook.de.texi] Error 2 (ignored)
   POXREF doc/guix-cookbook.de.texi
cat: doc/guix-cookbook.de.texi.tmp: No such file or directory
mv "doc/guix-cookbook.de.texi.tmp" "doc/guix-cookbook.de.texi"
mv: cannot stat 'doc/guix-cookbook.de.texi.tmp': No such file or directory
make[2]: [Makefile:5932: doc/guix-cookbook.de.texi] Error 1 (ignored)
   MAKEINFO doc/guix-cookbook.de.info
./doc/guix-cookbook.de.texi: warning: document without nodes
   CXX      nix/nix-daemon/guix_daemon-nix-daemon.o
   CXX      nix/nix-daemon/guix_daemon-guix-daemon.o
   CXX      nix/libstore/libstore_a-gc.o
   CXX      nix/libstore/libstore_a-globals.o
   CXX      nix/libstore/libstore_a-misc.o
   CXX      nix/libstore/libstore_a-references.o
   CXX      nix/libstore/libstore_a-store-api.o
   CXX      nix/libstore/libstore_a-optimise-store.o
   CXX      nix/libstore/libstore_a-local-store.o
   CXX      nix/libstore/libstore_a-build.o
   CXX      nix/libstore/libstore_a-pathlocks.o
   CXX      nix/libstore/libstore_a-derivations.o
   CXX      nix/libstore/libstore_a-builtins.o
   CXX      nix/libstore/libstore_a-sqlite.o
   AR       libstore.a
   CXX      nix/libutil/libutil_a-archive.o
   CXX      nix/libutil/libutil_a-affinity.o
   CXX      nix/libutil/libutil_a-serialise.o
   CXX      nix/libutil/libutil_a-util.o
   CXX      nix/libutil/libutil_a-hash.o
   CXX      nix/libutil/libutil_a-gcrypt-hash.o
   AR       libutil.a
   CXX      nix/boost/format/libformat_a-free_funcs.o
   CXX      nix/boost/format/libformat_a-parsing.o
   CXX      nix/boost/format/libformat_a-format_implementation.o
   AR       libformat.a
   CXXLD    guix-daemon
/usr/bin/ld: 
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0: 
undefined reference to `__libc_vfork@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3563: guix-daemon] Error 1
make[2]: Leaving directory '/home/notzed/src/guix'
make[1]: *** [Makefile:4930: all-recursive] Error 1
make[1]: Leaving directory '/home/notzed/src/guix'
make: *** [Makefile:3351: all] Error 2
notzed@shitzone:~/src/guix$


notzed@shitzone:~/src/guix$ git describe
v1.1.0-440-gce5f4701d1

notzed@shitzone:~/src/guix$ guix describe
Generation 1    Apr 21 2020 09:19:55    (current)
   guix ce5f470
     repository URL: https://git.savannah.gnu.org/git/guix.git
     branch: master
     commit: ce5f4701d1e5c88c622a0d05a96ddfb31c117455

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: guix build problem, no RUNPATH on libpthread.so
  2020-04-21  0:11   ` Michael Zucchi
@ 2020-04-21  5:36     ` Efraim Flashner
  2020-04-21  7:55       ` bug#40740: " zimoun
  2020-04-21  7:55       ` zimoun
  0 siblings, 2 replies; 7+ messages in thread
From: Efraim Flashner @ 2020-04-21  5:36 UTC (permalink / raw)
  To: Michael Zucchi; +Cc: bug-guix, help-guix

[-- Attachment #1: Type: text/plain, Size: 6828 bytes --]

CCing bug-guix

On Tue, Apr 21, 2020 at 09:41:47AM +0930, Michael Zucchi wrote:
> 
> On 20/4/20 11:50 pm, zimoun wrote:
> > Dear,
> > 
> > On Mon, 20 Apr 2020 at 11:56, Michael Zucchi <notzed@gmail.com> wrote:
> > 
> > [...]
> > 
> > > I ran guix environment guix --pure.
> > Which version (commit) of Guix do you use?
> > Could you provide the output of "guix describe"?
> > 
> > 
> > > Then I ran configure but it failed saying that guile 3.0 could not be
> > > found.  After some poking i found this is provided by the guile-next
> > > package, so I had to manually install that.  So the instructions didn't
> > > work right off the bat but configure then completed just fine.
> > Which commit of the repo are you trying to compile?
> > 
> > 
> > > However make then fails:
> > Depending on when was the last "guix pull" and when was the last "git
> > pull" and what you already compiled month ago, failing could happen;
> > especially because Guile has been updated from 2 to 3.
> > 
> > After updating "guix pull" and "git pull", you could try:
> > 
> >    guix environment guix --pure
> >    make distclean
> >    ./configure --localstatedir=/var/
> >    make
> > 
> > 
> > Hope that helps.
> > 
> > All the best,
> > simon
> > 
> 
> Rather than stuff around repeating stuff I have already worked past
> successfully, I just deleted everything and started from scratch:
> 
>  - new guix checkout
>  - blew away /gnu and /var/guix
>  - install freshly from latest guix 1.1 binary install as listed in the
> online manual, it passed the signature check. https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation
>  - re-ran demon,  with --no-substitutes (users and groups were already
> there)
> 
> But the first guix pull fails because it tries to run a 32 bit binary, so
> ultimately fails for the the same reason as detailed in my previous email.
> 
> ...
> building
> /gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv...
> builder for
> `/gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv' failed
> with exit code 1
> build of /gnu/store/9g3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv
> failed
> View build log at '/var/log/guix/drvs/9g/3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv.bz2'.
> ...
> notzed@shitzone:~/src$ bzcat /var/log/guix/drvs/9g/3mfjpxajl69krfwvdiaznz5gh54af2-guile-bootstrap-2.0.drv.bz2
> while setting up the build environment: executing
> `/gnu/store/mzfkrxd4w8vqrmyrx169wj8wyw7r8i37-bash': Exec format error
> 
> So I removed the --no-substitutes flag, restarted the demon, and re-ran guix
> pull and that ran to completion.  Then I ran guix environment guix --pure
> and bootstrap.
> 
> Now configure finds guile fine ('yay') but make still fails when linking
> guix for the same reason as before, see the previous email.
> 
>   MAKEINFO doc/guix-cookbook.info
>   PO4A doc/guix-cookbook.de.texi
> /home/notzed/src/guix/build-aux/missing: line 81: po4a-translate: command
> not found
> WARNING: 'po4a-translate' is missing on your system.
>          You might have modified some files without having the proper
>          tools for further handling them.  Check the 'README' file, it
>          often tells you about the needed prerequisites for installing
>          this package.  You may also peek at any GNU archive site, in
>          case some other package contains this missing 'po4a-translate'
> program.
> make[2]: [Makefile:5929: doc/guix-cookbook.de.texi] Error 127 (ignored)
> sed -i "s|guix-cookbook\.info|$(basename "doc/guix-cookbook.de.texi" | sed
> 's|texi$|info|')|" "doc/guix-cookbook.de.texi.tmp"
> sed: can't read doc/guix-cookbook.de.texi.tmp: No such file or directory
> make[2]: [Makefile:5930: doc/guix-cookbook.de.texi] Error 2 (ignored)
>   POXREF doc/guix-cookbook.de.texi
> cat: doc/guix-cookbook.de.texi.tmp: No such file or directory
> mv "doc/guix-cookbook.de.texi.tmp" "doc/guix-cookbook.de.texi"
> mv: cannot stat 'doc/guix-cookbook.de.texi.tmp': No such file or directory
> make[2]: [Makefile:5932: doc/guix-cookbook.de.texi] Error 1 (ignored)
>   MAKEINFO doc/guix-cookbook.de.info
> ./doc/guix-cookbook.de.texi: warning: document without nodes
>   CXX      nix/nix-daemon/guix_daemon-nix-daemon.o
>   CXX      nix/nix-daemon/guix_daemon-guix-daemon.o
>   CXX      nix/libstore/libstore_a-gc.o
>   CXX      nix/libstore/libstore_a-globals.o
>   CXX      nix/libstore/libstore_a-misc.o
>   CXX      nix/libstore/libstore_a-references.o
>   CXX      nix/libstore/libstore_a-store-api.o
>   CXX      nix/libstore/libstore_a-optimise-store.o
>   CXX      nix/libstore/libstore_a-local-store.o
>   CXX      nix/libstore/libstore_a-build.o
>   CXX      nix/libstore/libstore_a-pathlocks.o
>   CXX      nix/libstore/libstore_a-derivations.o
>   CXX      nix/libstore/libstore_a-builtins.o
>   CXX      nix/libstore/libstore_a-sqlite.o
>   AR       libstore.a
>   CXX      nix/libutil/libutil_a-archive.o
>   CXX      nix/libutil/libutil_a-affinity.o
>   CXX      nix/libutil/libutil_a-serialise.o
>   CXX      nix/libutil/libutil_a-util.o
>   CXX      nix/libutil/libutil_a-hash.o
>   CXX      nix/libutil/libutil_a-gcrypt-hash.o
>   AR       libutil.a
>   CXX      nix/boost/format/libformat_a-free_funcs.o
>   CXX      nix/boost/format/libformat_a-parsing.o
>   CXX      nix/boost/format/libformat_a-format_implementation.o
>   AR       libformat.a
>   CXXLD    guix-daemon
> /usr/bin/ld:
> /gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0:
> undefined reference to `__libc_vfork@GLIBC_PRIVATE'
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:3563: guix-daemon] Error 1
> make[2]: Leaving directory '/home/notzed/src/guix'
> make[1]: *** [Makefile:4930: all-recursive] Error 1
> make[1]: Leaving directory '/home/notzed/src/guix'
> make: *** [Makefile:3351: all] Error 2
> notzed@shitzone:~/src/guix$
> 
> 
> notzed@shitzone:~/src/guix$ git describe
> v1.1.0-440-gce5f4701d1
> 
> notzed@shitzone:~/src/guix$ guix describe
> Generation 1    Apr 21 2020 09:19:55    (current)
>   guix ce5f470
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: ce5f4701d1e5c88c622a0d05a96ddfb31c117455
> 
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#40740: guix build problem, no RUNPATH on libpthread.so
  2020-04-21  5:36     ` Efraim Flashner
@ 2020-04-21  7:55       ` zimoun
  2020-04-21  7:55       ` zimoun
  1 sibling, 0 replies; 7+ messages in thread
From: zimoun @ 2020-04-21  7:55 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 40740, help-guix, Michael Zucchi

Dear Michael,

> On Tue, Apr 21, 2020 at 09:41:47AM +0930, Michael Zucchi wrote:

> > But the first guix pull fails because it tries to run a 32 bit binary, so
> > ultimately fails for the the same reason as detailed in my previous email.

To be sure to understand,
 - your machine is 64bit
 - and you are running Guix on the top of Slackware
 - Guix has been installed using this script
https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
Right?
Then, something screws up and some 32bit stuff shows up, right?

The previous emails related to this topic you mentioned ("I posted
about this months ago but I think I got no answers") in this thread
are [1] and [2], right?

[1] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00111.html
[2] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00131.html


All the best,
simon

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: guix build problem, no RUNPATH on libpthread.so
  2020-04-21  5:36     ` Efraim Flashner
  2020-04-21  7:55       ` bug#40740: " zimoun
@ 2020-04-21  7:55       ` zimoun
  2020-04-22  0:35         ` bug#40740: " Michael Zucchi
  1 sibling, 1 reply; 7+ messages in thread
From: zimoun @ 2020-04-21  7:55 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 40740, help-guix

Dear Michael,

> On Tue, Apr 21, 2020 at 09:41:47AM +0930, Michael Zucchi wrote:

> > But the first guix pull fails because it tries to run a 32 bit binary, so
> > ultimately fails for the the same reason as detailed in my previous email.

To be sure to understand,
 - your machine is 64bit
 - and you are running Guix on the top of Slackware
 - Guix has been installed using this script
https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
Right?
Then, something screws up and some 32bit stuff shows up, right?

The previous emails related to this topic you mentioned ("I posted
about this months ago but I think I got no answers") in this thread
are [1] and [2], right?

[1] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00111.html
[2] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00131.html


All the best,
simon

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#40740: guix build problem, no RUNPATH on libpthread.so
  2020-04-21  7:55       ` zimoun
@ 2020-04-22  0:35         ` Michael Zucchi
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Zucchi @ 2020-04-22  0:35 UTC (permalink / raw)
  To: zimoun, Efraim Flashner; +Cc: 40740, help-guix

[-- Attachment #1: Type: text/plain, Size: 2715 bytes --]


G'day Simon,

On 21/4/20 5:25 pm, zimoun wrote:
> Dear Michael,
>
>> On Tue, Apr 21, 2020 at 09:41:47AM +0930, Michael Zucchi wrote:
>>> But the first guix pull fails because it tries to run a 32 bit binary, so
>>> ultimately fails for the the same reason as detailed in my previous email.
> To be sure to understand,
>   - your machine is 64bit
>   - and you are running Guix on the top of Slackware
>   - Guix has been installed using this script
> https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
> Right?

Correct although I can't remember if i ran the script or used the steps 
in the manual 
[https://guix.gnu.org/manual/en/html_node/Binary-Installation.html].   
slackware doesn't use one of the supported init systems and all the 
steps it performs are trivial so i might've skipped it.  guix with 
substitutions was working ok for the limited use I made of it.

> Then, something screws up and some 32bit stuff shows up, right?

Well yes and no - nothing screws up and the behaviour is intended it 
just doesn't work.   As i found[2] 4 months ago, the bootstrap package 
explicitly uses i686 binaries for amd64 because (I presume) they are 
statically linked and all amd64 hardware supports executing 32-bit mode 
code.  But my linux configuration disables it because i don't need or 
want it.

It all happens here:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bootstrap.scm#n128

|(define bootstrap-executable (mlambda (program system) "Return an 
origin for PROGRAM, a statically-linked bootstrap executable built for 
SYSTEM." ;>>>>>>>>>>>>>>  (let ((system (if (string=? system 
"x86_64-linux") "i686-linux" system))) ;<<<<<<<<<<<<<<  (match 
(assoc-ref (assoc-ref %bootstrap-executables system) program) (#f (raise 
(condition (&message (message (format #f (G_ "could not find bootstrap 
binary '~a' \ for system '~a'") program system)))))) ((sha256) (origin 
(method url-fetch/executable) (uri (bootstrap-executable-url program 
system)) (file-name program) (sha256 sha256))))))) |

||
||
|I attempted modifying this to use 64-bit binaries at the time but it 
wouldn't use the ones i supplied when it|
|came to executing the tests.  So I dropped it as it was going nowhere 
fast, nobody seemed interested, and had
other things to do like xmas. ||Those failed attempts are long gone.|
||
||
||
> The previous emails related to this topic you mentioned ("I posted
> about this months ago but I think I got no answers") in this thread
> are [1] and [2], right?
>
> [1] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00111.html
> [2] https://lists.gnu.org/archive/html/help-guix/2019-12/msg00131.html
>
Yeah.

> All the best,
> simon

Cheers,
  Z



[-- Attachment #2: Type: text/html, Size: 5367 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-04-22  0:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-20  9:55 guix build problem, no RUNPATH on libpthread.so Michael Zucchi
2020-04-20 14:20 ` zimoun
2020-04-21  0:11   ` Michael Zucchi
2020-04-21  5:36     ` Efraim Flashner
2020-04-21  7:55       ` bug#40740: " zimoun
2020-04-21  7:55       ` zimoun
2020-04-22  0:35         ` bug#40740: " Michael Zucchi

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.