| 3 Sep 2023 |
ashkitten (it/its) 🏳️⚧️ | ayyyyy it built!! | 19:08:03 |
ashkitten (it/its) 🏳️⚧️ | so now i need to make sure the wrapper builds, and see if i can add as back to stdenv without messing everything up | 19:10:57 |
ashkitten (it/its) 🏳️⚧️ | got wrapper building!! | 21:23:12 |
ashkitten (it/its) 🏳️⚧️ | and it works! ..now building again to fix sqlite endianness issue | 21:23:39 |
rhelmot | is clang known to be problematic as a basic stdenv compiler | 21:35:45 |
p14 | In reply to @rhelmot:matrix.org is clang known to be problematic as a basic stdenv compiler There are issues for example https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration They can be worked around with effort but lots of stuff doesn't currently work out of the box with a recent LLVM in nix. | 21:37:26 |
p14 | It's slightly unfortunate breakage particularly because it confuses a lot of configure scripts into awkwardly silently (or nonobviously at least) broken states. | 21:38:21 |
ashkitten (it/its) 🏳️⚧️ | wheeee | 21:54:33 |
ashkitten (it/its) 🏳️⚧️ | why does llvmPackages.bintools not contain as? | 22:08:04 |
ashkitten (it/its) 🏳️⚧️ | ah. | 22:11:38 |
ashkitten (it/its) 🏳️⚧️ | https://github.com/NixOS/nixpkgs/commit/a5e136325868d6439b405dffbe782f5abbd0ee1a | 22:11:44 |
ashkitten (it/its) 🏳️⚧️ | @Alyssa Ross maybe you have a recommendation here, since you wrote this commit. i need as in the firefox build for lto, and not sure where it's supposed to come from. | 22:13:45 |
ashkitten (it/its) 🏳️⚧️ | i'm going to see if adding llvmPackagesBuildBuild.llvm works here but i don't feel like this is the right solution. | 22:15:34 |
ashkitten (it/its) 🏳️⚧️ | llvm-as as you say in the commit generates llvm bitcode, but that should be correct for an lto build... but it doesn't address the issue in the first place; maybe bintools shouldn't have been there at all, and it should've been the full llvm package? | 22:17:18 |
ashkitten (it/its) 🏳️⚧️ | (nope) | 22:27:31 |
ashkitten (it/its) 🏳️⚧️ | oh. llvm binutils doesn't even contain as | 23:25:04 |
ashkitten (it/its) 🏳️⚧️ | i'm going to see if patching out the -fno-integrated-as from the build system works, because the reason it's there in the first place is a four year old bug so maybe it's fixed now? | 23:49:44 |
| 4 Sep 2023 |
artemis | In reply to @raitobezarius:matrix.org nix-build -A something --argstr crossSystem "a system config" does this translate to flakes in any way? or otherwise how would i do this inside nix rather than running a command. see https://artemis.sh/2023/06/06/cross-compile-nixos-for-great-good.html#humility for an example where i define a flake for a program that exports both a native build output and a cross-build output | 00:10:46 |
artemis | i then import that flake in another repo (see https://artemis.sh/assets/posts/2023-06-06-cross-compile-nixos-for-great-good/flake-with-humility.nix for how i do that) to include it in the systemPackages for a cross-built disk image | 00:11:30 |
artemis | * i then import that flake in another repo (see https://artemis.sh/assets/posts/2023-06-06-cross-compile-nixos-for-great-good/flake-with-humility.nix for how i do that) to include the cross-build variant in the systemPackages for a cross-built disk image | 00:11:48 |
ashkitten (it/its) 🏳️⚧️ | In reply to@kity:kity.wtf i'm going to see if patching out the -fno-integrated-as from the build system works, because the reason it's there in the first place is a four year old bug so maybe it's fixed now? it doesn't | 00:28:47 |
ashkitten (it/its) 🏳️⚧️ | maybe i can add llvmPackagesBuildBuild.binutils-unwrapped for (unprefixed, as expected) as | 00:29:19 |
ashkitten (it/its) 🏳️⚧️ | In reply to@kity:kity.wtf maybe i can add llvmPackagesBuildBuild.binutils-unwrapped for (unprefixed, as expected) as /nix/store/y2bfh2sg9zaw2b6ngbajvjlpnffnj4al-powerpc64le-unknown-linux-musl-clang-wrapper-16.0.6/bin/powerpc64le-unknown-linux-musl-clang -std=gnu99 -o xptcinv>
xpcom/reflect/xptcall/md/unix/xptcstubs_asm_ppc64_linux.o
clang-16: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
clang-16: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument]
Assembler messages:
Fatal error: invalid listing option `6'
clang-16: error: assembler command failed with exit code 1 (use -v to see invocation) | 00:44:21 |
ashkitten (it/its) 🏳️⚧️ | dammit | 00:44:23 |
ashkitten (it/its) 🏳️⚧️ | https://github.com/chimera-linux/cports/blob/master/contrib/firefox/patches/clang-ias.patch | 01:10:59 |
rhelmot | okay I need help. for context I'm on freebsd, not cross compiled just normal, but I am not sure if that matters here
I tried building gcc: nix-shell -p gcc. The build succeeds, but the cycle checker fails: error: cycle detected in build of '/nix/store/lxbw8ccms1bd9qb4imgnsla5889zvhwp-gcc-12.3.0.drv' in the references of output 'lib' from output 'out'
To the best of my knowledge, the cycle is as follows: gcc-lib/lib/*.so has rpaths for gcc-out/lib, and gcc-out/nix-support/propagated-build-inputs lists gcc-lib. I had my friend build the same setup on linux and the propagated-build-inputs link was still there but the rpath was not. The directory that the rpath points to does not contain any shared objects, so this is probably the link that needs to be broken.
The thing that gets me is that I think the rpath is being set by nixpkgs/pkgs/stdenv/generic/setup.sh: there's an unconditional call to _addRpathPrefix "$out". Assuming I'm understanding correctly, setup.sh is called by the builder used by stdenv.mkDerivation? so this is adding $out/lib to the rpath of everything that gets linked ever. which as I understand is supposed to be okay! like making other outputs which are just symlinks into *-out/lib is supposed to be totally kosher! so then why does the gcc-out derivation explicitly mark a link to gcc-lib? presumably it's to say "okay so if you're trying to depend on me the thing you actually want is over there" but then why does that count for the sake of the cycle checker? idk the whole thing is very confusing.
| 02:24:03 |
rhelmot | any advice appreciated | 02:24:07 |
@trofi:matrix.org | I think gcc.lib is normally not expected to refer to gcc.out | 06:44:27 |
@trofi:matrix.org | $ nix path-info -r $(nix-build -A gcc.cc.lib) |& unnix
/<<NIX>>/libunistring-1.1
/<<NIX>>/libidn2-2.3.4
/<<NIX>>/xgcc-12.3.0-libgcc
/<<NIX>>/glibc-2.37-8
/<<NIX>>/gcc-12.3.0-libgcc
/<<NIX>>/gcc-12.3.0-lib
| 06:45:21 |
@trofi:matrix.org | gcc uses pkgs/development/compilers/gcc/default.nix: NIX_NO_SELF_RPATH = true; to avoid self-rpaths. | 06:46:19 |