[swift-users] Statically linked binaries on linux
rudenoise at gmail.com
Fri Sep 2 15:48:16 CDT 2016
I've been attempting add to the swift-build script so that Foundation can
be compiled as a static lib. Simialr to
> swift/utils/build-script -r --build-swift-static-stdlib --foundation
I'm not familiar with Cmake, ninja and the way the swift is built but have
got the build working. I have a few questions:
Can a libFoundation.a file be compiled from the .o files that are created
while building libFoundation.so?
Is there a guide or recommended tutorial for Cmake and ninja that might be
suitable for a novice, like me?
Are there any documents that give an overview of how the build fits
together and where I should be looking to add functionality? I can't quite
work out how the build script transitions to ninja and clang.
Hope that makes some sense?
On 1 September 2016 at 17:13, Joel Hughes <rudenoise at gmail.com> wrote:
> I'm attempting to get a statically linked binary and am running into
> I'm using Swift 3 Preview 6 on Ubuntu.
> Regular _swift build_ and _swift test_ are all running fine.
> I can produce a static binary for a simple "hello world" using:
> swift build -c release -Xswiftc -static-stdlib
> (although I do get error while loading shared libraries: libicui18n.so.55
> when running in a basic vm).
> However I can't compile a more complicated project. It's only dependency
> is Foundation (it uses NSUUID, and JSON) and can't seem to find them.
> I get a stream of errors, examples:
> Linking ./.build/release/joke
> /usr/bin/ld.gold: error: cannot find -lFoundation
> error: undefined reference to '_TMaC10Foundation6NSUUID'
> error: undefined reference to '_TFC10Foundation6NSUUIDCfT10uui
> Any pointers or advice much appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-users