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

Make release should build statically #823

Closed
neuroscr opened this issue Sep 11, 2019 · 4 comments
Closed

Make release should build statically #823

neuroscr opened this issue Sep 11, 2019 · 4 comments
Assignees
Labels
enhancement New feature or request packaging

Comments

@neuroscr
Copy link
Contributor

neuroscr commented Sep 11, 2019

Jeff approved said make an issue

@neuroscr neuroscr added enhancement New feature or request packaging labels Sep 11, 2019
@despair86
Copy link
Contributor

only dynamic dependencies should be libc and whatever system libs libuv pulls in (if at all)
on all other platforms, provided a static libuv is available, this is already true.

sun-pc% ldd lokinet
        libumem.so.1 =>  /lib/64/libumem.so.1
        libkstat.so.1 =>         /lib/64/libkstat.so.1
        libsendfile.so.1 =>      /lib/64/libsendfile.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        libm.so.2 =>     /lib/64/libm.so.2
        librt.so.1 =>    /lib/64/librt.so.1
        libc.so.1 =>     /lib/64/libc.so.1
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1

@despair86
Copy link
Contributor

despair86 commented Sep 11, 2019

on windows:

[despair@NT-DEV build]$ ldd lokinet
        ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x771e0000)
        KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x76810000)
        KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x76b10000)
        ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x76410000)
        msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x76a50000)
        sechost.dll => /c/WINDOWS/System32/sechost.dll (0x762b0000)
        RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x76690000)
        SHLWAPI.dll => /c/WINDOWS/System32/SHLWAPI.dll (0x763b0000)
        IPHLPAPI.DLL => /c/WINDOWS/SYSTEM32/IPHLPAPI.DLL (0x748c0000)
        USER32.dll => /c/WINDOWS/System32/USER32.dll (0x76490000)
        win32u.dll => /c/WINDOWS/System32/win32u.dll (0x75d70000)
        GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x75e10000)
        gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x75700000)
        msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x76190000)
        ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x76070000)
        WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x769e0000)

all of these are provided by the base system

@despair86
Copy link
Contributor

despair86 commented Sep 11, 2019

on linux, a dynamic libuv is fine because libuv itself is managed by apt

despair@lx32:~/loki-network/build$ ldd lokinet
        linux-gate.so.1 (0xb7fd1000)
        libuv.so.1 => /lib/i386-linux-gnu/libuv.so.1 (0xb7aa3000)
        libstdc++.so.6 => /lib/i386-linux-gnu/libstdc++.so.6 (0xb78c6000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb77c2000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb77a4000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7784000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75a4000)
        librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb759a000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7594000)
        /lib/ld-linux.so.2 (0xb7fd2000)

to be completely fair, only Linux and the free BSDs still ship archive libraries, the commercial UNIX systems and Windows have not done so for a long time, including macOS
Windows leaves it up to the compiler vendor whether or not its CCS ships archive libs (Currently, only Microsoft C++ still does, see libcmt[d].a and msvcprt[d].a)

@despair86
Copy link
Contributor

fixed in #829

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request packaging
Projects
None yet
Development

No branches or pull requests

3 participants