-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Building fails on make -j<N> #3099
Comments
@nordurljosahvida Building on Linux is somewhat documented at doc/How to build - Linux et al.md, but of course, there's definitely room for improvement. As for your issue, it seems boost can't find libicu, but you might want to have a look at the doc first (unless you already saw it)... |
@vojtechkral thank you so much, this of course is intended as very constructive criticism, and i love the project. that was my base for building, but i found that - i think - all the extra steps are not mentioned there. unless i'm understanding something wrong in the article and all deps are installed automatically. |
@nordurljosahvida What are the "extra steps" that you are referring to? Both me and @vojtechkral have incidentally built PrusaSlicer on a fresh Debian installation in the past week. As far as I remember, it is really only about cloning the repo, building the dependencies by the prepared script and then linking to them statically when building PrusaSlicer. There were no external dependencies apart from GTK and OpenGL related ones (libgtk2.0-dev libgl1-mesa-dev libglu1-mesa-dev), which is probably the only thing missing in the documentation. It can get painful if you need to build Perl unit tests as well, but I assume that's not what you were doing. You seem to have run into many more issues. Could you please be more explicit and tell us what they were? Pasting a cmake output could also help. The error message you posted seems to be a complain about absenting ICU library, which is boost's dependency. According to https://www.boost.org/doc/libs/1_66_0/libs/regex/doc/html/boost_regex/install.html , boost should be able to recognize its absence and compile without it (which it probably did), but PrusaSlicer apparently relies on some of its functionality (I myself don't know where). If that's so, installing the library from your package manager and rebuilding boost would solve it. I guess (!!!) the package you need would be I just checked that the ICU library was already bundled on the Debian I built PrusaSlicer on last week. Maybe we should add the library into the dependency list. |
Could be a cause of problems when you mix statically built dependencies and distro provided dev packages. Also, very confusing that it does it with |
@lukasmatena @tamasmeszaros thank you very much for the feedback. Extra steps [installing all required dependencies suggested from slic3r wiki, then had to build TBB from source, figure out where to place the cereal lib, then the widgets] were most likely due I think to the fact that - not being technical in building things - I have no idea what |
@nordurljosahvida hopefully this should work:
Edit: add ninja generator |
@nordurljosahvida However, I'm myself always building with |
Amazing thanks, this worked! Can we implement this into the docs? |
@nordurljosahvida Perhaps there could be a TL;DR section on the top of the How tos, but I'm sort of concerned people will just try out the commands without actually knowing what they are doing and then report issues when something goes wrong without reading the rest... |
@vojtechkral Ok, I understand, however i do think there should be some building instructions, even at the bottom of the how tos, otherwise non-technical users won't be able to build this and test things out. There are long periods between alpha releases and 600 commits could really make the difference between getting a print done and PS crashing indefinitely. Thanks |
Hello.
I'm unfamiliar with CMake etc. so I'm not sure, can this be added to a dependency such as /deps/deps-linux.cmake? (except ninja-build). |
Hi, I've built again after some time and cannot understand how to compile for GTK3. Ideal would be also GTK3 appimage, but even by running |
Add the following parameter to cmake invocation: |
Very good, thanks. I imagine building the appimage instead is a completely separate process? So do I append the value as such? cmake .. -G Ninja -DSLIC3R_STATIC=1 -DSLIC3R_GTK=3 -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" Because that throws this error:
|
@nordurljosahvida The invocation is correct. What is probably the problem here is that you most likely build wxWidgets against GTK2, so cmake does not consider them worthy. Rebuild dependencies with |
That worked, thanks! I'm continuing the conversation here: #4959 to see if we can get everything into a neat command set. For me until a few weeks ago "add this option when building dependencies" and seeing two commands with cmake and other two with ninja while everyone else is not using ninja made absolutely no sense and between Having a simple, start to finish guide, with a single "best-practice" [if this exists and makes sense, I'm wondering] way, or alternatively a single way that is known to work, is essential for us non-devs, if this is a target audience for alpha/beta testers you'd like to reach of course. Thanks for all the help in this ticket. For me this issue is solved. |
Glad to hear that. Let's continue the discussion in #4959, like you said. |
Version
HEAD
Operating system type + version
Ubuntu 18
3D printer brand / version + firmware version (if known)
Behavior
Building fails on
make -j<N>
[in my case-j8
] with:I don't understand why building is so extremely under-documented. I spent about 3H installing all required dependencies suggested from slic3r wiki, then had to build TBB from source, figure out where to place the cereal lib, then the widgets, and nowhere does it even remotely mention to do this. Am I missing something fundamental here? Can I contribute to some better documentation?
But most importantly, how do I fix this?
[Feature request corner]
Thanks so much for the great work.
The text was updated successfully, but these errors were encountered: