ld throws libc_nonshared.a: No such file or directory when run inside snap environment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snapcraft |
New
|
Undecided
|
Unassigned |
Bug Description
I was trying to snap an application which has a feature to create a virtual environments and I was facing an error trying to compile the netifaces module during the venv creation.
I traced that problem further and found that, during the configuration phase, the netifaces package tries to compile small programs[0] to discover the capabilities of the environment it is running in. Which was seemingly not working properly.
When I tried to compile the program manually, I discovered the error:
/snap/demo/
collect2: error: ld returned 1 exit status
I tried to use the GCC_EXEC_PATH and LIBRARY_PATH but couldn't manage to get it work.
The workaround I found was to use:
```
layout:
/usr/
bind-file: $SNAP/usr/
```
in the snapcraft.yaml.
I am attaching the snapcraft yaml that reproduces the issue, I am testing using snapcraft v7.4.3.
Reproducing steps:
sudo snap install ./demo_
snap run --shell demo.demo
gcc $SNAP/test.c
[0] https:/