-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Julia release-0.5 fails to build on FreeBSD 10.3-RELEASE-p4 #17993
Comments
Just in case it is relevant in some way, this is on an x86/32-bit machine. |
probably related to JuliaLang/libuv#31? cc @kpamnany |
After this change to Make.inc (I lack sufficient understanding of the issues, factors, and ramifications to know if this is a reasonable thing to do, but just as a superficial experiment): USE_SYSTEM_LIBUV:=1 and the build process moves forward a bit before the next problem:
so changing Make.inc again, with the additional:
and the build moves forward. To speed things up, trying with dependencies supplied from the FreeBSD package system (e.g.,
which results in:
so: compiling then:
lvm-config is installed as llvm-config37 and llvm-config38, as are the other llvm- programs. I don't suppose there is a simple top-level configuration for such things? |
You should be able to set an |
Trying with USE_SYSTEM_LLVM:=1 results in: gmake[2]: *** No rule to make target '/usr/home/hanzer/build/julia/src/support/hashing.o', needed by '/usr/home/hanzer/build/julia/src/support/libsupport.a'. Stop. |
That might be the fault of |
Perhaps the easiest thing to do is to submit a PR that removes the line that troubles you? I suspect no one would be not reluctant to remove official claims of support for a platform that they agree is no longer actively supported. |
Sorry things aren't working. We don't currently have buildbots or CI for FreeBSD, or an active maintainer for it. The last time that line of the readme was touched was in 2012 (https://github.com/JuliaLang/julia/blame/5838a12ba037f40b31affe5b408edcf9ce4bed28/README.md#L53), before Julia had buildbots or CI for any platform. You're correct that we should do a better job about keeping the readme up to date. It tends to get updated when a platform initially starts working (e.g. recent arm and power support), but not so much when support for a platform regresses, if no one actively notices and reports issues like this one. |
Julia's libuv is required to build Julia since upstream libuv hasn't merged libuv/libuv#597 yet (adds FreeBSD appears to have thread affinity support (http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD%208.2-RELEASE&query=pthread_setaffinity_np), but CPU set management appears to be different. Simplest answer right now is to patch libuv to exclude affinity setting on FreeBSD also. Add FreeBSD at
It might be better to invert the I can't raise a PR for this anytime soon, sorry. Also, can't speak to the other issues. Also, this whole problem should go away in the next threading runtime because I'm using |
There currently is no But A
fails with:
(and there is no |
|
Changed
The error is a bit different:
|
err, correction: changed
and the build gets to:
|
It seems that the compiler used to build llvm supported those flags, but the compiler you are trying to use to build Julia does not. I think the userspace of FreeBSD may be entirely built with |
Yes, I believe so.
|
In another word, since llvm-config dumps the compiler flags it is compiled with, you should compile julia with a compiler that is compatible with the compiler llvm is compiled with. |
To move forward, last night I set
I guess an I am trying (blindly (I don't know what this means)):
and compilation continues. |
Now the build ends with:
|
Can you give an example of how this might be accomplished? |
Possibly need to set different combinations of |
The compile times are too long for [systematic] guessing, I'm giving up on this for now. The Julia RPM (Version 0.4.6) installed easily on CentOS-7 (x86_64-unknown-linux-gnu), I can explore it there. I'll probably check periodically for any progress on the [potential(?)] FreeBSD port. ...Scientific analysis software without rigorous quality assurance and engineered/maintained releases; how many actual scientists and engineers rely on that? Should they? |
I think that's an unfair accusation to make. Julia has well maintained releases (note all of the backport tags in PRs) and excellent QA. Plus, despite being a fairly young language, Julia is used for a lot of serious science and engineering. For major platforms on which continuous integration, testing, and building is regularly run, it's known to work fantastically well. As was said previously, there are no active maintainers on FreeBSD; the only way we'll know whether there are issues on that or any platform other than Windows, OS X, and Linux is through issues such as this. So thank you very much for reporting the issue! Now it's known and can be tracked.
If anything, I'd encourage more scientists and engineers to rely on Julia. 😉 |
It is probably important not to let sentiment and enthusiasm become a substitute for traction with reality. The systems engineering of high reliability tools requires sobriety and rigor. This might be a lot to ask from the mainstream computer programming technologies where a pervading goal seems to be the creation of cult-like fanatics (battology in typical software documentation is so severe one can imagine what the ancients might have meant by "idolatry"). I suspect significant advancement could be made with more sophisticated socio-technical systems supporting the measurement, analysis, and regulation of Limbic System Class Information Processing within the software development communities. |
Uh, what? Try latest master, this was probably fixed by #18063. |
In other words, adding freebsd to our CI testing matrix. |
Julia now builds out of the box on FreeBSD 11.0-RELEASE. |
Today:
Ends with error:
The text was updated successfully, but these errors were encountered: