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

Move from Travis to GitHub Actions #194

Merged
merged 2 commits into from
Jul 7, 2023
Merged

Conversation

JonathonReinhart
Copy link
Owner

@JonathonReinhart
Copy link
Owner Author

A blocker for this effort is that my new code is (properly) detecting this error:

Making staticx executable ($STATICX_FLAGS=):
staticx: /tmp/staticx-pyi-3bnt72x1/_bisect.cpython-35m-x86_64-linux-gnu.so uses unsupported DT_RUNPATH ('/opt/hostedtoolcache/Python/3.5.10/x64/lib').
See https://github.com/JonathonReinhart/staticx/issues/188

In this case it seems that actions/setup-python@v1 and its hostedtoolcache Python builds are partly to blame.

@JonathonReinhart
Copy link
Owner Author

JonathonReinhart commented Jul 6, 2023

b0063fc failed:

  • Python 3.5:

    E: Unable to locate package python3.5-dev
    
    • Presumably because Deadsnakes PPA has no Python 3.5 package for jammy
      • Even for focal, there is no python3.5-distutils (log)
  • Python 3.6

    E: Unable to locate package python3.6-dev
    
    • Presumably because Deadsnakes PPA has no Python 3.6 package for jammy
  • Python 3.7

    gcc -o scons_build/debug/libnssfix/libnssfix.so -Wl,--fatal-warnings -Wl,--no-as-needed -nostdlib -Wl,--no-undefined -shared scons_build/debug/libnssfix/nssfix.os -Lscons_build/debug/lib scons_build/debug/libnssfix/libc.so.6 -lnss_dns -lnss_files
    /bin/ld: cannot find -lnss_dns: No such file or directory
    /bin/ld: cannot find -lnss_files: No such file or directory
    
    • Wait, we're passing -nostdlib and -lnss_dns -lnss_files? How is the linker supposed to find those if we pass -nostdlib? How did this ever work? Is this a GCC / LD version difference?
      • CI:
        • gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
        • GNU ld (GNU Binutils for Ubuntu) 2.38
      • My workstation:
        • gcc (Debian 10.2.1-6) 10.2.1 20210110
        • GNU ld (GNU Binutils for Debian) 2.35.2
      • Reproduced in ubuntu:22.04 docker container
      • Oops, nope... the problem is missing symlinks: Moved to libnssfix fails to build under Ubuntu 22.04 #245

JonathonReinhart and others added 2 commits July 7, 2023 04:17
We use Python from the deadsnakes Ubuntu PPA because the Python from
actions/setup-python links with RUNPATH which is not compatible with
StaticX. Thanks @jmsmkn for the tip and initial implementation in #224.

https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
actions/setup-python#325
@JonathonReinhart JonathonReinhart marked this pull request as ready for review July 7, 2023 08:19
@JonathonReinhart
Copy link
Owner Author

Thanks @jmsmkn for #224 and the suggestion to use the deadsnakes PPA!

@JonathonReinhart JonathonReinhart merged commit 79656dd into main Jul 7, 2023
1 check passed
@JonathonReinhart JonathonReinhart deleted the 124-move-to-gh-actions branch July 7, 2023 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant