Skip to content
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

wn_bin pkg: Rewrite using modern cmake #354

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ChristianTackeGSI
Copy link
Member

Modern cmake has better tools to collect the prereqs of binaries. Let's use them.

We're forward-porting this patch now for a long time in our spack tree.
This patch is required for proper building on various systems.

Please reconsider this.

Copy link
Contributor

@AnarManafov AnarManafov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @ChristianTackeGSI ,

first off, thanks a lot for the patch.
In general it looks good.

But I wasn't able to test it. It returns an error while building the wn_bin target:

[100%] Generate WN binary package
CMake Error at /Users/anar/tmp/Killme/DDS/cmake/DDSCollectWNPkgFiles.cmake:10 (file):
  file Resolved path is not absolute


make[3]: *** [CMakeFiles/wn_bin] Error 1
make[2]: *** [CMakeFiles/wn_bin.dir/all] Error 2
make[1]: *** [CMakeFiles/wn_bin.dir/rule] Error 2
make: *** [wn_bin] Error 2

@ChristianTackeGSI
Copy link
Member Author

Hi @AnarManafov,

can you please post your precise cmake configure command, your precise make invocation and any relevant information I would need to reproduce this?

@AnarManafov
Copy link
Contributor

@ChristianTackeGSI , sure thing. Here you go:

anar@iMac build % cmake -DBOOST_ROOT=/Users/anar/Development/BOOST/install-boost_1_74 -C ../BuildSetup.cmake .. 
loading initial cache file ../BuildSetup.cmake
-- The C compiler identification is AppleClang 12.0.5.12050022
-- The CXX compiler identification is AppleClang 12.0.5.12050022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Requiring C++17
-- Building DDS version: 3.1.109.gd397069
-- Found Doxygen: /Applications/Doxygen.app/Contents/Resources/doxygen (found version "1.8.16 (cfd73d5c4d1a66c620a3b7c08b72a3f3c3f94255)") found components: doxygen missing components: dot
-- Build API docs - YES
-- Using full rpath: /Users/anar/DDS/3.1.109.gd397069/lib
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Boost: /Users/anar/Development/BOOST/install-boost_1_74/include (found suitable version "1.74.0", minimum required is "1.67") found components: log log_setup thread program_options filesystem system regex unit_test_framework date_time chrono atomic 
-- Build MiscCommon - YES
-- Build the dds_ncf lib - YES
-- Build dds_ncf unit tests - YES
-- Build MiscCommon unit tests - YES
-- Build dds_protocol_lib - YES
-- Build dds_protocol_lib tests - YES
-- Build dds-daemonize - YES
-- Build dds-daemonize unit tests - YES
-- Build dds-commander - YES
-- Build dds-commander unit tests - YES
-- Build dds-topology - YES
-- Build dds_topology_lib - YES
-- Build dds_topology_lib unit tests - YES
-- Build dds-agent - YES
-- Build dds-agent unit tests - YES
-- Build dds-user-defaults - YES
-- Build dds-user-defaults unit tests - YES
-- Build dds-info - YES
-- Build dds-submit - YES
-- Build dds-agent-cmd - YES
-- Build dds-tutorials - YES
-- Build Tutorial1 - YES
-- Build Tutorial2 - YES
-- Build Tutorial3 - YES
-- Build dds-custom-cmd - YES
-- Build dds_intercom_lib - YES
-- Build dds_intercom_lib tests - YES
-- Build dds-submit-ssh - YES
-- Build dds-submit-ssh unit tests - YES
-- Build dds-submit-localhost - YES
-- Build dds-submit-slurm - YES
-- Build dds-submit-pbs - YES
-- Build dds-submit-lsf - YES
-- Build dds-session - YES
-- Build dds_tools_lib - YES
-- Build dds_tools_lib unit tests - YES
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/anar/tmp/killme/DDS/build
anar@iMac build % make -j wn_bin
...
...
Scanning dependencies of target dds-agent
[ 88%] Building CXX object dds-agent/CMakeFiles/dds-agent.dir/src/main.cpp.o
[ 91%] Building CXX object dds-agent/CMakeFiles/dds-agent.dir/src/CommanderChannel.cpp.o
[ 94%] Building CXX object dds-agent/CMakeFiles/dds-agent.dir/src/AgentConnectionManager.cpp.o
[ 94%] Building CXX object dds-agent/CMakeFiles/dds-agent.dir/src/SMIntercomChannel.cpp.o
[ 97%] Linking CXX executable dds-agent
[ 97%] Built target dds-agent
Scanning dependencies of target wn_bin
[100%] Generate WN binary package
CMake Error at /Users/anar/tmp/killme/DDS/cmake/DDSCollectWNPkgFiles.cmake:10 (file):
  file Resolved path is not absolute


make[3]: *** [CMakeFiles/wn_bin] Error 1
make[2]: *** [CMakeFiles/wn_bin.dir/all] Error 2
make[1]: *** [CMakeFiles/wn_bin.dir/rule] Error 2
make: *** [wn_bin] Error 2

CMakeCache.txt

Please, let men now if you need any other file or info.

Modern cmake has better tools to collect the prereqs of
binaries. Let's use them.

The original patches are by Dennis Klein. He deserves most
of the credit for developing this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants