| 21 Sep 2025 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | I have an llvm, llvm-musl, llvm nixos config and the minimal nix files to change that now | 01:12:57 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | it's not too much, but it was a lot of research | 01:13:34 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | when I get my m2 ultra I'm gonna put up some CI on github for it | 01:15:00 |
| Jannik Wolff joined the room. | 08:04:08 |
SomeoneSerge (back on matrix) | py_mod.find_installation() with strictDeps = true seems to pick up meson's interpreter, rather than the python-env wrapper from buildInputs | 16:47:51 |
SomeoneSerge (back on matrix) | FWIW I tried to trace the chain from find_installation to find_program in hopes to understand how does one even specify which platform's python they want, and my conclusion was "fuck if I know" | 16:48:54 |
SomeoneSerge (back on matrix) | mesonbuild matrix says it's supposed to look for the host python, so something must be wrong on our side | 21:52:00 |
rosssmyth | What are you working on? If this is running at build-time it will probably sniff around PATH and find the meson interpreter or something. Add python to depsBuildBuild or nativeBuildInputs. buildInputs is for a python interpreter than runs on the host machine the final executable runs on, so at build time it will not find it. | 22:14:16 |
SomeoneSerge (back on matrix) |
this is running at build-time
It's not, it's for the host. The find_installation method is, according to upstream chat, for the host. It's a meson-packaged gtk app written in python o_0. Native/strictDeps=false works and builds fine, but like why would I want strictDeps=false this is cringe
| 23:44:02 |
SomeoneSerge (back on matrix) | *
this is running at build-time
It's not, it's for the host. The find_installation method is, according to upstream chat, for the host. It's a meson-packaged (nb: not meson-python) gtk app written in python o_0. Native/strictDeps=false works and builds fine, but like why would I want strictDeps=false this is cringe
| 23:44:53 |
| 22 Sep 2025 |
SomeoneSerge (back on matrix) | Mhmmm update: it's basically the same disaster as cmake, they look to run python from PATH on BUILD, but want its sysconfig to return cross stuff | 01:11:07 |
SomeoneSerge (back on matrix) | So I guess nvm it's meant to be broken | 01:11:21 |
rosssmyth | Maybe. You might be able to add a path to one of these options https://mesonbuild.com/Builtin-options.html#python-module but who knows. If not then patching your cross-file may be required with substituteInPlace or replaceVars | 01:28:56 |
rosssmyth | * Maybe. You might be able to add a path to one of these options https://mesonbuild.com/Builtin-options.html#python-module but who knows. If not then patching your cross-file may be required with substituteInPlace or replaceVars | 01:29:03 |
| 23 Sep 2025 |
| estrange joined the room. | 00:18:31 |
| kenji changed their display name from a-kenji to kenji. | 10:42:22 |
| @jolman:matrix.org left the room. | 20:12:34 |
| @freexploit:trafkin.com | 20:37:20 |
| @freexploit:trafkin.com | 20:37:38 |
| @freexploit:trafkin.com left the room. | 20:38:28 |
| 24 Sep 2025 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | What should the correct solution be for this instead of relying on glibcPkgs?
...
netbsd = super.netbsd.overrideScope (
_final: prev: {
compat = prev.compat.overrideAttrs (old: { makeFlags = old.makeFlags ++ [ "OBJCOPY=${glibcPkgs.binutils}/bin/strip" ]; });
}
);
...
| 14:37:20 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | this turned out to not do anything | 14:38:54 |
| 25 Sep 2025 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Anyone got any guesses as to why this might be happening then?
[16/19] Building C object CMakeFiles/zig2.dir/compiler_rt.c.o
[17/19] Building C object CMakeFiles/zig2.dir/zig2.c.o
[18/19] Linking CXX executable zig2
FAILED: [code=1] zig2
: && /nix/store/zxfq7vsw55hhjnfm841k1x5x2fmsqmni-aarch64-unknown-linux-musl-clang-wrapper-21.1.1/bin/aarch64-unknown-linux-musl-clang++ -O3 -DNDEBUG -Wl,-z,stack-size=0x10000000 CMakeFiles/zig2.dir/zig2.c.o CMakeFiles/zig2.dir/compiler_rt.>
aarch64-unknown-linux-musl-ld: error: undefined symbol: llvm::sys::getProcessTriple()
>>> referenced by zig_llvm-ar.cpp
>>> zig_llvm-ar.cpp.o:(llvm_ar_main(int, char**, llvm::ToolContext const&)) in archive zigcpp/libzigcpp.a
>>> referenced by Driver.cpp.o:(lld::wasm::(anonymous namespace)::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>)) in archive /nix/store/j0m3sirlqygwaq6v4jhjdbardc503a5d-lld-aarch64-unknown-linux-musl-20.1.8-lib/lib/liblldWasm.a
>>> referenced by DriverUtils.cpp.o:(lld::elf::ELFOptTable::parse(lld::elf::Ctx&, llvm::ArrayRef<char const*>)) in archive /nix/store/j0m3sirlqygwaq6v4jhjdbardc503a5d-lld-aarch64-unknown-linux-musl-20.1.8-lib/lib/liblldELF.a
>>> referenced 5 more times
| 15:01:48 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | oh yeah.. why is it using ld and not lld | 15:45:25 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | Tristan Ross: | 15:46:25 |
Tristan Ross | Huh, idk | 15:48:23 |
Tristan Ross | Check the cmake flags | 15:48:42 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | rg LLD | rg -i cmake
CMakeLists.txt: set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK")
CMakeLists.txt: ${LLD_INCLUDE_DIRS}
CMakeLists.txt: ${LLD_LIBRARIES}
cmake/Findlld.cmake:# LLD_FOUND
cmake/Findlld.cmake:# LLD_INCLUDE_DIRS
cmake/Findlld.cmake:# LLD_LIBRARIES
cmake/Findlld.cmake:find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
cmake/Findlld.cmake:find_library(LLD_LIBRARY NAMES lld-19.0 lld190 lld NAMES_PER_DIR
cmake/Findlld.cmake:if(EXISTS ${LLD_LIBRARY})
cmake/Findlld.cmake: set(LLD_LIBRARIES ${LLD_LIBRARY})
cmake/Findlld.cmake: macro(FIND_AND_ADD_LLD_LIB _libname_)
cmake/Findlld.cmake: find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_} NAMES_PER_DIR
cmake/Findlld.cmake: ${LLD_LIBDIRS}
cmake/Findlld.cmake: if(LLD_${_prettylibname_}_LIB)
cmake/Findlld.cmake: set(LLD_LIBRARIES ${LLD_LIBRARIES} ${LLD_${_prettylibname_}_LIB})
cmake/Findlld.cmake: endmacro(FIND_AND_ADD_LLD_LIB)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldMinGW)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldELF)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldCOFF)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldWasm)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldMachO)
cmake/Findlld.cmake: FIND_AND_ADD_LLD_LIB(lldCommon)
cmake/Findlld.cmake:find_package_handle_standard_args(lld DEFAULT_MSG LLD_LIBRARIES LLD_INCLUDE_DIRS)
cmake/Findlld.cmake:mark_as_advanced(LLD_INCLUDE_DIRS LLD_LIBRARIES)
cmake/Findllvm.cmake: # since on some distros LLD is only available as a static library
| 15:51:11 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | zig-aarch64-linux> -- Found lld: /nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldMinGW.a;/nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldELF.a;/nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldCOFF.a;/nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldWasm.a;/nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldMachO.a;/nix/store/0hmg2vivmwb0fq93qannbbgmg7z4b99f-lld-aarch64-unknown-linux-musl-21.1.1-lib/lib/liblldCommon.a (Required is at least version "21")
| 15:53:55 |
matthewcroughan @ 39c3 (DECT 94667 or 97340 or 67192) | it finds lld though | 15:53:57 |