Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Servo style doesn't seem to compile in Nightly with external nspr #17869
Comments
eclipseo
commented
Jul 26, 2017
•
|
I manually added
|
eclipseo
changed the title from
Servo style doesn't seem to compile in Nighlty with external nspr
to
Servo style doesn't seem to compile in Nightly with external nspr
Jul 26, 2017
jdm
added
A-build
A-stylo
labels
Jul 26, 2017
highfive
commented
Jul 26, 2017
|
cc @emilio |
|
Try setting If that works, we just have to figure out how to get NSPR_CFLAGS appended to BINDGEN_CFLAGS internally. |
eclipseo
commented
Jul 26, 2017
|
@rillian I've just added Thank you for your help. |
|
Thanks for confirming. I filed a gecko bug about propagating the cflags automatically. |
eclipseo
commented
Jul 26, 2017
•
|
@rillian I don't know if it's linked to this change but now I have an error, exclusively on arch i386. x86_64 compiles fine.
It's maybe an unrelated new bug though. |
|
Which llvm are you building with? We've had some trouble with libclang < 4.0.1 crashing on the bindgen input. Can you rebuild with |
eclipseo
commented
Jul 27, 2017
|
I'm sorry but despite running with export RUST_BACKTRACE=1, it didn't output anything else. I don't really know how to proceed to get a detailed stack trace. I was building in 3 platforms:
Even with clang-libs 4.0.1, it fails. |
|
Ok, might be a different bug then. I never tracked down the cause of the crashes, just upgraded and the problem went away. If RUST_BACKTRACE=1 didn't work, I'd build with |
eclipseo
commented
Jul 29, 2017
|
I hope this is the right stuff because I'm not super-duper familiar with debugging and gdb:
|
|
Looks like that's failing to find an environment variable, so I think
it's not the crash you're hunting down. Instead, I suspect you need to
pass the few variables mentioned in components/style/build_gecko.rs
appropriately.
…
|
eclipseo
commented
Jul 29, 2017
•
|
I have my environment set up:
I run I run it with the full arguments: I get to my error:
The backtrace is empty:
I don't really know what to do afterwards. It seems it's a child process that exits with an error but I'm not sure how to get a trace for it. Also I don't know what to make of the python error: the file is indeed there:
|
|
I don't think the python failure is the actual error. It's this line:
That's the subprocess you want to trace under gdb. I don't know how to get to it through the cargo invocation either (set a conditional breakpoint of in the cargo code where it spawns job processes, I guess). But you should be able to launch the build command itself under gdb.
The environment may not be exactly right, but if you do it from the same directory after seeing the full build fail, there's a good chance you'll get something. Hope that helps! |
eclipseo
commented
Jul 29, 2017
|
@rillian That's what I did initially at comment #17869 (comment) |
huangwenjun06
commented
Oct 31, 2017
|
I also get the following error when building firefox on an mips64 machine : |
|
That looks like there's an error running bindgen on that cpu. Try building with STYLO_BUILD_LOG=/tmp/log; that log file will contain more clues about what's going wrong. |
|
FWIW, I've seen that error with bindgen on top of llvm 3.9.1. You might try 4.0.1 or later. |
pshpsh
commented
Nov 14, 2017
|
Not only nspr, pixman too. |
huangwenjun06
commented
Nov 27, 2017
|
after i upgrade llvm to llvm4.0.1. the problem still exist. |
eclipseo commentedJul 26, 2017
•
Edited 1 time
-
eclipseo
Jul 26, 2017
Build log: https://copr-be.cloud.fedoraproject.org/results/eclipseo/firefox-nightly/fedora-rawhide-x86_64/00583654-firefox-nightly/build.log.gz
The build fails when servo style fails to compile because it doesn't find nspr files: /objdir/dist/include/nsISupportsImpl.h:17:10: fatal error: 'prthread.h' file not found
i am using --with-system-nspr and it seems to me that it's similar to that older bug https://hg.mozilla.org/mozilla-central/rev/5a85d47b5642
I think https://github.com/servo/servo/blob/master/components/style/build_gecko.rs look for include files for the provided nspr, but not if one uses --with-system-nspr.