-
Notifications
You must be signed in to change notification settings - Fork 65
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
Cannot build the development version of pluto on Ubuntu 18.04.3 LTS #68
Comments
I assume you are using the master branch? Output of your |
clang/llvm-6.0 should work. Try:
pet/config.log will h ave the errors. |
Thanks for your help. I did the tests you suggested. git status returns:
The sequence of commands I use up to error is:
Configure fails on PET. I have also tried to call "./configure" from the pet folder, Please, advise, |
Please attach your pet/config.log and not a log of the configure you ran. The top level configure failed because the pet configure is failing. So, you could just for now focus on getting pet to build first. |
I looked into the pet/config.log file and I could remove the first cause of error, which was that I did not install libclang-6.0-dev. It's funny it does not check for this dependency. Now, configuring blocks at another point, where I really don't understand what is happening. I attach the new config.log: Here is the last output of the configuration script before error:
I tried to compile isl manually:
and then I re-configured with:
The compilation of isl went on smoothly, but for some reason the top-level ./configure seems to ignore the option (the output above corresponds to the output after installing isl). |
I am on Arch Linux with the LLVM 9 and development branch of Pluto. /usr/include/clang/Basic/SyncScope.h:147:18: error: ‘make_unique’ is not a member of ‘llvm’; did you mean ‘std::make_unique’? pet log file:- config.log |
The problem is pretty clear from the log.
You either don't have the necessary includes or have them in the wrong place. |
Please post:
|
Thanks for your reply
0.11.4-926-gbd8689b
I already attached log file
Yes, I build it from the development branch. |
Please see the error message
Please see the error message above. Where do you have your clang/Basic/SourceLocation.h located? Or do you have it at all? |
It looks like you don't have the headers at the right place and potentially different versions at different places. I'd recommend doing a clean build of llvm and clang from sources, and installing them. You can use --with-clang-prefix with pluto's configure to say where you have them installed. If you don't use the prefix, the llvm-config you have in your PATH (run llvm-config --version to check) will determine what gets used. |
Can you please (also) take a look at my issue on Ubuntu (above) ? Best, |
The issue is a different one in your case:
This could again be due to mixing different versions or just that llvm/clang 6.0 doesn't work correctly with pet. I'd just recommend a clean build of llvm and clang 8.0 or 9.0 from sources as mentioned upthread. This is known to work. |
Just to be sure I understand well, because it sounds quite heavy. I should:
Right? Should I also uninstall gcc ? |
You don't have to uninstall any existing versions. Just install the new one in a custom location and make sure you provide its prefix with --with-clang-prefix when you configure Pluto. You could even separately try to build pet to verify by:
If the above works, it should also work with Pluto. |
Hello again, I tried again, as you suggested - clean compilation of llvm and clang from sources, version 9.0.1. The error is also weird - entire fields of a struct disappear during C preprocessing (e.g. unroll_type in struct clast_for in file include/cloog/clast.h when compiling ast_transform.c) but are then used in the code. BTW, I don't even know how a struct field can disappear, type and all, during preprocessing, given that there is no #ifdef around them. Can you please tell me what environment you have :
I'm really motivated to use pluto, but I'm really stuck right now not being able to compile it. Best regards, |
Can you please post the errors you observed? The cloog submodule was recently updated - did you update your submodules?
I think it'll be useful to get it working on your environment (it really should work on at least other Linux distributions without much trouble AFAICT) instead of trying to compare with an environment where it works or look at things like OS / compiler tool chain version, etc. (I typically use Fedora 64-bit with the GCC tool chain.) I don't think your errors have anything to do with the compiler tool chain /version or 32-bit/64-bit. |
Hello,
I'm on a pretty recent version of Ubuntu (18.04.3 LTS).
I installed clang-9 (which installs llvm-9). The same problem appears
with clang-6.0.
I followed the build process for the devel branch, as described in
https://github.com/bondhugula/pluto
The process blocks while running ./configure (with no arguments). Here are
the last lines it prints:
checking which clang to use... system
checking for llvm-config... yes
checking for main in -lLLVM-9.0.0... yes
checking clang/Basic/SourceLocation.h usability... no
checking clang/Basic/SourceLocation.h presence... no
checking for clang/Basic/SourceLocation.h... no
configure: error: clang header file not found
checking for pet/Makefile... no
configure: error: configure in pet/ failed
To get to this point, I also had to make symbolic links to FileCheck-9 and
llvm-config-9 to get rid of the "-9" (otherwise, the installation build blocks
earlier, as it requires FileCheck and llvm-config without the version number).
Addendum: the stable version compiles with no problems.
Best,
dpotop
The text was updated successfully, but these errors were encountered: