[cmake-developers] Dependency Checking Issue with Native HPUX 11iv3 make

Eric Berge ericmberge at gmail.com
Thu Jul 3 17:19:32 EDT 2014


Please consider this as FYI if you're interested in running cmake on HPUX
11iv3:

The nightly HPUX 11iv3 test run get an error in the BuildDepends test (
http://open.cdash.org/index.php?project=CMake).  This fails virtually all
the time, however, for some reason, a successful run does occasionally
happen.  This appears to be an issue with the native "make" command on HPUX
at least according to the unit tests I've done.

On the surface this appears to be an error in the LINK_DEPENDS_NO_SHARED
property but that is not the case, the problem is more fundamental.  In
fact, just about the simplest test case for dependency checking (building a
program with a single file) needs to be built twice to recognize that it is
up-to-date.

My test case ultimately was simply:

-------------------------------------------------------------------
cmake_minimum_required(VERSION 2.8.12.2)
project(MyBuildDepends)

add_executable(prog prog.c)
--------------------------------------------------------------------

With this, I run the native "make" command twice and, each time it will
re-link "prog":

--------------------------------------------------------------------
# cmake ..
-- The C compiler identification is HP 6.25.0
-- The CXX compiler identification is HP 6.25.0
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/eberge/projects/cmake/BuildDepends-failure/testcase2/build
# make
Scanning dependencies of target prog
[100%] Building C object CMakeFiles/prog.dir/prog.c.o
Linking C executable prog
[100%] Built target prog
# make
Linking C executable prog
[100%] Built target prog
# make
[100%] Built target prog
#
--------------------------------------------------------------------

Actually the odd thing is that it appears to have a "domino effect" where
the first "make" builds the .o and links the executable, the 2nd only links
the executable, and the last will finally do nothing.

Since I had gmake on the system I gave that a try, and gmake works just
fine.

I'm not really looking for a solution for this, but just in case others run
into problems on HPUX 11iv3 I thought it was worth saving you the hours it
look me to run this down.

For now I plan on setting CMAKE_MAKE_PROGRAM to gmake to allow the nightly
11iv3 tests to run successfully (but we'll see how well that expectation
pans out tonight...).

I did look around for a potential bugfix for make in HPUX but I didn't find
anything but that might be because I don't know how to navigate the HPUX
labyrith :-)

Eric Berge
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20140703/d12bb92b/attachment.html>


More information about the cmake-developers mailing list