2024-09-18

vak: (Default)
Появилась новая версия компилятора Swift. На маке с ним всё понятно, а здесь покажу как установить под Линуксом. Для определённости Ubuntu 24.04 x86_64.
cd /opt
wget https://download.swift.org/swift-6.0-release/ubuntu2404/swift-6.0-RELEASE/swift-6.0-RELEASE-ubuntu24.04.tar.gz
tar xf swift-6.0-RELEASE-ubuntu24.04.tar.gz
После этого в файле ~/.bashrc устанавливаем алиас:
alias swift='/opt/swift-6.0-RELEASE-ubuntu24.04/usr/bin/swift'
Проверяем:
$ swift --version
Swift version 6.0 (swift-6.0-RELEASE)
Target: x86_64-unknown-linux-gnu
Скомпилируем простейший пример:
$ cd ~
$ mkdir hello-swift
$ cd hello-swift
$ swift package init --type executable

Creating executable package: hello-swift
Creating Package.swift
Creating .gitignore
Creating Sources/
Creating Sources/main.swift
$ swift build
Building for debugging...
[8/8] Linking hello-swift
Build complete! (2.35s)
$ swift run
Building for debugging...
[1/1] Write swift-version-31DF0DBC1A6B63B8.txt
Build of product 'hello-swift' complete! (0.17s)
Hello, world!
Глянем зависимости в бинарнике:
$ ldd .build/debug/hello-swift
linux-vdso.so.1 (0x00007ffdf2398000)
libswiftSwiftOnoneSupport.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswiftSwiftOnoneSupport.so (0x00007d08b5ee6000)
libswiftCore.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswiftCore.so (0x00007d08b5800000)
libswift_Concurrency.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswift_Concurrency.so (0x00007d08b5769000)
libswift_StringProcessing.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswift_StringProcessing.so (0x00007d08b568e000)
libswift_RegexParser.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswift_RegexParser.so (0x00007d08b557b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007d08b5200000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007d08b4e00000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007d08b546f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007d08b5442000)
/lib64/ld-linux-x86-64.so.2 (0x00007d08b5f33000)
libdispatch.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libdispatch.so (0x00007d08b51a0000)
libswiftGlibc.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libswiftGlibc.so (0x00007d08b5ecf000)
libBlocksRuntime.so => /opt/swift-6.0-RELEASE-ubuntu24.04/usr/lib/swift/linux/libBlocksRuntime.so (0x00007d08b5eca000)
Предыдущие посты про Swift:
vak: (Default)
Фирма Синопсис лидирует в софте для разработки чипов, и большинство народа в индустрии этим делом ежедневно пользуется. Работает этот софт под Windows или Linux. Есть официальная страничка поддерживаемых платформ: Compute Platforms Roadmap. Из всего разнообразия линуксов традиционно поддерживаются Redhat и SUSE. Но это всё платные удовольствия, и народ обычно выбирал бесплатный CentOS. Всё отлично фунциклировало.

Но намедни CentOS приказал долго жить. А именно с июля этого года. Что делать, куда бежать? Предлагаются две альтернативы: Rocky Linux и AlmaLinux. Оба обещают хорошую совместимость с почившим CentOS и надёжную поддержку. Будем посмотреть.

Я-то лично всегда для разработки выбираю Ubuntu. Вообще это дефолтный чойс для всех кто в теме нейронных сетей. Но моими творениями и хардверная команда пользуется, так что приходится собирать и тестировать в том числе на их серверах.