[DynInst_API:] changes to the cmake args for 10.1


Date: Fri, 03 May 2019 23:37:59 -0500
From: "Mark W. Krentel" <krentel@xxxxxxxx>
Subject: [DynInst_API:] changes to the cmake args for 10.1
One of my cron jobs that builds Dyninst master tripped an alarm today.
With the recent commits, the build procedure for master and upcoming
10.1 has changed in a few ways.

First question: are the changes to the cmake args (see below) now
complete, or are there more to come before 10.1?

I would have liked a heads up for this, something in the mailing list.
I can fix the spack recipe, but it does add an extra case since there
are different args for 10.0 and 10.1.

(1) The cmake args for elf and dwarf changed from LIBELF_ and
LIBDWARF_ to LibElf_ and LibDwarf_.

This seems a bit gratuitous.  I guess this was to accommodate some
standard Elf config script?

Any other options change besides these two?

(2) You added string(APPEND ...) to some of the cmake modules.  It
looks like this breaks early cmake 3.x versions.  For me, it breaks on
one machine with cmake 3.3 and works on another machine with 3.8. So,
you'll need a minimum version somewhere between those two.

With cmake 3.3, the cmake step dies with:

  >> 26    CMake Error at cmake/Modules/FindBoost.cmake:1388 (string):
     27      string does not recognize sub-command APPEND
     28    Call Stack (most recent call first):
     29      cmake/Boost.cmake:133 (find_package)
     30      CMakeLists.txt:21 (include)

(3) I think the BUILD_RTLIB option is either still broken or broken
again.  When using BUILD_RTLIB=Off, make install fails with:

CMake Error at dyninstAPI/cmake_install.cmake:233 (include):
  include could not find load file:

/home/krentel/dyninst/build-dyninst/dyninstAPI_RT/cmake_install.cmake
Call Stack (most recent call first):
  cmake_install.cmake:78 (include)

It looks like part of the build obeys the flag and turns off RT lib,
but another part ignores the flag and always tries to install it.

This is not too important (I don't need it for spack).  I mainly use
it for debugging dyninst (eg, binary search between revs) when I like
to turn off the nonessential options: RTLIB, Tarballs, Docs, etc.
But if the option exists, then it shouldn't break the build.

(4) Btw, what's the status of fixing dyninst for boost 1.70?

Thanks,

--Mark


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] changes to the cmake args for 10.1, Mark W. Krentel <=