On 02/04/2014 20:10, Edson W. R. Pereira wrote:

Bill, Greg,
Hi Edson,

The dependency on a custom install of Hamlib could pose as a problem for many. Including testers. The Linux situation is also rather bad. To make things worse, I don't foresee the changes in Hamlib making its way to a public release any time soon. In the past, it took quite some time to get changes released. Then there is the time for the changes to propagate into the Linux distributions.
I don't see the problem (at least not with hamlib).

On Windows the installer (and the release build) fully package all the required libraries. There are no external dependencies other that standard o/s DLLs.

On Mac the installer (and the release build) create a Mac bundled application, again with all external dependencies embedded apart from standard o/s dylibs.

On Linux my latest changes will mean that hamlib is statically linked (actually it will probably be statically linked on all platforms for consistency). The external dependencies are fftw which is available on all recent Linux distros and Qt5 which is on some.

So the problem is Qt5 on Linux, not hamlib. Since qt-project.org provide comprehensive binary installers for many platforms I don't think this is a big issue.

What do you think of using rigctld instead of linking with the lib? It seems rigctld works on Unix and Windows. We could then keep our custom hamlib as a separate package.
I don't understand this suggestion, rigctld is a server that can be talked to by hamlib clients instead of talking directly to the rig. The hamlib integration in WSJT-X can already do this as the network rigctl backend is just another hamlib backend. We would still have to ship a rigctld with the latest hamlib linked to get the correct functionality. Doesn't this double the issues with two hamlib programs that have to be statically linked to hamlib 3.0?

73,

-- Edson PY2SDR
73
Bill
G4WJS.




On Wed, Apr 2, 2014 at 3:58 PM, Greg Beam <ki...@yahoo.com <mailto:ki...@yahoo.com>> wrote:

    Hi Bill,

    Ok, thank you.

    One other question. How are you setup to build on Windows, are you
    using
    MSYS + MinGW32 from mingw.org <http://mingw.org> to build the QT
    projects?

    I ran into thread issues when I tried that, and thus, ended up
    having to
    use MinGW32 for WSJT & WSPR, and mingw48_32 from QT5 tools.

    If your setup using just MSYS + MinGW, and we can get that to work for
    all 5 apps, that would certainly simplify things.

    As a side note, I was able to build WSJT-X from the package you'd sent
    previous. It didn't find the Static Hamlib binaries, but it's up and
    running on 20m.

    73's
    Greg, KI7MT


    On 4/2/2014 18:30, Bill Somerville wrote:
    > On 02/04/2014 15:50, Greg Beam wrote:
    >> HI Bill,
    > Hi Greg,
    >>
    >> Thanks for the update.
    >>
    >> Is there any chance of providing the required libraries for
    Windows,
    >> other wise, this change has a much larger impact than
    pkg-config. As you
    >> stated in the original release, Autotools, m4, Libtool and are all
    >> requirements to build Hamlib (I found it wants a few more
    also), which
    >> basically means, one needs MSYS (on Windows) installed in
    addition to
    >> the Qt5 tool chain. That is a pretty substantial requirement to
    provide
    >> one library.
    > Yes I agree that building hamlib does need a few MinGW extra
    > prerequisites. Once set up there is no problem of course.
    >
    > I would really like to get the WSJT-X project to build hamlib as an
    > external project, but all the things you mention are a problem there
    > with the added complexity that hamlib really needs to be built
    from an
    > msys console whereas Qt programs like jt9 and wsjtx must be
    built from a
    > windows console because of the way qt-project have built their MinGW
    > environment.
    >
    > I will build a Windows hamlib for you with at least a static
    libraries.
    > I hadn't realized that you were relying on the binary packages I
    posted
    > earlier. I am currently trying to sort out the libusb dependency
    so I'll
    > update the binaries when I've either sorted that out or given up.
    >>
    >> Alternatively, is there any way to simply tun off the Hamlib
    requirement
    >> at build time and rely on 3rd part tools such as DXL commander,
    HRD etc?
    > No that won't work since hamlib is used for independent PTT port
    control
    > for all interfaces.
    >>
    >> Is Hamlib 1.12.x still an option? It just seems allot to fore
    the use of
    >> an unreleased Library that requires so much to accommodate it use.
    > I have put in a version check since there are so many fixes in
    hamlib
    > 3.0 that I cannot give any guarantees that CAT control will work
    with
    > the old library. I want developers and testers to use the new
    hamlib to
    > help me iron out defects that remain.
    >>
    >> 73's
    >> Greg, KI7MT
    >>
    > 73
    > Bill
    > G4WJS.
    >>
    >>
    >>
    >> On 4/2/2014 12:46, Bill Somerville wrote:
    >>> Hi All,
    >>>
    >>> because we are currently using a fork of hamlib and also
    because even
    >>> when all the changes in the fork are accepted and released as
    a new
    >>> version of hamlib is probably a long way off; it is necessary
    to deal
    >>> with how we link to hamlib in our release packages.
    >>>
    >>> On Windows and Mac we currently bundle the hamlib and other
    dependencies
    >>> (fortarn, fftw & Qt5) as DLLs/dylibs in the installed package.
    On Linux
    >>> there isn't an equivalent solution and shipping non-standard
    (where
    >>> non-standard means newer versions from that available via
    distribution
    >>> package repositories) is not really possible. Fortran and fftw
    are ok as
    >>> a suitable version is in all repos that I know of. Qt5 is in
    some of the
    >>> newer Linux repos but not all. Hamlib (v3.0) isn't in any repo.
    >>>
    >>> The normal approach with non-standard libraries is to static
    link them
    >>> into the application. Unfortunately building a Qt5 suitable
    for static
    >>> linking is very difficult (maybe impossible) so we can't do
    much about
    >>> that, OTOH qt-project.org <http://qt-project.org> provides
    easy to use installers for Qt5 for
    >>> many platforms. So for Qt5 I think we will have to let Linux
    users who
    >>> don't have Qt5 in their distribution package repositories sort
    out the
    >>> Qt5 dependency themselves.
    >>>
    >>> For hamlib we are able to static link. To enable this I have
    upgraded
    >>> the CMake find module for hamlib to include static linking
    capabilities.
    >>> Hamlib uses pkg-config to tell clients how to link it so you
    will need
    >>> to have pkg-config installed on your build machines. It is a
    standard
    >>> package on all Linux distros, it is available from MacPorts on
    Mac. On
    >>> Windows it is a bit more complicated as the full pkg-config
    package for
    >>> MinGW has a circular dependency with glib. So I suggest you
    install
    >>> pkg-config-lite which you can get from here
    >>> https://sourceforge.net/projects/pkgconfiglite/ Install the latest
    >>> binary package and make sure it is on you MinGW PATH for builds.
    >>>
    >>> While sorting this out I discovered a defect in the hamlib
    pkg-config
    >>> generation, a fix for has been submitted to the hamlib
    developers. My
    >>> integration branch of my hamlib fork has the fix in place.
    >>>
    >>> So you will need to update your hamlib sources:
    >>>
    >>> cd <source-dir>/u-bsomervi-hamlib
    >>> git pull origin integration
    >>>
    >>> Then rebuild hamlib. In the past I have suggested a hamlib
    configuration
    >>> with only dynamic libraries, because of these changes you
    probably want
    >>> to build static hamlib archives (the WSJT-X build will still
    work with
    >>> the dynamic libs but static is now preferred). Reconfigure
    your hamlib
    >>> build as follows:
    >>>
    >>> Assume you build out of the source tree in a sub-directory called
    >>> 'build' and install into 'c:\test-install\hamlib'
    >>>
    >>> cd build
    >>> ../autogen --prefix /c/test-install/hamlib
    >>> make clean && make && make install
    >>>
    >>> Once that is done you can re-build WSJT-X as usual. I would
    recommend
    >>> deleting the CMakeCache.txt in your WSJT-X build tree(s) and
    >>> re-configuring since CMake isn't perfect at picking up changes in
    >>> external dependencies.
    >>>
    >>> Sorry for the disruption, but we have to move towards being
    able to
    >>> deliver clean installer packages for all supported platforms.
    >>>
    >>> 73
    >>> Bill
    >>> G4WJS.
    >>>
    >>>
    
------------------------------------------------------------------------------
    >>> _______________________________________________
    >>> wsjt-devel mailing list
    >>> wsjt-devel@lists.sourceforge.net
    <mailto:wsjt-devel@lists.sourceforge.net>
    >>> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
    >>>
    >>
    
------------------------------------------------------------------------------
    >> _______________________________________________
    >> wsjt-devel mailing list
    >> wsjt-devel@lists.sourceforge.net
    <mailto:wsjt-devel@lists.sourceforge.net>
    >> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
    >
    >
    >
    
------------------------------------------------------------------------------
    > _______________________________________________
    > wsjt-devel mailing list
    > wsjt-devel@lists.sourceforge.net
    <mailto:wsjt-devel@lists.sourceforge.net>
    > https://lists.sourceforge.net/lists/listinfo/wsjt-devel
    >

    
------------------------------------------------------------------------------
    _______________________________________________
    wsjt-devel mailing list
    wsjt-devel@lists.sourceforge.net
    <mailto:wsjt-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/wsjt-devel




------------------------------------------------------------------------------


_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to