I regularly build Swift 5 snapshots myself on my Arch Linux based system. I recently found that in certain cases binaries are linked against libs in build folder by referring them with full path. So if I cleanup or delete build folder it will kill my Swift deployment as well.
I expect a fully built package should be self-contained apart from dynamically linked system libraries.
I checked binaries under <swiftenv versions root/swift5>/usr/bin and the followings are still are back referring to libs under build folder.
## usr/bin/plutil
libswiftGlibc.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftGlibc.so (0x00007f5bcf8aa000)
libswiftCore.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftCore.so (0x00007f5bcf37c000)
libswiftDispatch.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src/libswiftDispatch.so (0x00007f5bce86a000)
libdispatch.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/libdispatch-linux-x86_64/src/libdispatch.so (0x00007f5bce807000)
libicui18nswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicui18nswift.so.61 (0x00007f5bce172000)
libicuucswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicuucswift.so.61 (0x00007f5bcdf77000)
libicudataswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicudataswift.so.61 (0x00007f5bcc5d0000)
## usr/bin/swift-build
libswiftCore.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftCore.so (0x00007f187df19000)
libswiftGlibc.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftGlibc.so (0x00007f187df0d000)
libicuucswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicuucswift.so.61 (0x00007f187d4de000)
libicui18nswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicui18nswift.so.61 (0x00007f187d1c7000)
libicudataswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicudataswift.so.61 (0x00007f187b6ac000)
## usr/bin/swift-package
libswiftCore.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftCore.so (0x00007ff2b445b000)
libswiftGlibc.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftGlibc.so (0x00007ff2b444f000)
libicuucswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicuucswift.so.61 (0x00007ff2b3a20000)
libicui18nswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicui18nswift.so.61 (0x00007ff2b3709000)
libicudataswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicudataswift.so.61 (0x00007ff2b1bee000)
## usr/bin/swift-run
libswiftCore.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftCore.so (0x00007fb1fc909000)
libswiftGlibc.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftGlibc.so (0x00007fb1fc8fd000)
libicuucswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicuucswift.so.61 (0x00007fb1fbece000)
libicui18nswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicui18nswift.so.61 (0x00007fb1fbbb7000)
libicudataswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicudataswift.so.61 (0x00007fb1fa09c000)
## usr/bin/swift-test
libswiftCore.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftCore.so (0x00007fe4749bd000)
libswiftGlibc.so => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftGlibc.so (0x00007fe4749b1000)
libicuucswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicuucswift.so.61 (0x00007fe473f82000)
libicui18nswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicui18nswift.so.61 (0x00007fe473c6b000)
libicudataswift.so.61 => /home/segabor/Workspace/swift-dev/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux/x86_64/libicudataswift.so.61 (0x00007fe472150000)
The following command is used for building snapshots:
./swift/utils/build-script \
--preset=buildbot_linux,no_test \
installable_package=~/swift.tar.gz \
install_destdir=~/.swiftenv/versions/${SNAPSHOT}
How can this be fixed?