Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gcc: fix c++ headers when same triplet cross compiling #240435

Merged
2 commits merged into from
Jan 18, 2024

Conversation

uri-canva
Copy link
Contributor

@uri-canva uri-canva commented Jun 28, 2023

Description of changes

When build platform and host platform differ, but have the same triple, the code in nixpkgs will consider it a cross compilation, but gcc won't. This will lead some derivations to look for c++ headers in the wrong place. To solve this always output the headers in the non-cross location, like we do for the other gcc headers already.

Before:

$ nix-build -A pkgsCross.gnu64.boehmgc
...
gc_badalc.cc:29:10: fatal error: new: No such file or directory
   29 | #include <new> // for bad_alloc, precedes include of gc_cpp.h
      |          ^~~~~
compilation terminated.
gc_cpp.cc:36:10: fatal error: new: No such file or directory
   36 | #include <new> // for bad_alloc, precedes include of gc_cpp.h
      |          ^~~~~
compilation terminated.
make[1]: *** [Makefile:1780: gc_badalc.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1780: gc_cpp.lo] Error 1
In file included from extra/gc.c:74:
In function 'GC_suspend_handler_inner',
    inlined from 'GC_suspend_handler' at extra/../pthread_stop_world.c:261:7:
extra/../pthread_stop_world.c:359:19: warning: '__atomic_load_8' writing 8 bytes into a region of size 0 overflows the destination [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=-Wstringop-overflow=8;;]
  359 |     suspend_cnt = (word)ao_load_async(&(me -> stop_info.ext_suspend_cnt));
make[1]: Leaving directory '/build/gc-8.2.2'
make: *** [Makefile:1933: all-recursive] Error 1
error: builder for '/nix/store/3628wviya1i588nyp208lf3dhh1kchzr-boehm-gc-x86_64-unknown-linux-gnu-8.2.2.drv' failed with exit code 2;
       last 10 log lines:
       > make[1]: *** [Makefile:1780: gc_badalc.lo] Error 1
       > make[1]: *** Waiting for unfinished jobs....
       > make[1]: *** [Makefile:1780: gc_cpp.lo] Error 1
       > In file included from extra/gc.c:74:
       > In function 'GC_suspend_handler_inner',
       >     inlined from 'GC_suspend_handler' at extra/../pthread_stop_world.c:261:7:
       > extra/../pthread_stop_world.c:359:19: warning: '__atomic_load_8' writing 8 bytes into a region of size 0 overflows the destination [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=-Wstringop-overflow=8;;]
       >   359 |     suspend_cnt = (word)ao_load_async(&(me -> stop_info.ext_suspend_cnt));
       > make[1]: Leaving directory '/build/gc-8.2.2'
       > make: *** [Makefile:1933: all-recursive] Error 1
       For full logs, run 'nix-store -l /nix/store/3628wviya1i588nyp208lf3dhh1kchzr-boehm-gc-x86_64-unknown-linux-gnu-8.2.2.drv'.

After:

$ nix-build -A pkgsCross.gnu64.boehmgc
...
/nix/store/ddfdqk6zi5rag4nvp8702g9frv6v2i1g-boehm-gc-x86_64-unknown-linux-gnu-8.2.2
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Closes #243166

@uri-canva uri-canva requested a review from matthewbauer as a code owner June 28, 2023 23:15
@ofborg ofborg bot added the 6.topic: cross-compilation Building packages on a different platform than they will be used on label Jun 28, 2023
@uri-canva uri-canva requested review from Ericson2314 and vcunat June 28, 2023 23:17
@Artturin Artturin requested a review from a user June 28, 2023 23:29
@uri-canva uri-canva force-pushed the cross-gxx-include branch from 37452bb to 51ea2f3 Compare June 28, 2023 23:31
@uri-canva uri-canva requested a review from Artturin June 28, 2023 23:32
@Artturin Artturin changed the title gcc: fix c++ headers when cross compiling gcc: fix c++ headers when same triplet cross compiling Jun 28, 2023
@uri-canva uri-canva force-pushed the cross-gxx-include branch from 51ea2f3 to 029949b Compare June 28, 2023 23:52
@uri-canva
Copy link
Contributor Author

Updated the commit message to match the PR title.

@Artturin
Copy link
Member

What build does this fix?
im still getting
bash> configure: error: C compiler cannot create executables
in pkgsCross.gnu64.bash

@uri-canva
Copy link
Contributor Author

Unfortunately it doesn't fix the entire build, it only fixes c++ compilation. There's more issues in the linking after the compilation completes successfully (still looking into those, they look like a repeat of #40797).

@uri-canva
Copy link
Contributor Author

I've been testing with pkgsCross.gnu64-portable.nix, where gnu64-portable is gnu64 // { xcodePlatform = "hello"; }, the attribute is there to make sure nixpkgs treats it as cross compilation. Note sure if gnu64 alone is always considered cross.

@uri-canva
Copy link
Contributor Author

Found the issue: #213453

@ghost
Copy link

ghost commented Jun 29, 2023

Could you provide a test case?

I do tons of builds where "build platform and host platform differ, but have the same triple" because I customize my compiler flags by modifying the hostPlatform. I had to fix a few bugs (the fixes are merged) to make that work, but I guess I missed one.

@uri-canva
Copy link
Contributor Author

@amjoseph-nixpkgs

Could you provide a test case?

Both nix-build -A pkgsCross.gnu64-with-xcode.bash and nix-build -A pkgsCross.gnu64.bash fail with:

...
error: builder for '/nix/store/gkd4g1mpcvhldnz6wbb3ivi39y95asmy-bash-5.2-p15-x86_64-unknown-linux-gnu.drv' failed with exit code 77;
       last 10 log lines:
       > checking build system type... x86_64-unknown-linux-gnu
       > checking host system type... x86_64-unknown-linux-gnu
       >
       > Beginning configuration for bash-5.2-release for x86_64-unknown-linux-gnu
       >
       > checking for x86_64-unknown-linux-gnu-gcc... x86_64-unknown-linux-gnu-gcc
       > checking whether the C compiler works... no
       > configure: error: in `/build/bash-5.2':
       > configure: error: C compiler cannot create executables
       > See `config.log' for more details
       For full logs, run 'nix-store -l /nix/store/gkd4g1mpcvhldnz6wbb3ivi39y95asmy-bash-5.2-p15-x86_64-unknown-linux-gnu.drv'.
...

in config.log:

...
configure:4383: checking whether the C compiler works
configure:4405: x86_64-unknown-linux-gnu-gcc    conftest.c  >&5
/nix/store/aak41hdhk3862k6c7w7vvlhm5c4bg5ad-binutils-2.40/bin/ld: cannot find crt1.o: No such file or directory
/nix/store/aak41hdhk3862k6c7w7vvlhm5c4bg5ad-binutils-2.40/bin/ld: cannot find crti.o: No such file or directory
/nix/store/aak41hdhk3862k6c7w7vvlhm5c4bg5ad-binutils-2.40/bin/ld: cannot find -lgcc_s: No such file or directory
collect2: error: ld returned 1 exit status
...

gnu64-with-xcode is:

diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 45b95c150fc..e8ed0d2d502 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -113,6 +113,10 @@ rec {
   gnu64 = { config = "x86_64-unknown-linux-gnu"; };
   gnu32  = { config = "i686-unknown-linux-gnu"; };
 
+  gnu64-with-xcode = gnu64 // {
+    xcodePlatform = "foo";
+  };
+
   musl64 = { config = "x86_64-unknown-linux-musl"; };
   musl32  = { config = "i686-unknown-linux-musl"; };

That's why I think it's the same root cause as #213453.

@uri-canva
Copy link
Contributor Author

@Artturin

What build does this fix?

Updated the PR description with a repro of a failure that this fixes.

@uri-canva
Copy link
Contributor Author

@amjoseph-nixpkgs I tested this PR with #238154. It fails later when trying to fix up libgcc:

error: builder for '/nix/store/1x6pigz13vyfff2kk6lsxky40bav9hz1-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0.drv' failed with exit code 1;
       last 10 log lines:
       > /nix/store/vhi4wfqhp96xpicyscaypndhqs47vj7n-coreutils-9.3/bin/install -c -m 644 unwind.h /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/lib/gcc/x86_64-unknown-linux-gnu/12.3.0/include
       > /nix/store/g78qlpgav6p22wgfn7q3vww7r08i2afr-bash-5.2-p15/bin/bash ../../../gcc-12.3.0/libgcc/../mkinstalldirs /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/lib/gcc/x86_64-unknown-linux-gnu/12.3.0/include
       > /nix/store/vhi4wfqhp96xpicyscaypndhqs47vj7n-coreutils-9.3/bin/install -c -m 644 ../../../gcc-12.3.0/libgcc/gcov.h /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/lib/gcc/x86_64-unknown-linux-gnu/12.3.0/include
       > make[1]: Leaving directory '/build/build/x86_64-unknown-linux-gnu/libgcc'
       > Moving /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/x86_64-unknown-linux-gnu/lib/libgcc_s.so to /nix/store/bbgiv02iy84vw8zylr0pzgsvlqp62sh6-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0-lib/x86_64-unknown-linux-gnu/lib/libgcc_s.so
       > Moving /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/x86_64-unknown-linux-gnu/lib/libgcc_s.so.1 to /nix/store/bbgiv02iy84vw8zylr0pzgsvlqp62sh6-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0-lib/x86_64-unknown-linux-gnu/lib/libgcc_s.so.1
       > Removing empty /nix/store/xbjdh7fl2qpwnqqkxkmjd7yj5g5vicqw-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0/x86_64-unknown-linux-gnu/lib/ and (possibly) its parents
       > /nix/store/qr60k7sz61hvv2baadlfv5qjr8q7vlg6-builder.sh: line 243: type: install_name_tool: not found
       > preFixupLibGccPhase
       > mv: cannot stat '/nix/store/bbgiv02iy84vw8zylr0pzgsvlqp62sh6-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0-lib/lib/libgcc_s.so': No such file or directory
       For full logs, run 'nix-store -l /nix/store/1x6pigz13vyfff2kk6lsxky40bav9hz1-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0.drv'.
error: 1 dependencies of derivation '/nix/store/fm17md82ic8wl69h1473qc4zqza4gh3l-glibc-x86_64-unknown-linux-gnu-2.37-8.drv' failed to build
error: 1 dependencies of derivation '/nix/store/bmbr2542vizhqdggqba3mbba1sjn72i5-x86_64-unknown-linux-gnu-stage-final-gcc-wrapper-12.3.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/azssfibjj588v4402s24f38j1pmsp404-stdenv-linux.drv' failed to build
error: 1 dependencies of derivation '/nix/store/kc8r26cazx5fkixd2b1y2vkm0nsmnqml-bash-5.2-p15-x86_64-unknown-linux-gnu.drv' failed to build

libgcc_s.so is in /nix/store/bbgiv02iy84vw8zylr0pzgsvlqp62sh6-x86_64-unknown-linux-gnu-stage-static-gcc-12.3.0-lib/x86_64-unknown-linux-gnu/lib, note the extra x86_64-unknown-linux-gnu.

@uri-canva
Copy link
Contributor Author

ping

@ghost
Copy link

ghost commented Jul 12, 2023

@ofborg eval

@ghost ghost requested a review from trofi July 12, 2023 22:17
@uri-canva
Copy link
Contributor Author

and nix-build -A pkgsCross.gnu64.bash fail with:

That failure is due to #40797 which is fixed by #238154.

I believe it's related, but that doesn't fix it entirely, see #240435 (comment).

Note that all these things are unrelated to this PR, this PR only addresses c++ compilation issues such as the ones hit when building nix-build -A pkgsCross.gnu64.boehmgc, it is not meant to fix all issues with pkgsCross.gnu64.

@uri-canva
Copy link
Contributor Author

Filed a specific issue for this in the meantime, since this PR's discussion is now a bit hard to follow: #243166.

@uri-canva
Copy link
Contributor Author

I'll rebase on current staging since I'm here and restart the eval.

@uri-canva uri-canva force-pushed the cross-gxx-include branch from cb98e8c to 05f767c Compare July 12, 2023 23:26
@ghost ghost closed this in #238154 Jul 12, 2023
@uri-canva uri-canva reopened this Jul 13, 2023
@uri-canva
Copy link
Contributor Author

Tested on current master with #238154, but now it doesn't even build the stdenv so I can't verify if it fixes the c++ compilation issue, so I'll reopen in the meantime.

@ghost ghost mentioned this pull request Nov 6, 2023
12 tasks
@ghost
Copy link

ghost commented Nov 6, 2023

I apologize for taking so long to review this.

I'm rebuilding my environment with this PR; if all goes well I will merge it right after 23.11 branches off.

@uri-canva
Copy link
Contributor Author

Awesome! I saw your recent change to compare platforms instead of triples (#264976), that's related to the same "platforms being different but triples being the same issue" right? Maybe there's a better fix similar to that than what I've done here.

@ghost
Copy link

ghost commented Nov 6, 2023

Awesome! I saw your recent change to compare platforms instead of triples (#264976), that's related to the same "platforms being different but triples being the same issue" right?

Yes; that, plus this, mostly solves the problem.

There are a bunch of small package-specific fixes too, like these:

@ghost
Copy link

ghost commented Nov 6, 2023

Also there is a test case for this now in tests.cross.sanity:

It's commented out now, but once it passes I will uncomment it. So when this gets fixed it will stay fixed.

Thank you again for your patience.

@lilyball
Copy link
Member

lilyball commented Nov 7, 2023

It sounds like this will fix #264865, which should probably be considered a dupe of your #243166 but is a lot more explicit about what's going on.

@ghost
Copy link

ghost commented Nov 9, 2023

So, I have good news and bad news.

The good news is that everything but one package builds properly with this PR.

The bad news is that package is firefox. It's a huge build, with a ton of dependencies, so just reproducing the failure takes hours.

Any ideas on what's going on here? The failure is posted below (for pkgsCross.aarch64-multiplatform.firefox). Apparently after this PR firefox's clang can't find cstddef. But nothing other than firefox seems to malfunction.

There's a four-year-old issue with the same symptoms, but the way it got resolved doesn't seem immediately applicable:

Firefox does a bunch of wacky stuff with clang, like cobbling together its own clangified linker... it's a bit of a hairball in there. Also, this isn't wasm-related, because it happens both with and without the wasm-expungement patches I normally run.

firefox-unwrapped>  0:02.01(B checking the host C compiler works... yes(B(B
firefox-unwrapped>  0:02.01(B checking for the host C++ compiler... /nix/store/1asqji9djmdlapzs70q7jw2j308ry7cn-clang-wrapper-16.0.6/bin/c++(B(B
firefox-unwrapped>  0:02.14(B checking whether the host C++ compiler can be used... yes(B(B
firefox-unwrapped>  0:02.14(B checking the host C++ compiler version... 16.0.6(B(B
firefox-unwrapped>  0:02.21(B checking the host C++ compiler works... yes(B(B
firefox-unwrapped>  0:02.40(B checking for target linker... lld(B(B
firefox-unwrapped>  0:02.51(B checking for host linker... lld(B(B
firefox-unwrapped>  0:02.60(B checking for 64-bit OS... yes(B(B
firefox-unwrapped>  0:02.67(B checking for new enough STL headers from libstdc++...(B(B
firefox-unwrapped>  0:02.67(B DEBUG: <truncated - see config.log for full output>(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                 #if defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE)(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  error libstdc++ not new enough(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #if defined(_GLIBCXX_RELEASE)(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  if _GLIBCXX_RELEASE < 8(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #    error libstdc++ not new enough(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  else(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |      (void) 0(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                   ;(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                   return 0;(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                 }(B(B
firefox-unwrapped>  0:02.67(B DEBUG: Executing: `/nix/store/7v4bi4q334yircaznwm353h1l5i7k98f-aarch64-unknown-linux-gnu-clang-wrapper-16.0.6/bin/aarch64-unknown-linux-gnu-clang++ /build/conftest.qvbo58dv.cpp -c`(B(B
firefox-unwrapped>  0:02.67(B DEBUG: The command returned non-zero exit status 1.(B(B
firefox-unwrapped>  0:02.67(B DEBUG: Its error output was:(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | /build/conftest.qvbo58dv.cpp:1:10: fatal error: 'cstddef' file not found(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #include <cstddef>(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |          ^~~~~~~~~(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | 1 error generated.(B(B
firefox-unwrapped>  0:02.67(B ERROR: The libstdc++ in use is not new enough.  Please run ./mach bootstrap to update your compiler, or update your system libstdc++ installation.(B(B
firefox-unwrapped> *** Fix above errors and then restart with "./mach build"
error: build of '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' on 'ssh://[email protected]' failed: builder for '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' failed with exit code 1
error: builder for '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' failed with exit code 1;

@ghost

This comment was marked as resolved.

@ghost
Copy link

ghost commented Nov 9, 2023

Any ideas on what's going on here?

Ooh, I bet the clang-specific junk in cc-wrapper needs to be updated for this.

@ghost ghost force-pushed the cross-gxx-include branch from 05f767c to f128c6a Compare November 9, 2023 07:03
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to go!

@ghost
Copy link

ghost commented Nov 9, 2023

@ofborg eval

aws-sdk-cpp tests are flaky again...

uri-canva and others added 2 commits November 9, 2023 01:59
When build platform and host platform differ, but have the same
triple, the code in nixpkgs will consider it a cross compilation,
but gcc won't. This will lead some derivations to look for c++
headers in the wrong place. To solve this always output the headers
in the non-cross location, like we do for the other gcc headers
already.
The commit prior to this one, "gcc: fix c++ headers when same
triplet cross compiling" causes gcc's c++ headers to be in the same
outpath subdirectory regardless of whether the gcc build is a
host==target or host!=target compiler.

As a result of that change, the hack in cc-wrapper which adapted to
the different paths is no longer needed.  And, in fact, it must be
removed, since if it is left in place builds such as
pkgsCross.aarch64-multiplatform.firefox will fail as shown below.

```
firefox-unwrapped>  0:02.01(B checking the host C compiler works... yes(B(B
firefox-unwrapped>  0:02.01(B checking for the host C++ compiler... /nix/store/1asqji9djmdlapzs70q7jw2j308ry7cn-clang-wrapper-16.0.6/bin/c++(B(B
firefox-unwrapped>  0:02.14(B checking whether the host C++ compiler can be used... yes(B(B
firefox-unwrapped>  0:02.14(B checking the host C++ compiler version... 16.0.6(B(B
firefox-unwrapped>  0:02.21(B checking the host C++ compiler works... yes(B(B
firefox-unwrapped>  0:02.40(B checking for target linker... lld(B(B
firefox-unwrapped>  0:02.51(B checking for host linker... lld(B(B
firefox-unwrapped>  0:02.60(B checking for 64-bit OS... yes(B(B
firefox-unwrapped>  0:02.67(B checking for new enough STL headers from libstdc++...(B(B
firefox-unwrapped>  0:02.67(B DEBUG: <truncated - see config.log for full output>(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                 #if defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE)(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  error libstdc++ not new enough(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #if defined(_GLIBCXX_RELEASE)(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  if _GLIBCXX_RELEASE < 8(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #    error libstdc++ not new enough(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  else(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |      (void) 0(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #  endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #endif(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                   ;(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                   return 0;(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |                 }(B(B
firefox-unwrapped>  0:02.67(B DEBUG: Executing: `/nix/store/7v4bi4q334yircaznwm353h1l5i7k98f-aarch64-unknown-linux-gnu-clang-wrapper-16.0.6/bin/aarch64-unknown-linux-gnu-clang++ /build/conftest.qvbo58dv.cpp -c`(B(B
firefox-unwrapped>  0:02.67(B DEBUG: The command returned non-zero exit status 1.(B(B
firefox-unwrapped>  0:02.67(B DEBUG: Its error output was:(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | /build/conftest.qvbo58dv.cpp:1:10: fatal error: 'cstddef' file not found(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | #include <cstddef>(B(B
firefox-unwrapped>  0:02.67(B DEBUG: |          ^~~~~~~~~(B(B
firefox-unwrapped>  0:02.67(B DEBUG: | 1 error generated.(B(B
firefox-unwrapped>  0:02.67(B ERROR: The libstdc++ in use is not new enough.  Please run ./mach bootstrap to update your compiler, or update your system libstdc++ installation.(B(B
firefox-unwrapped> *** Fix above errors and then restart with "./mach build"
error: build of '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' on 'ssh://[email protected]' failed: builder for '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' failed with exit code 1
error: builder for '/nix/store/5in7xkji5hzqkl14ygwq3vxnni54lykk-firefox-unwrapped-aarch64-unknown-linux-gnu-119.0.1.drv' failed with exit code 1;
```
@ghost
Copy link

ghost commented Nov 9, 2023

Rebased to force ofborg to re-eval.

@ghost ghost marked this pull request as draft November 9, 2023 10:00
@ghost ghost force-pushed the cross-gxx-include branch from f128c6a to 981b640 Compare November 9, 2023 10:04
@ghost ghost marked this pull request as ready for review November 9, 2023 10:04
@ghost
Copy link

ghost commented Nov 9, 2023

Alright, I will merge this as soon as staging has branched off post-23.11.

@lilyball
Copy link
Member

We're in december, can this be merged yet?

@ghost
Copy link

ghost commented Jan 18, 2024

We're in december, can this be merged yet?

Sorry about the delay!

@ghost ghost merged commit 0c3d9f2 into NixOS:staging Jan 18, 2024
9 checks passed
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants