bazel-contrib / bazel-contrib/rules_perl

The perl binaries included in the toolchains are not static binaries

Open
#54 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
31
Forks
49
PR merge metrics
No merged PRs in 30d

Description

The perl binaries included in the toolchains are not static binaries. Instead, they link against a number of libraries:

```shell-session
ldd perl
linux-vdso.so.1 (0x00007ffc8a09a000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f525fd82000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f525fd7d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f525fc96000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f525fc5c000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f525fc57000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f525fa2f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f525fda0000)
```

This makes the rules non-hermetic and prevents usage in clean environments like nixOS.
The issue also has been raised with the source of the perl binaries some time ago: https://github.com/skaji/relocatable-perl/issues/13

Some background:

I want to compile openssl hermetically within bazel.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with `ldd perl` on the Perl binaries included in the toolchains, then review the linked relocatable-perl issue for the source-side context. Done means the included Perl binaries no longer depend on host libraries and can run in clean environments such as NixOS.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.