-
Notifications
You must be signed in to change notification settings - Fork 123
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 on ubuntu 16.04 #101
Comments
John Regehr notifications@github.com writes:
I had a similar problem with GCC 5 a while ago: Let me dig up the response... Eric Eide eeide@cs.utah.edu . University of Utah School of Computing |
Doesn't work when linking against LLVM 3.8.1 either. Let's make sure to include a note about this in our install file before doing another release. |
Nor can I build C-Reduce's llvm-svn-compatible branch on Ubuntu 16.04 using the default gcc. Argh. |
Might relate to the issue discussed here: https://www.bountysource.com/issues/29193004-link-errors-on-debian-sid |
I am experimenting with this now. The current C-Reduce (87f9674) builds and runs for me with:
The process of installing the binaries from apt updated GCC. |
Eric maybe you could also confirm that C-Reduce fails to build using the binary clang+llvm distributed at llvm.org? |
I installed clang-3.8 using apt and now I get this:
|
@regehr The binary packages from apt don't work with our CMake-based build system, because their CMake defs are broken. Use the Autoconf-based build system. |
(I miss threads in this forum.) I am testing with the precompiled binary from http://llvm.org/releases/download.html now. |
With default GCC on Ubuntu 16.04, I got the same failure as described in John's first comment. However, I successfully built clang_delta by manually appending |
@chenyang78 ...building against LLVM acquired/compiled how? |
@eeide That's a good question... |
Hmm. I just configured like this:
using the supplied gcc-5.4 and the clang+llvm 3.8.1 from the LLVM web site and ended up with this:
This is fewer errors than I get without that extra CXX flag. |
binary LLVM 3.8.0 from their site gives same error. |
I hate linkers. |
Without going into too much gory detail, the general conclusion of my experiments today is the same as what @regehr originally reported: that one cannot compile It works to compile against the LLVM 3.8.0 nightly build (from http://apt.llvm.org/) with GCC 5.4.0 and C-Reduce's Autoconf-based build path. Why this is, I'm not sure. Maybe it's because the binary is built with But in general, compiling with GCC 5.4 against the available-for-download LLVM 3.8 binaries seems to be a no-go. FWIW, I tried the trick suggested by @chenyang78, setting
This is an attempt to build with GCC 5.4.0 against the available-for-download version of LLVM 3.8.1. This failed, with a bunch of errors similar to what @regehr reported:
|
As far as I'm concerned, we should just recommend that C-Reduce be built using clang++ if any problem like this is encountered. This doesn't fail on any platform that I'm aware of. We can go back to recommending GCC once everyone gets their issues figured out. |
Agreed! |
Thanks, Eric. I built my LLVM 3.8 locally with GCC 4.8 before I updated my system to Ubuntu 16.04. I guess this made the I also agree with John's last comment. |
Tell people that if they encounter weird link-time errors, they should try compiling C-Reduce with Clang (notably, not GCC 5.*). This advice was the outcome of issue #101.
This issue was "resolved" by commit 7b7a8f7, which encourages people to compile with |
on ubuntu 16.04 I can build a working C-Reduce using clang++ as the C++ compiler, but it won't build using the default C++ compiler, gcc-5.3.1
The text was updated successfully, but these errors were encountered: