UUID error building Swift on Asahi Linux Fedora

Hi,

I'm trying to build Swift from source using swift-5.9-DEVELOPMENT-SNAPSHOT-2023-08-11-a on Asahi Linux Fedora and I'm getting the error using the getting started guide. Was wondering what to do next?

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find UUID (missing: UUID_INCLUDE_DIR UUID_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindUUID.cmake:23 (find_package_handle_standard_args)
  lib/Basic/CMakeLists.txt:10 (find_package)

Thanks,
Zane

Do you have the uuid-devel package installed? You’ll need the developer versions of the libraries swift depends on to build swift.

The closest reference I can give is the redhat ubi9 build container definition here.

Some of the package names may be slightly different, but that should be close enough to get started.

1 Like

Thank you!

Ended up missing these

libcurl-devel libedit-devel libuuid-devel libxml2-devel python3-devel sqlite-devel

Now I am stuck on this message

[28/4344][  0%][1.226s] Building CXX ...keFiles/LLVMSupport.dir/Signals.cpp.o
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o 

From looking around it looks likes its part of LLVM. I tired installing llvm and llvm-devl but still no luck.

Yeah, LLVM is built as part of the compilation process of building swift. There won’t be a meaningful package that you can download.

What is the error message from the compiler?

1 Like

Ok I ran it again this morning and it looks like it completed.

Build Percentage 	 Build Duration (sec) 	 Build Phase
================ 	 ==================== 	 ===========
87.9%             	 1901.1                	 linux-aarch64-swift-build
12.1%             	 262.33                	 Building llvm
0.0%              	 0.1                   	 Building cmark
0.0%              	 0.07                  	 linux-aarch64-swift-test
0.0%              	 0.06                  	 linux-aarch64-swift-install
0.0%              	 0.06                  	 linux-aarch64-extractsymbols
0.0%              	 0.05                  	 merged-hosts-lipo-core
0.0%              	 0.05                  	 linux-aarch64-package
0.0%              	 0.04                  	 merged-hosts-lipo
Total Duration: 2163.86 seconds (36m 3s)

Though, now when I try to run the swift binary I get the following output. I suppose I submit a bug with this?

swift runtime: unable to protect path to swift-backtrace at 0xffffbeabd000: 22; disabling backtracing.
swift runtime: unable to protect environment for swift-backtrace at 0xffffbeab5000: 22; disabling backtracing.
swift runtime: unable to protect path to swift-backtrace at 0xffff95eed000: 22; disabling backtracing.
swift runtime: unable to protect environment for swift-backtrace at 0xffff95ee5000: 22; disabling backtracing.
<unknown>:0: error: fatal error encountered during compilation; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
<unknown>:0: note: Compiler-internal integrated REPL has been removed; use the LLDB-enhanced REPL instead.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/zane/.scribe/.dependencies/swift-compiler/build/Ninja-RelWithDebInfoAssert/swift-linux-aarch64/bin/swift-frontend -frontend -repl -Xllvm -aarch64-use-tbi -disable-objc-interop -color-diagnostics -plugin-path /home/zane/.scribe/.dependencies/swift-compiler/build/Ninja-RelWithDebInfoAssert/swift-linux-aarch64/lib/swift/host/plugins -plugin-path /home/zane/.scribe/.dependencies/swift-compiler/build/Ninja-RelWithDebInfoAssert/swift-linux-aarch64/local/lib/swift/host/plugins -module-name REPL
1.      Swift version 5.9-dev (LLVM 71b6f8f40249d4a, Swift 0027fac736e2385)
2.      Compiling with the current language version
 #0 0x0000000005cdd640 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/lib/Support/Unix/Signals.inc:573:7
 #1 0x0000000005cdbb2c std::atomic<CallbackAndCookie::Status>::store(CallbackAndCookie::Status, std::memory_order) /usr/bin/../lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/atomic:279:2
 #2 0x0000000005cdbb2c llvm::sys::RunSignalHandlers() /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/lib/Support/Signals.cpp:106:16
 #3 0x0000000005cdda3c SignalHandler(int) /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 0x0000ffff95f70800 (linux-vdso.so.1+0x800)
 #5 0x0000ffff9514d908 __pthread_kill_implementation (/lib64/libc.so.6+0x8d908)
 #6 0x0000ffff95104980 gsignal (/lib64/libc.so.6+0x44980)
 #7 0x0000ffff950f0284 abort (/lib64/libc.so.6+0x30284)
 #8 0x0000000000646d08 llvm::ThreadSafeRefCountedBase<llvm::vfs::FileSystem>::Release() const /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:131:5
 #9 0x0000000000646d08 llvm::IntrusiveRefCntPtrInfo<llvm::vfs::FileSystem>::release(llvm::vfs::FileSystem*) /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:159:38
#10 0x0000000000646d08 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::release() /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:224:7
#11 0x0000000000646d08 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::~IntrusiveRefCntPtr() /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:191:27
#12 0x0000000000646d08 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*)::$_0::operator()(char const*, bool) const /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:2028:19
#13 0x0000000000646d08 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*)::$_1::operator()(void*, char const*, bool) const /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:2046:9
#14 0x0000000000646d08 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*)::$_1::__invoke(void*, char const*, bool) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:2043:7
#15 0x0000000005c17480 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_data() const /usr/bin/../lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/basic_string.h:223:28
#16 0x0000000005c17480 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_is_local() const /usr/bin/../lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/basic_string.h:264:6
#17 0x0000000005c17480 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_dispose() /usr/bin/../lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/basic_string.h:282:7
#18 0x0000000005c17480 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() /usr/bin/../lib/gcc/aarch64-redhat-linux/13/../../../../include/c++/13/bits/basic_string.h:792:9
#19 0x0000000005c17480 llvm::report_fatal_error(llvm::Twine const&, bool) /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/lib/Support/ErrorHandling.cpp:104:5
#20 0x0000000005c17388 llvm::report_fatal_error(llvm::Twine const&, bool) /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/lib/Support/ErrorHandling.cpp:90:0
#21 0x0000000000640cdc swift::ASTContext* llvm::PointerUnion<swift::DeclContext*, swift::ASTContext*>::get<swift::ASTContext*>() const /home/zane/.scribe/.dependencies/swift-compiler/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:156:5
#22 0x0000000000640cdc swift::Decl::getASTContext() const /home/zane/.scribe/.dependencies/swift-compiler/swift/include/swift/AST/Decl.h:887:21
#23 0x0000000000640cdc performParseOnly(swift::ModuleDecl&) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:1262:21
#24 0x0000000000640cdc performAction(swift::CompilerInstance&, int&, swift::FrontendObserver*) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:1341:12
#25 0x0000000000640cdc performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:1403:19
#26 0x000000000063f548 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/FrontendTool/FrontendTool.cpp:2338:33
#27 0x000000000046e9e0 run_driver(llvm::StringRef, llvm::ArrayRef<char const*>, llvm::ArrayRef<char const*>) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/DriverTool/driver.cpp:0:0
#28 0x000000000046e9e0 swift::mainEntry(int, char const**) /home/zane/.scribe/.dependencies/swift-compiler/swift/lib/DriverTool/driver.cpp:418:10
#29 0x0000ffff950f0598 __libc_start_call_main (/lib64/libc.so.6+0x30598)
#30 0x0000ffff950f0670 __libc_start_main@GLIBC_2.17 (/lib64/libc.so.6+0x30670)
#31 0x000000000046d870 _start (/home/zane/.scribe/.dependencies/swift-compiler/build/Ninja-RelWithDebInfoAssert/swift-linux-aarch64/bin/swift-frontend+0x46d870)
[1]    31129 IOT instruction (core dumped)  ./swift

Thanks,
Zane

Nevermind :person_facepalming:

Hi, I installed all of those packages on Asahi Fedora Remix but I still got compilation errors. Can you share a full list of packages that you installed or upgraded, if possible?

Sorry I wasn't able to actually get it to compile. Ended up just using the pre made package which last I used it gave a bunch of pointer warnings when compiling. Have not tried with 5.9 or 5.9.1.

sudo dnf install swift-lang

Oh OK thanks for the update.

Ya I would love to be able to run swift from source on Asahi but haven't figured out the right incantation to do so.

Thanks,
Zane