locked problem with cmake


Greg Cook
 

Hello,

I have successfully built wsjtx-2.3.0-rc1 on an RPi v3 running raspian stretch. However, when I try building rc2, it says cmake v3.9 is required, and I have v3.7.2-1. OK so no problem since I just update cmake. Well, no. After updating the software with apt-get update/upgrade it says I already have the newest version at v3.7.2-1. I hope that the lastest wsjtx Pi build does not depend on a version of cmake unavailable to raspbian Pi's...

Would appreciate some ideas...

Thanks, Greg g4cui


Bill Somerville
 

On 18/11/2020 01:17, Greg Cook via groups.io wrote:
Hello,

I have successfully built wsjtx-2.3.0-rc1 on an RPi v3 running raspian stretch. However, when I try building rc2, it says cmake v3.9 is required, and I have v3.7.2-1. OK so no problem since I just update cmake. Well, no. After updating the software with apt-get update/upgrade it says I already have the newest version at v3.7.2-1. I hope that the lastest wsjtx Pi build does not depend on a version of cmake unavailable to raspbian Pi's...

Would appreciate some ideas...

Thanks, Greg g4cui

Hi Greg,

what version of Raspbian are you running? On my Raspberry Pi:

pi@raspberrypi:~ $ cat /etc/os-release 
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@raspberrypi:~ $ cmake --version
cmake version 3.13.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).
pi@raspberrypi:~ $ sudo apt list cmake
Listing... Done
cmake/stable,now 3.13.4-1 armhf [installed]
pi@raspberrypi:~ $ 

73
Bill
G4WJS.


Greg Cook
 

Hi Bill

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Greg


Greg Cook
 

cmake version 3.7.2
 
CMake suite maintained and supported by Kitware (kitware.com/cmake).


Bill Somerville
 

On 18/11/2020 01:45, Greg Cook via groups.io wrote:
Hi Bill

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Greg
Hi Greg,

I don't recall why we upped the required CMake version. Can you try editing the CMakeLists.txt file to set the minimum required CMake version to the one you have and report back any errors you get please? I may be able to contrive a workaround for older versions.

73
Bill
G4WJS.


Greg Cook
 

Thanks Bill
ok will do.


Greg Cook
 

Hi Bill
Have made the following edit to ../src/wsjtx/CMakeLists.txt:

cmake_minimum_required (VERSION 3.7.2 FATAL_ERROR)

There are other CMakeLists.txt files in different dirs, but have only edited the above...
will now try another make...

Greg


Greg Cook
 

Have edited CMakeLists.txt in ../src/wsjtx dir, but it's still finding a 3.9 clause so perhaps I should edit other instances of this file...
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 76%] Performing patch step for 'wsjtx'
[ 84%] No update step for 'wsjtx'
[ 92%] Performing configure step for 'wsjtx'
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.9 or higher is required.  You are running version 3.7.2
-- Configuring incomplete, errors occurred!
CMakeFiles/wsjtx-build.dir/build.make:67: recipe for target 'wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure' failed
make[2]: *** [wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure] Error 1
CMakeFiles/Makefile2:388: recipe for target 'CMakeFiles/wsjtx-build.dir/all' failed
make[1]: *** [CMakeFiles/wsjtx-build.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
pi@raspberrypi:~/Downloads/build $
 


Greg Cook
 

Hi Bill,

I think this is the relevant CMakeFile.txt from the wsjtx tarball. But I am confused that it gives a minimum version way below mine...is there another CMakeLists.txt file I should edit?


pi@raspberrypi:~/Downloads/wsjtx-2.3.0-rc2 $ cat CMakeLists.txt

cmake_minimum_required (VERSION 2.8.10 FATAL_ERROR)
 
project (wsjt-superbuild)
 
set (__default_tag master)
set (__hamlib_upstream hamlib-4.1~git.tar.gz)
 
set (TARGET_DIR wsjtx
  CACHE STRING "Tarball name and top level directory therein
 
If not specified the WSJT_TAG variable will be substituted" )
 
set (WSJTX_TAG ${__default_tag}
  CACHE STRING "WSJT-X tag to build, if unset build the latest master branch HEAD.
 


Bill Somerville
 

On 18/11/2020 02:19, Greg Cook via groups.io wrote:
Have edited CMakeLists.txt in ../src/wsjtx dir, but it's still finding a 3.9 clause so perhaps I should edit other instances of this file...
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 76%] Performing patch step for 'wsjtx'
[ 84%] No update step for 'wsjtx'
[ 92%] Performing configure step for 'wsjtx'
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.9 or higher is required.  You are running version 3.7.2
-- Configuring incomplete, errors occurred!
CMakeFiles/wsjtx-build.dir/build.make:67: recipe for target 'wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure' failed
make[2]: *** [wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure] Error 1
CMakeFiles/Makefile2:388: recipe for target 'CMakeFiles/wsjtx-build.dir/all' failed
make[1]: *** [CMakeFiles/wsjtx-build.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
pi@raspberrypi:~/Downloads/build $
Hi Greg,

because of the way we provide a combined Hamlib and WSJT-X build in out sources package you have to generate a patch file if you want to modify the sources of either of those packages. The sources tarball comes with a pair of empty patch files (wsjtx.patch and hamlib.patch) try substituting the wsjtx.patch file with the attached file. I recommend starting again with a freshly unzipped sources tarball.

73
Bill
G4WJS.


Greg Cook
 

Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in a new build and report back.

Thanks,

Greg


Bill Somerville
 

On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library version. This may not be so easy to fix. Again I need to investigate why we set Boost v1.63 as the minimum version, Debian 9 repos only have v1.62. In this case I think it will be some runtime behaviour of the Boost::log library that was only introduced in v1.63. I would like to maintain backwards compatibility with Debian 9 as it is LTS until June 2022 rather than requiring users to build local versions of libraries like Boost.

73
Bill
G4WJS.


Greg Cook
 

Hi Bill,

I'm afraid the build failed, but not sure the problem was Boost. I replaced the wsjtx.patch file in the unzipped dir with yours. Part of the error messaging below...
 
-- Performing Test COMPILER_HAS_DEPRECATED - Failed
-- Configuring incomplete, errors occurred!
See also "/home/pi/Downloads/build/wsjtx-prefix/src/wsjtx-build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/Downloads/build/wsjtx-prefix/src/wsjtx-build/CMakeFiles/CMakeError.log".
CMakeFiles/wsjtx-build.dir/build.make:67: recipe for target 'wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure' failed
make[2]: *** [wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure] Error 1
CMakeFiles/Makefile2:388: recipe for target 'CMakeFiles/wsjtx-build.dir/all' failed
make[1]: *** [CMakeFiles/wsjtx-build.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 

73 de Greg

On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 
On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.


Bill Somerville
 

Hi Greg,

can you share the whole output of the cmake configure command please?

73
Bill
G4WJS.

On 18/11/2020 20:35, Greg Cook via groups.io wrote:

Hi Bill,

I'm afraid the build failed, but not sure the problem was Boost. I replaced the wsjtx.patch file in the unzipped dir with yours. Part of the error messaging below...
 
-- Performing Test COMPILER_HAS_DEPRECATED - Failed
-- Configuring incomplete, errors occurred!
See also "/home/pi/Downloads/build/wsjtx-prefix/src/wsjtx-build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/Downloads/build/wsjtx-prefix/src/wsjtx-build/CMakeFiles/CMakeError.log".
CMakeFiles/wsjtx-build.dir/build.make:67: recipe for target 'wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure' failed
make[2]: *** [wsjtx-prefix/src/wsjtx-stamp/wsjtx-configure] Error 1
CMakeFiles/Makefile2:388: recipe for target 'CMakeFiles/wsjtx-build.dir/all' failed
make[1]: *** [CMakeFiles/wsjtx-build.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 

73 de Greg

On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.

 
On Wed, Nov 18, 2020 at 05:56 AM, Bill Somerville wrote:
On 18/11/2020 13:49, Greg Cook via groups.io wrote:
Hi Bill,

I see what you have done and will use the modified wsjtx.patch file in
a new build and report back.

Thanks,

Greg
Hi Greg,

I think you will hit another issue with the required Boost C++ library
version. This may not be so easy to fix. Again I need to investigate why
we set Boost v1.63 as the minimum version, Debian 9 repos only have
v1.62. In this case I think it will be some runtime behaviour of the
Boost::log library that was only introduced in v1.63. I would like to
maintain backwards compatibility with Debian 9 as it is LTS until June
2022 rather than requiring users to build local versions of libraries
like Boost.

73
Bill
G4WJS.



Greg Cook
 

Hi Bill,

cmake output below:

pi@raspberrypi:~/Downloads/build $ cmake ../wsjtx-2.3.0-rc2
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.11.0")
CMake Warning (dev) at CMakeLists.txt:197 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
 
  The target name "install" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
 
CMake Warning (dev) at CMakeLists.txt:198 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
 
  The target name "package" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Downloads/build
 


Bill Somerville
 

On 18/11/2020 21:37, Greg Cook via groups.io wrote:
Hi Bill,

cmake output below:

pi@raspberrypi:~/Downloads/build $ cmake ../wsjtx-2.3.0-rc2
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.11.0")
CMake Warning (dev) at CMakeLists.txt:197 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
  The target name "install" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:198 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
  The target name "package" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Downloads/build
Hi Greg,

sorry, my bad. I meant the configuration of the WSJT-X sub-project which is run when you build the super-project that is configured by the above command.

73
Bill
G4WJS.


Greg Cook
 

Hi Bill

The listing below is with wsjtx.patch modified..

pi@raspberrypi:~/Downloads/build $ cmake ../wsjtx-2.3.0-rc2
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.11.0")
CMake Warning (dev) at CMakeLists.txt:197 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
 
  The target name "install" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
 
CMake Warning (dev) at CMakeLists.txt:198 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
 
  The target name "package" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.
 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Downloads/build
 


Greg Cook
 

Hi Bill,

Ignore last post since just read your update. Not quite sure I follow: After unzipping tarball I run 'cmake' as above and then 'make' to build. So I guess it's a part of the output of running 'make'? Also should I keep with modified wsjtx.patch or empty the file?

Thanks,

Greg
 


Bill Somerville
 

On 18/11/2020 21:57, Greg Cook via groups.io wrote:
Hi Bill,

Ignore last post since just read your update. Not quite sure I follow: After unzipping tarball I run 'cmake' as above and then 'make' to build. So I guess it's a part of the output of running 'make'? Also should I keep with modified wsjtx.patch or empty the file?

Thanks,

Greg
Hi Greg,

yes in the make output you will see a cmake configure phase for WSJT-X.

Yes, the patch file should remain in place, it is applied just be for the above configure phase. it make output will note when that happens.

73
Bill
G4WJS.


Greg Cook
 

Hi Bill,

I've piped the whole make screen dump to the attached file make.log until it fails. Hope that's ok and that you can open it ok.

Greg