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

Hi Bill,
Hi Edson,

I may have misunderstood the issue. I thought that you were having issues with Hamlib on Linux and on Windows. I stand corrected.
There are issues but I think they are now dealt with.

We still have to build my fork of hamlib until the changes are all accepted (Nate is moving QTH so that will be a little delayed but all the pull requests are sent awaiting his action).

Building my hamlib fork (or indeed the official master branch) on Linux is very straightforward with all the prerequisites for a default build being readily available in repos (C compiler, autoconf, libtool, TexInfo, pkg-config, ...).

Building hamlib on Windows is small inconvenience but can be done fairly easily from an msys console with mingw versions of the above tools and the Qt bundled mingw48_32 compiler toolchain.

I agree that it should not be a problem with Qt5 on linux.In the worst case, compiling from sources would not be a problem.
Apart form taking about a day!!

Sorry for any confusion, hopefully the dust will settle soon and we can get back to the real stuff ;)

At least now a Mac or Windows package ready for release can be produced in a few minutes by anyone using the CMake script.

73,

-- Edson PY2SDR
73
Bill
G4WJS.


On Wed, Apr 2, 2014 at 4:32 PM, Bill Somerville <g4...@classdesign.com <mailto:g4...@classdesign.com>> wrote:

    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
    <http://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  <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

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to