On 02/04/2014 19:58, Greg Beam wrote:
> Hi Bill,
Hi Greg,
>
> Ok, thank you.
>
> One other question. How are you setup to build on Windows, are you using
> MSYS + MinGW32 from mingw.org to build the QT projects?
No I use a Windows console and the mingw48_32 toolchain provided by Qt. 
This is toolchain is required for clean builds because the Qt libraries 
are fully compatible with it.

I do have a bunch of stuff from a MinGW install on my dev environment 
PATH but definitely nothing from the msys environment as that is NOT 
compatible with Windows console operation or with the Qt SDK.
>
> 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.
The previous binary hamlib (3.0) package didn't have static libs built, 
this was deliberate since I know static linking of hamlib doesn't work 
for now at least. The build changes I made don't enforce static linking 
of hamlib, nor do they enforce v3.0 if pkg-config isn't available. I 
won't enforce the final checks until I have a fully working WSJT-X build 
with static hamlib v3.0.
>
> 73's
> Greg, KI7MT
73
Bill
G4WJS.
>
>
> 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 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
>>>> 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
>>
> ------------------------------------------------------------------------------
> _______________________________________________
> 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