[Openmp-dev] [Openmp-commits] Large Refactor of CMake build system

Peyton, Jonathan L jonathan.l.peyton at intel.com
Tue Jul 21 12:57:51 PDT 2015


Just some observations:
1) The latest and greatest pathcc (6.0.449) builds fine.  Not really sure how a compiler from March is "really old" but ok.  No problem detecting that -static-libgcc flag is not supported... Still the same warnings about the deprecated register storage.

2) Your build system is completely unique.  I have NO idea what's going based on what you've posted.  So "it doesn't work for my site-specific custom wrapper scripts" isn't a good reason to block a patch that vastly improves the CMake build system.
This -> checking whether we are using the GNU C++ compiler... yes checking whether /opt/ekopath/bin/pathCC accepts -g... yes checking whether g++ accepts -static-libstdc++ -static-libgcc... no checking for gnatbind... no
is *autoconf* output (or your own personal shell configure script?), not CMake output.  CMake would recognize the pathcc compiler as a Pathscale compiler.

3) Are you really trying to advocate that your site-specific, custom CMake (and possibly autoconf?) wrapper configure/build script(s) should magically work with what's in the repository?  *YOU* have to keep that up to date and have it working with what is in the source.  It is not my responsibility to ensure that everyone's custom cmake wrapper is compatible with the repo in the CMake.

4) I'm happy to test things out.

5) On this website: http://www.pathscale.com/ekopath-compiler-suite there are no instructions regarding how to download and change the URL date.

6) Nothing you've said has convinced me that the refactored CMake build system shouldn't be in the 3.7 release branch.  In fact, I'm now convinced that you have some odd setup which I can't possibly help fix/replicate, but is completely unique to your site.  I don't feel that a custom CMake wrapper based build system should warrant the blocking of a patch.
*****Either use what's in the LLVM repo, or fix your custom scripts and submit a patch.*****

Unless it's LLVM policy to cater to every custom build wrapper script, or you show me a bug from *using the build system in the LLVM repo with no wrapper scripts*, then this patch should stay.

-- Johnny

-----Original Message-----
From: C Bergström [mailto:cbergstrom at pathscale.com] 
Sent: Tuesday, July 21, 2015 1:21 PM
To: Peyton, Jonathan L
Cc: Hans Wennborg; Chandler Carruth; openmp-commits at dcs-maillist2.engr.illinois.edu; openmp-dev at dcs-maillist2.engr.illinois.edu
Subject: Re: [Openmp-commits] [Openmp-dev] Large Refactor of CMake build system

My observation is that it's not consistently working and that's why I'm even more upset and nervous about this change.

Further, "it works for me" is a very bad reason to go screw up a stable branch and to continue to advocate that it so strongly.

The reason the release branch (before the merge commits) "works for me" is because we have a wrapper cmake around the the project which sets things correctly.
-------------
Here's what I see

>From cmake # Everything would appear to look good, right? (Also know that it says g++, but in fact it's really pathcc.. I don't quite understand that)
-------------------
checking whether we are using the GNU C++ compiler... yes checking whether /opt/ekopath/bin/pathCC accepts -g... yes checking whether g++ accepts -static-libstdc++ -static-libgcc... no checking for gnatbind... no

....

and guess what happens during make
--------
[100%] Building C object src/CMakeFiles/omp.dir/z_Linux_asm.s.o
[100%] Building C object src/CMakeFiles/omp.dir/z_Linux_asm.s.o
Linking C shared library libomp.so
pathcc ERROR parsing -static-libgcc: unknown flag
gmake[5]: *** [src/libomp.so] Error 1
gmake[4]: *** [src/CMakeFiles/omp.dir/all] Error 2
gmake[3]: *** [all] Error 2
make[2]: *** [openmp-llvm/CMakeFiles/openmp-make-x86_32] Error 2
make[1]: *** [openmp-llvm/CMakeFiles/openmp-make-x86_32.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking C shared library libomp.so
pathcc ERROR parsing -static-libgcc: unknown flag
gmake[5]: *** [src/libomp.so] Error 1
gmake[4]: *** [src/CMakeFiles/omp.dir/all] Error 2
------------

Lastly, thank you for testing with pathcc, but pretty please read the instructions on the website. I'd strongly advise to update the date in the URL and download a more recent version. Using 5.0.x is really old and a significant number of fixes have been made since then - I suspect this is the reason you may be seeing failures from the Release branch (without the merged changes).
---------
System details

cmake --version
cmake version 3.1.3

lsb_release # yes this is old, but that's intentional
Description:    SUSE Linux Enterprise Server 10 (x86_64)




More information about the Openmp-dev mailing list