Skip to content

dont search libgcc_s.so.1 in $OUT_DIR - error: No such file or directory #5587

Open
@milahu

Description

@milahu

Discord username

No response

How important is this feature to you?

0 – Not too important

Describe the idea you'd like to see implemented.

example build

export OUT_DIR=/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1
cargo build --profile buildscript --target-dir target/enso-build --package enso-build-cli

fails with a useless "No such file or directory" error

strace

build-script-build is searching libgcc_s.so.1 in $OUT_DIR
but should search in $LD_LIBRARY_PATH (or so?)

strace -f -v -s 100 \
./target/enso-build/buildscript/build/enso-build-*/build-script-build

openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/glibc-hwcaps/x86-64-v2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/tls/x86_64/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/tls/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/x86_64/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib/glibc-hwcaps/x86-64-v3/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib/glibc-hwcaps/x86-64-v2/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib/tls/x86_64/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib/tls/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/3ij2nfypp3kz9301f2bizk8frx030ajn-enso-2022.6.1/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

workaround

symlink libgcc_s.so.1 to the expected location, for example

mkdir -p $OUT_DIR/lib64
ln -s -v ${glibc}/lib/libgcc_s.so.1 $OUT_DIR/lib64/libgcc_s.so.1

the current build system assumes a FHS filesystem layout
where OUT_DIR=/usr so it will find libgcc_s.so.1 in /usr/lib/libgcc_s.so.1

for example nix does not use FHS

Is your feature request related to a problem?

No response

Screenshots, screencasts, mockups.

No response

Would you be willing to help us implement this feature?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    -build-scriptCategory: build scriptp-lowestShould be completed at some point

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions