[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New Hamlib packages [Was: wsjtx/wsjt software]



Hi Andreas,

On Fri, Jan 19, 2018 at 04:36:04AM +0100, Andreas Bombe wrote:
> On Wed, Jan 17, 2018 at 08:20:52AM +0100, Hegedüs Ervin wrote:
> > Hi Andreas,
> > 
> > On Wed, Jan 17, 2018 at 12:27:55AM +0100, Andreas Bombe wrote:
> > > Can you explain which of these the new version of wsjtx requires and
> > > why? (The real question behind this is how we can avoid that
> > > requirement.)
> > 
> > Wsjt-x builds with Cmake. I have no experience in Cmake, but the
> > reason is that Cmake looks up the .la files for all necessary
> > libraries.
> 
> That all depends on the scripts it uses. I maintain a bunch of packages
> under debian-hams that use CMake and also hamlib. The thing with CMake
> is that all sorts of modules to find certain libraries circulate and
> they all try to do things differently.

thanks,

> > With the existing Hamlib packages (3.1-7) the Cmake doesn't
> > recognize the existence of hamlib. I've tried to find out, what's
> > the reason, and why does it found when I installed the "own"
> > hamlib prefix. During the tests, I've passed to hamlib_*_DIRS
> > (hamlib_INCLUDE_DIRS, hamlib_LIBRARIES, hamlib_LIBRARY_DIRS)
> > values as my Debian Hamlib source dir, and Cmake recogized the
> > Hamlib. So then I catched that it needs the .la files (there are
> > nothing more differences with the packages).
> 
> Looking at the wjst-x included CMake/Modules/Findhamlib.cmake it does
> its own manual detection, but only if pkg-config isn't found. It is
> preferable to use pkg-config rather than that manual prodding anyway.

it's interesting, because the pkg-config package was already
installed on my SID build system... just wasn't listed in
Build-Depends field.

> It looks like libhamlib-dev doesn't depend on pkg-config (I'm not sure
> if it should, many other dev packages providing pkg-config files do) but
> maybe simply Build-Depending on pkg-config so that it can be
> automatically used will fix your problem.
> 
> Tested: There was an error since hamlib_LIBRARY_DIRS is empty, but if I
> experimentally just remove that variable from the
> find_package_handle_standard_args invokation on line 81 it works and
> compiles.

thanks for help - I've added the pkg-config package to
Build-Depends section, and now the package assembled as well.

I've changed the required packages for Qt to Qt5 (from Qt4). It
works also as well.

There are some lintian errors, which I couldn't fix:

E: wsjtx: manpage-has-wrong-extension usr/share/man/man1/jt4code.1.gz.gz
E: wsjtx: manpage-has-wrong-extension usr/share/man/man1/jt9.1.gz.gz
E: wsjtx: manpage-has-wrong-extension usr/share/man/man1/jt9code.1.gz.gz

Here is the output of the build flow:

   dh_compress -O--buildsystem=cmake
        cd debian/wsjtx
        chmod a-x usr/share/doc/WSJT-X/COPYING usr/share/doc/WSJT-X/INSTALL usr/share/doc/WSJT-X/NEWS usr/share/doc/WSJT-X/README usr/share/doc/wsjtx/changelog.Debian usr/share/doc/wsjtx/wsjtx_changelog.txt usr/share/man/man1/jt65 code.1 usr/share/man/man1/message_aggregator.1 usr/share/man/man1/rigctl-wsjtx.1 usr/share/man/man1/rigctld-wsjtx.1 usr/share/man/man1/udp_daemon.1 usr/share/man/man1/wsjtx.1 usr/share/man/man1/wsprd.1
        gzip -9nf usr/share/doc/WSJT-X/COPYING usr/share/doc/WSJT-X/INSTALL usr/share/doc/WSJT-X/NEWS usr/share/doc/WSJT-X/README usr/share/doc/wsjtx/changelog.Debian usr/share/doc/wsjtx/wsjtx_changelog.txt usr/share/man/man1/jt65 code.1 usr/share/man/man1/message_aggregator.1 usr/share/man/man1/rigctl-wsjtx.1 usr/share/man/man1/rigctld-wsjtx.1 usr/share/man/man1/udp_daemon.1 usr/share/man/man1/wsjtx.1 usr/share/man/man1/wsprd.1
        cd '/home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0'
        rm -f debian/wsjtx/usr/share/man/man1/jt9.1.gz debian/wsjtx/usr/share/man/man1/jt9.1.gz.gz
        ln -s wsjtx.1.gz debian/wsjtx/usr/share/man/man1/jt9.1.gz.gz
        rm -f debian/wsjtx/usr/share/man/man1/jt9code.1.gz debian/wsjtx/usr/share/man/man1/jt9code.1.gz.gz
        ln -s jt65code.1.gz debian/wsjtx/usr/share/man/man1/jt9code.1.gz.gz
        rm -f debian/wsjtx/usr/share/man/man1/jt4code.1.gz debian/wsjtx/usr/share/man/man1/jt4code.1.gz.gz
        ln -s jt65code.1.gz debian/wsjtx/usr/share/man/man1/jt4code.1.gz.gz

I don't find in the makefile(s), where wants to DH create the
symlink as .gz.gz. If anybody can helps me, that would be great.




Another problem with this package, the pbuilder exits with error:

[ 81%] Generating man/man1/wsjtx.1.gz
a2x: ERROR: "xsltproc" -param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0 --stringparam callout.graphics 0 --stringparam navig.graphics 0 --stringparam admon.textlabel 1 --stringparam admon.graphics 0 "/etc/asciidoc/docbook-xsl/manpage.xsl" "/build/wsjtx-1.8.0/manpages/man/man1/wsjtx.1.xml" returned non-zero exit status 5
manpages/CMakeFiles/manpages.dir/build.make:66: recipe for target 'manpages/man/man1/wsjtx.1.gz' failed

But in my "normal" environment, the a2x runs with these
arguments:

/usr/bin/a2x --format=manpage --xsltproc-opts=-param\ man.endnotes.list.enabled\ 0\ -param\ man.endnotes.are.numbered\ 0 --doctype=manpage --no-xmllint -a VERSION=1.8.0 man/man1/wsjtx.1.txt

Here is the relevant part (from line 65.) of build.make above:

65  manpages/man/man1/wsjtx.1.gz: manpages/man1/wsjtx.1.txt
66          @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating man/man1/wsjtx.1.gz"
67          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /usr/bin/cmake -E make_directory man/man1
68          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /usr/bin/cmake -E copy /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages/man1/wsjtx.1.txt man/man1
69          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /usr/bin/a2x --format=manpage --xsltproc-opts=-param\ man.endnotes.list.enabled\ 0\ -param\ man.endnotes.are.numbered\ 0 --doctype=manpage --no-xmllint -a VERSION=1.8.0 man/man1/wsjtx.1.txt
70          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /usr/bin/cmake -E remove man/man1/wsjtx.1.txt
71          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /bin/sed -e '/^.so [^\/]*$$/s@.so @&man1\/@' -i.orig man/man1/*.1
72          cd /home/airween/src/WSJT-1.8/20180119/wsjtx-1.8.0/manpages && /bin/gzip -f9 man/man1/*.1

Here isn't any reference to xml file...


Why is there that difference between the regular build and
pbuilder?



Thanks,


73, Ervin
HA2OS


Reply to: