[LLVMdev] [cfe-dev] 3.6.2-rc1 has been tagged. Testers needed. (original) (raw)

Dan Liew dan at su-root.co.uk
Mon Jul 6 12:45:46 PDT 2015


On 6 July 2015 at 10:34, Ben Pope <benpope81 at gmail.com> wrote:

On 7 July 2015 at 01:12, Dan Liew <dan at su-root.co.uk> wrote:

@Ben Pope: Your uploaded binary tarball is the odd one out. Any idea as to why the CMake files are missing and why the root directory name inside the tarball is not consistent with the uploaded tarballs for other platforms? [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150629/285597.html Well, I rename the tarball to include the distro, should I be attacking that by passing an argument to the test-release script?

AFAICT from reading test-release.sh the value passed to the -triple option controls the tarball name ONLY, -build-triple actually controls the target triple passed to the configure script. I think that's kind of confusing, -triple probably ought to be called something like -tarballsuffix.

So I guess when you run test-release.sh you should pass -triple x86_64-linux-gnu-ubuntu-14.04 instead of -triple x86_64-linux-gnu.

No idea why the cmake files aren't being packaged, I build in a pretty basic chroot, should cmake be installed there?

It's not necessary for CMake to be installed when building with the Autoconf/Makefile build system. If you look in the build directory after a build has been performed you should see in cmake/modules

LLVMBuildExports.cmake  LLVMConfig.cmake  LLVMConfigVersion.cmake
LLVMExports.cmake  Makefile

The LLVMConfig.cmake and LLVMConfigExports.cmake file are generated by the build in this directory and are later installed (along with a bunch of other files). When I do a build of LLVM on Arch Linux and install it in the install directory there is a share/llvm/cmake/ directory and it contains the following files (this is LLVM trunk rather than 3.6.2 but it should be very similar).

AddLLVM.cmake             AddOCaml.cmake         ChooseMSVCCRT.cmake
FindOCaml.cmake   GetSVN.cmake             HandleLLVMStdlib.cmake
LLVMConfig.cmake         LLVMExports.cmake         TableGen.cmake
AddLLVMDefinitions.cmake  AddSphinxTarget.cmake  CrossCompile.cmake
FindSphinx.cmake  HandleLLVMOptions.cmake  LLVM-Config.cmake
LLVMConfigVersion.cmake  LLVMProcessSources.cmake

You're going to have to do some debugging on your end because I cannot reproduce what ends up your tarball. I guess a first step would be to try building LLVM in your chroot but outside of the test-release.sh script. You could then try...

  1. After doing a complete build have the cmake/modules/LLVMConfig.cmake and cmake/modules/LLVMExports.cmake files been generated in the build directory? If the CMake files are missing if you run make in the cmake/modules/ directory the files should be generated. Running this manually should not be necessary though, it should happen automatically. SIDENOTE: After doing an initial configure the cmake/modules directory (and it's corresponding Makefile) will not exist if the build is out of source. The directory and the makefile will exist after doing a successful build.

  2. Assuming the cmake/modules/LLVMConfig.cmake and cmake/modules/LLVMExports.cmake files were generated in the previous step, what happens when you run make install in the cmake/modules directory? Do the files actually get installed?

Thanks, Dan.



More information about the llvm-dev mailing list