Hi Bill, sorry for the delay,
On Sun, Oct 22, 2017 at 12:04:07AM +0100, Bill Somerville wrote: > On 21/10/2017 22:15, Ervin Hegedüs wrote: > > I need to do some work to ensure that CMake detection of Hamlib works > correctly for system installed Hamlib libraries. This has only become > possible with the very latest distributions that are starting to include > Hamlib v3.1. For now I suggest building with my Hamlib fork. When I have > made the changes there should be no need to pass any paths nor set > environment variables for CMake to locate Hamlib, I believe I set the > current CMake scripts to break with the system Hamlib because of many issues > with WSJT-X using v2 Hamlib versions. Just some infos to help to clarify, why would like to build WSJTX with system installed Hamlib. I'm a Debian Maintainer, and member of Debian Hamradio team. The current version of WSJTX in Debian (and its derivates) is very old: https://packages.debian.org/sid/wsjtx The version is 1.1... and has some bugs: https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=wsjtx;dist=unstable So I've started to make a new package, which up-to-date, and aligned to the new cmake style build system. I couldn't make any packages with non-system library. The documented build flow isn't allowed in a distribution. Anyway, at last few days I played with that codes, and here are my experiences: * I've built the packages (in Debian, the "Hamlib" divided to many packages, eg. libhamlib++-dev, libhamlib-dev, ...) * when I installed the builded packages, I've got the error from cmake * when I copied the files from builded packages (eg. started an "mc", press ENTER on package, and copy the content of CONTET directory) to a temporary directory, then the cmake recognizes it too, as with your source tree Here is the example: cmake -D CMAKE_INSTALL_PREFIX=/home/airween/src/wsjtx-1.7.0-1/build/ -D CMAKE_PREFIX_PATH=/home/airween/hamlib-prefix-3.1-DEB/usr . and the content of builded packages are in /home/airween/hamlib-prefix-3.1-DEB/ directory. I just replaced the first line in usr/lib/pkgconfig/hamlib.pc to the right path (to the directory itself). In this case the cmake found the Hamlib: ... ... -- Checking for module 'hamlib' -- Found hamlib, version 3.1 -- Found hamlib -- Found hamlib: /home/airween/hamlib-prefix-3.1-DEB/usr/include;/usr/include/libusb-1.0 (Required is at least version "3") -- hamlib_INCLUDE_DIRS: /home/airween/hamlib-prefix-3.1-DEB/usr/include;/usr/include/libusb-1.0 -- hamlib_LIBRARIES: -L/home/airween/hamlib-prefix-3.1-DEB/usr/lib;-lhamlib;-lm;-ldl;-lusb-1.0;-ludev;-pthread -- hamlib_LIBRARY_DIRS: /home/airween/hamlib-prefix-3.1-DEB/usr/lib With ... -D CMAKE_PREFIX_PATH=/usr . I get still -- Checking for module 'hamlib' -- Found hamlib, version 3.1 -- Found hamlib CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find hamlib (missing: hamlib_LIBRARY_DIRS) (Required is at least version "3") Call Stack (most recent call first): /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE) CMake/Modules/Findhamlib.cmake:81 (find_package_handle_standard_args) CMakeLists.txt:735 (find_package) Do you have any idea, what's wrong with system installed components? I think that the dirrecences between the released 3.1 and your repository has NO effect. Thanks again for your help, 73, Ervin ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ wsjt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wsjt-devel
