Re: [racket-users] How to compile static racket binaries

2020-04-02 Thread Jonathan Simpson
On Thursday, April 2, 2020 at 10:24:58 AM UTC-4, Matthew Flatt wrote: > > > I'm not sure how well statically linking to the C library will work. I > get several linker warnings like this one: > > warning: Using 'getgrgid' in statically linked applications requires > at runtime the shared libr

Re: [racket-users] How to compile static racket binaries

2020-04-02 Thread George Neuner
On 4/2/2020 10:24 AM, Matthew Flatt wrote: At Thu, 2 Apr 2020 06:28:00 -0700 (PDT), Tristram Oaten wrote: > I've compiled it on ubuntu 19:10, and am running into this problem on > ubuntu:latest (18.04), due to the different versions of libc. Ah, I didn't realize that the C library version ha

Re: [racket-users] How to compile static racket binaries

2020-04-02 Thread Matthew Flatt
At Thu, 2 Apr 2020 06:28:00 -0700 (PDT), Tristram Oaten wrote: > I've compiled it on ubuntu 19:10, and am running into this problem on > ubuntu:latest (18.04), due to the different versions of libc. Ah, I didn't realize that the C library version had changed in recent Linux distributions. (It had

Re: [racket-users] How to compile static racket binaries

2020-04-02 Thread Tristram Oaten
Thanks Matthew. My use case is trying to get binaries into a container for deployment. I've compiled it on ubuntu 19:10, and am running into this problem on ubuntu:latest (18.04), due to the different versions of libc. If I run on ubuntu:19.10, it works as expected, but that's too brittle for m

Re: [racket-users] How to compile static racket binaries

2020-04-02 Thread Matthew Flatt
Those ".so"s are OS-supplied dynamic libraries, and I think there's no way to link to them statically. Of course, the resulting executable will only work on a sufficiently compatible variant of Linux. Are you seeing a specific problem when moving the executable among machines? If so, what are the

[racket-users] How to compile static racket binaries

2020-04-02 Thread Tristram Oaten
Hi friends. raco exe makes dynamic executables, and raco distribute doesn't change that: $ ldd ./tst linux-vdso.so.1 (0x7ffc9ed46000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fbeb4c09000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fbeb4a18000) /lib64/ld-linu