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
Crashes in static constructors #851
Comments
Please provide the list of commands you used. And try once more with cleared CMake cache. I've seen in issue #850 that you switched compiler, which can corrupt the CMake cache. |
No cmake cache is preserved. I did a clean rebuild in the port directory. |
Thanks for reporting! |
On FreeBSD, in /usr/ports, please extract this shar https://people.freebsd.org/~yuri/xournalpp.shar You can also first run Removing |
I just pushed some fixes for cmake to enable builds on FreeBSD. Following the build instructions Xournal++ builds without issues. As an additional pointer: The dependencies listed above are not all required dependencies. Please take a look at the dependencies listed under the previous link. |
Crash with gcc is still there though. |
Please use the toolchain we provide in the linked document. With this toolchain it builds just fine. |
@LittleHuba I use the same toolchain as described there. It only mentions |
I'll take a look at your packaging scripts on saturday. You can build Xournal++ once without the packaging scripts and with the toolchain I linked to make sure there is no issue in your system. |
|
So, there are 2 problems:
|
I tried to find the actual problem today but did not get really far. The things I currently know:
Still the most obvious problem is that your package does not build the same way as our toolchain for some reason. Would you mind pointing out where I can look at the actual commands the package is firing for the build? I'm unfortunately not fluent enough in the packaging system of FreeBSD to find it by myself. |
configure command:
Build command:
It sets I don't understand what do you mean when you say that it doesn't use the recommended toolchain. What should be changed in the above to follow this toolchain? |
I currently have no access to the VM so digging into those steps will have to wait. The one major thing that comes to mind is that you use gmake and not make. Those two programs are not completely compatible. That might be the problem. If not it is most likely some of the arguments you provide. Which one I can't say yet.
That is actually a very easy thing to determine. Since building with the commands we list works on FreeBSD our toolchain is doing what it should do. Since your package does not build, the problem is somewhere within your package. But where exactly that problem is, is the real question... You should tinker with the arguments of your build steps somewhat. And switch from gmake to make (that is where your toolchain mainly differs from ours). Maybe that will fix it. I'll do some more digging next week if you haven't found the solution until then. No worries we'll get there! |
GNU make on linux is named ````gmake``` on FreeBSD, this is the same program. |
@LittleHuba For the missing symbol problem with clang, did you build with optimization? The problem only exists when built in |
I've seen your PR for the missing symbol. Does that fix building in the package? I have some time to help you again following this wednesday. |
To reference the PR with this issue: #899 |
Thank you for your help! The #899 fix didn't solve this problem, unfortunately. It crashed only with the gcc compiler. |
You will have to provide an updated port package or otherwise I won't be able to help you. I already invested enough time as it is by setting up the VM and everything. Please use at least release 1.0.8 for the package as only that one includes all the fixes we need. As for GCC:
If Clang is working for a build we won't support GCC on FreeBSD. |
To reproduce the problem with gcc, Based on the way it fails it appears that static constructors order might matter, which might indicate a bug in the project. |
Is it working with Clang? |
Yes. |
Xournal++ builds on Arch just fine using gcc 8.2.1. Since building with clang works on FreeBSD I won't fix this bug but if you want to dig into the issue you are very welcome. Currently I think this is a problem of the gnu compiler and specific to FreeBSD as others are complaining about that bug as well. And all bugs have in common that it happens in FreeBSD. |
FreeBSD 11.2, using gcc-8.
The text was updated successfully, but these errors were encountered: