Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 27, 2022 dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Dear All, I am trying to create a static executable to be able to run it on virtually any linux x86_64 OS. At the end I get a binary, however, multiple warnings are printed after compilation. My dub.sdl: dependency "mir" version="~>3.2.3" dependency "lubeck" version="~>1.5.1" lflags "-lopenblas" "-lgfortran" dflags "--static" "-O3" dub build --force --compiler=path_to_ldc/ldc2 curl.d:(.text._D3std3net4curl7CurlAPI7loadAPIFZPv+0xd): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking and many other warnings like this. What am I doing wrong? Any way to fix it? |
October 27, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to Yura | On Thursday, 27 October 2022 at 08:08:38 UTC, Yura wrote: > What am I doing wrong? Any way to fix it? https://forum.dlang.org/thread/gghcyaapjwfcpnvkswef@forum.dlang.org worked for me. |
October 27, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anonymouse | Thank you! I tried this one, but it did not help. All these warnings survived :
"... Using 'getservbyport' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking"
On Thursday, 27 October 2022 at 14:18:01 UTC, Anonymouse wrote:
> On Thursday, 27 October 2022 at 08:08:38 UTC, Yura wrote:
>> What am I doing wrong? Any way to fix it?
>
> https://forum.dlang.org/thread/gghcyaapjwfcpnvkswef@forum.dlang.org worked for me.
|
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to Yura | For fully static linking on Linux, you'll need to move away from glibc to e.g. the musl C runtime, as used by the Alpine distro. |
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to Yura | On Thursday, 27 October 2022 at 08:08:38 UTC, Yura wrote:
>
> curl.d:(.text._D3std3net4curl7CurlAPI7loadAPIFZPv+0xd): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
>
> and many other warnings like this.
>
> What am I doing wrong? Any way to fix it?
This has nothing to do with dub and is not a D issue specifically. Enter your error message in Google and you'll get a long list of results. Maybe one of them can help you.
|
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Parker | On Friday, 28 October 2022 at 01:37:50 UTC, Mike Parker wrote:
>
> This has nothing to do with dub and is not a D issue specifically. Enter your error message in Google and you'll get a long list of results. Maybe one of them can help you.
Or do what kinke suggests :-)
|
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to kinke | On Friday, 28 October 2022 at 01:35:04 UTC, kinke wrote:
> For fully static linking on Linux, you'll need to move away from glibc to e.g. the musl C runtime, as used by the Alpine distro.
I'm just right now having an issue with glibc version mismatch for my server, so i'm looking to move to musl to avoid that kind of issues
Is there any guide to compile ldc with musl and then static link it?
|
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to ryuukk_ | On Friday, 28 October 2022 at 02:46:42 UTC, ryuukk_ wrote:
> On Friday, 28 October 2022 at 01:35:04 UTC, kinke wrote:
>> For fully static linking on Linux, you'll need to move away from glibc to e.g. the musl C runtime, as used by the Alpine distro.
>
> I'm just right now having an issue with glibc version mismatch for my server, so i'm looking to move to musl to avoid that kind of issues
>
> Is there any guide to compile ldc with musl and then static link it?
Actually nvm, `-static` as mentioned above seems to be enough
|
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to ryuukk_ | On Friday, 28 October 2022 at 04:02:15 UTC, ryuukk_ wrote: > On Friday, 28 October 2022 at 02:46:42 UTC, ryuukk_ wrote: >> On Friday, 28 October 2022 at 01:35:04 UTC, kinke wrote: >>> For fully static linking on Linux, you'll need to move away from glibc to e.g. the musl C runtime, as used by the Alpine distro. >> >> I'm just right now having an issue with glibc version mismatch for my server, so i'm looking to move to musl to avoid that kind of issues >> >> Is there any guide to compile ldc with musl and then static link it? > > Actually nvm, `-static` as mentioned above seems to be enough Static on alpine is possible - be aware of ‘ldc-static’ package. But static and LTO is something harder.. is it even possible without re-compilation of ldc-runtime? https://forum.dlang.org/thread/newwjfrebckphgwgarvq@forum.dlang.org |
October 28, 2022 Re: dub ldc2 static linking | ||||
---|---|---|---|---|
| ||||
Posted in reply to ryuukk_ | On Friday, 28 October 2022 at 02:46:42 UTC, ryuukk_ wrote:
> I'm just right now having an issue with glibc version mismatch for my server
Just compile with an old enough glibc, 2.14 works for me.
|
Copyright © 1999-2021 by the D Language Foundation