Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkgsStatic.libunwind fails to build #81198

Closed
LBensman opened this issue Feb 27, 2020 · 2 comments
Closed

pkgsStatic.libunwind fails to build #81198

LBensman opened this issue Feb 27, 2020 · 2 comments

Comments

@LBensman
Copy link

Describe the bug

Definition for pkgsStatic.libunwind fails to build.

To Reproduce

Steps to reproduce the behavior:

  1. Execute nix-build -E '(import <nixpkgs>{}).pkgsStatic.libunwind'

Build fails with:

copying selected object files to avoid basename conflicts...
libtool: link: ln x86_64/longjmp.o .libs/libunwind-setjmp.lax/lt1-longjmp.o || cp x86_64/longjmp.o .libs/libunwind-setjmp.lax/lt1-longjmp.o
libtool: link: ln x86_64/siglongjmp.o .libs/libunwind-setjmp.lax/lt2-siglongjmp.o || cp x86_64/siglongjmp.o .libs/libunwind-setjmp.lax/lt2-siglongjmp.o
libtool: link: x86_64-unknown-linux-musl-ar cru .libs/libunwind-setjmp.a setjmp/longjmp.o setjmp/siglongjmp.o .libs/libunwind-setjmp.lax/lt1-longjmp.o .libs/libunwind-setjmp.lax/lt2-siglongjmp.o .libs/libunwind-setjmp.lax/libunwind-elf64.a/elf64.o
x86_64-unknown-linux-musl-ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: x86_64-unknown-linux-musl-ranlib .libs/libunwind-setjmp.a
libtool: link: rm -fr .libs/libunwind-setjmp.lax .libs/libunwind-setjmp.lax
libtool: link: ( cd ".libs" && rm -f "libunwind-setjmp.la" && ln -s "../libunwind-setjmp.la" "libunwind-setjmp.la" )
make[2]: Leaving directory '/tmp/nix-build-libunwind-1.3.1-x86_64-unknown-linux-musl.drv-0/libunwind-1.3.1/src'
make[1]: Leaving directory '/tmp/nix-build-libunwind-1.3.1-x86_64-unknown-linux-musl.drv-0/libunwind-1.3.1/src'
Making all in tests
make[1]: Entering directory '/tmp/nix-build-libunwind-1.3.1-x86_64-unknown-linux-musl.drv-0/libunwind-1.3.1/tests'
x86_64-unknown-linux-musl-gcc -DHAVE_CONFIG_H -I. -I../include  -I../include -D_GNU_SOURCE -DNDEBUG  -g -O2 -fexceptions -Wall -Wsign-compare -c -o forker.o forker.c
/nix/store/828g2nqfgivscv79xykkmgjk0znll08l-bash-4.4-p23/bin/bash ../libtool  --tag=CC   --mode=link x86_64-unknown-linux-musl-gcc  -g -O2 -fexceptions -Wall -Wsign-compare -static  -o forker forker.o
libtool: link: x86_64-unknown-linux-musl-gcc -g -O2 -fexceptions -Wall -Wsign-compare -o forker forker.o
x86_64-unknown-linux-musl-gcc -DHAVE_CONFIG_H -I. -I../include  -I../include -D_GNU_SOURCE -DNDEBUG  -g -O2 -fexceptions -Wall -Wsign-compare -c -o Gperf-simple.o Gperf-simple.c
/nix/store/828g2nqfgivscv79xykkmgjk0znll08l-bash-4.4-p23/bin/bash ../libtool  --tag=CC   --mode=link x86_64-unknown-linux-musl-gcc  -g -O2 -fexceptions -Wall -Wsign-compare   -o Gperf-simple Gperf-simple.o ../src/libunwind-x86_64.la ../src/libunwind.la
libtool: link: x86_64-unknown-linux-musl-gcc -g -O2 -fexceptions -Wall -Wsign-compare -o Gperf-simple Gperf-simple.o  ../src/.libs/libunwind-x86_64.a /tmp/nix-build-libunwind-1.3.1-x86_64-unknown-linux-musl.drv-0/libunwind-1.3.1/src/.libs/libunwind.a ../src/.libs/libunwind.a -lc -lgcc_s -llzma
/nix/store/9wfys2786kmc1z4dqy0a6g151s4q9vb6-x86_64-unknown-linux-musl-binutils-2.31.1/bin/x86_64-unknown-linux-musl-ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:1110: Gperf-simple] Error 1
make[1]: Leaving directory '/tmp/nix-build-libunwind-1.3.1-x86_64-unknown-linux-musl.drv-0/libunwind-1.3.1/tests'
make: *** [Makefile:598: all-recursive] Error 1
builder for '/nix/store/kr4iygd77ng6j01w4255wka01mwavf97-libunwind-1.3.1-x86_64-unknown-linux-musl.drv' failed with exit code 2
error: build of '/nix/store/kr4iygd77ng6j01w4255wka01mwavf97-libunwind-1.3.1-x86_64-unknown-linux-musl.drv' failed

Expected behavior

Default definition builds out-of-the-box, either directly or by reference as dependency.

Metadata

 - system: `"x86_64-linux"`
 - host os: `Linux 4.9.125-linuxkit`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.2.2`
 - channels(root): `"nixpkgs-20.03beta321.be346a1f4bd"`
 - nixpkgs: `/root/.nix-defexpr/channels/nixpkgs`
@FRidh
Copy link
Member

FRidh commented Mar 29, 2020

Seems -lgcc_s needs to be replaced with -lgcc_eh in case of stdenv.hostPlatform.isMusl.

FRidh added a commit to FRidh/nixpkgs that referenced this issue Mar 29, 2020
@FRidh
Copy link
Member

FRidh commented Mar 29, 2020

fix in #83659

@FRidh FRidh added this to Needs review in Static builds Mar 29, 2020
@FRidh FRidh closed this as completed Mar 29, 2020
@FRidh FRidh moved this from Needs review to Done in Static builds Mar 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

3 participants