HELP!!!

473 views
Skip to first unread message

Leif Asbrink

unread,
Mar 5, 2016, 6:08:34 PM3/5/16
to lin...@googlegroups.com
Hello All,

The current version of Linrad on the repository no longer
compiles with the old mingw32 compiler that I supply for
Windows. A more modern compiler is needed.

I have a .zip file that contains everything necessary
(plus a lot of extra) that I could distribute to keep compilation
as trivial as it always has been under Windows.

That zip file is essentially the old MinGW directory plus
the 32 bit as well as the 64 bit versions of mingw-w64.

It is necessary to have both because the 32 bit version can not
produce 64 bit code and the 64 bit version can not produce 32
bit code.

It is necessary to use 32 bit versions of Linrad on 64 bit
platforms in those cases where 64 bit dll files are not available.

I would be happy to distribute this .zip file, but I can not
because I can not understand the complicated license documents
that are included. I have downloaded and run installers and copied
everything into C:\MinGW. I have removed Python to shrink from 210 MB
to 170 MB. Many more things could be removed, but that would be a
significant amount of work.

I need help to understand the licenses. Can I upload this .zip file
that contains solely unmodified files. Binaries, libraries, headers
and documents (mostly complicated license documents.)

Some documents seem to allow it, some do not.

The old GNU license for mingw32 required me to upload all the
source code which was not a problem, but for mingw-w64 I
can not figure out what all the source code is.

Is there someone on this list who could have a look at the
.zip file I have and figure out what the license files actually
mean.

Is it the official policy of the openb source community to
prevent me from sharing the compilers with others? That is
what I can understand from the license files, but on the
official site:
http://www.gnu.org/licenses/quick-guide-gplv3.html
I can read (among other things:

Nobody should be restricted by the software they use.
There are four freedoms that every user should have:

the freedom to use the software for any purpose,
the freedom to change the software to suit your needs,
the freedom to share the software with your friends and neighbors, and
the freedom to share the changes you make.

I would like the freedom to share - but the conditions are
far too complicated for me.

Is there anyone who can help??

If required I can upload 50 GB of source code files but
I can not figure out which ones. For practical reasons
I can not upload more than maybe 50 files, I would have to
write html documents to make them available to anyone.

Linrad can be compiled under Windows in many ways. One can
use cmake with Visual Studio 2013 (but I can not. A complicated
environment I do not want to learn.) It can also be compiled
with Msys2 or cygwin - things that I do not know how to do and
that I do not want to learn.

I wrote a posting on mingw-w6...@lists.sourceforge.net
as you can see below. It is now nearly one week ago but nobody
has given an answer. The list is active with several people
writing about problems they are solving.

73

Leif



From: Leif Asbrink <le...@sm5bsz.com>
To: mingw-w6...@lists.sourceforge.net
Reply-To: mingw-w6...@lists.sourceforge.net
Subject: [Mingw-w64-public] Distributing mingw-w64
Date: Mon, 29 Feb 2016 16:18:50 +0100
X-Mailer: Sylpheed 3.2.0 (GTK+ 2.24.10; i486-pc-linux-gnu)

Hello,

I am the author of Linrad, a Software Defined Radio (SDR) package.
Originally for Linux, but later also for Windows.

It is important for the healthy development of support to more
radio hardware platforms that it is easy for non-programmmers
to compile from sourrce code. The reason is that users can add
their own users_hwaredriver.c to the linrad source package and
then just run configure and make to get an executable.
(Under windows, configure.exe and then make.bat)

For many years I have supplied a .zip file with mingw32 and nasm
that should be unpacked in C: to create C:\MinGW and that has
been everything a user needs to do.

To comply with the GNU license I have made the full source code
available here:
http://www.sm5bsz.com/linuxdsp/install/compile/wincompile_nasmplus.htm

Now this does not work any more because a developer has modified
the linrad code to use these:
__sync_lock_test_and_set(...)
__sync_val_compare_and_swap(...)
They are not supported in the old mingw32 that I supply.

Installing mingw-w64 is trivial under linux, but problematic under
Windows. This link:
https://sourceforge.net/projects/mingw-w64/
gives an installer, mingw-w64-install.exe for US users, but here
in Sweden it gives mingw-w64-v4.0.5.tar.bz2 The installer I
find somewhere (have forgotten the URL) gives this error:
Cannot download repository.txt [0]

Using cygwin or msys2 is too scary for the kind of people I want
to be able to make small modifications to a simple file they can
share among them in groups using the same hardware.

I have made a file, MinGWnasm.zip that contains everything needed.
It contains the 32 bit version as well as the 64 bit version of
mingw-w64. That is because I want the same compile instructions
to apply on 32 bit systems and on 64 bit systems. The installers
I have downloaded to get this file with everything placed in
the directory MinGW (as before) was originally 216 megabytes,
I have removed Python and all .py files to decrease the size
which is now 167 megabytes. (Expands to about 600 megabytes.)

There are many copyright statements in many different files.
In the root there is a file mingw-64.url and two files copying
and copying.lib

I am not a lawyer and I can not understand the licence information
which is present in so many places. Somewhere I found that it
is enough to supply information about where the source code can
be downloaded. (When distributing unchanged executables, libs
and header files.)

My question to the group: What do I have to do in order to make
the zip file with mingw32-x64 public on the Internet? Is it enough
that all the copyright information and the mingw-64.url file is
included? I have not changed any file, just added mingw-x64 to the
old file which has mingw32 and nasm. (The old mingw32 is needed to
allow compilation of older versions without a need to change the
make file.)

Regards

Leif

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Mingw-w64-public mailing list
Mingw-w6...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

bubnikv

unread,
Mar 6, 2016, 7:00:24 PM3/6/16
to Linrad
Leif,

I believe you could spare yourself all the troubles by recommending following two steps to setup a development environment on a Windows box:

1) Install MinGW from the official sources

2) Download the NASM and unzip it into the MinGW bin directory

As far as I can remember, that was all to make it compile on my Windows 7 computer and the MinGW installation is well documented. The default MinGW installation will likely occupy more space on the hard drive than your old optimized MinGW distribution, but I don't think it is a problem nowadays.

73, Vojtech OK1IAK

Leif Asbrink

unread,
Mar 7, 2016, 10:26:40 AM3/7/16
to lin...@googlegroups.com
Hi Vojtech,

> I believe you could spare yourself all the troubles by recommending
> following two steps to setup a development environment on a Windows box:
>
> 1) Install MinGW from the official sources
> http://www.mingw.org/
That is far to complicated for most radio amateurs.

There is however an easy to use installer for mingw-w64 but when
I tried to make a video demonstrating how to use it to compile
Linrad I found that the installer did not work at all.

Now, that was one week ago. I tried today and now the problem has
been cured:-)

I have followed your suggestion off list to use the Win32 Interlocked
primitives with mingw when compiling for Windows. This works fine
with both old and new versions of mingw and mingw-w64.

This means that the old instructions are still valid: Unpack
my old file mingw516nasmplus into C:\ to generate C:\MinGW\
with everything in it. The videos demonstrating it are still valid:-)

Those who might want to produce linrad64.exe on a 64 bit platform
will have to run the mingw-w64 installer and install into C:\mingw64
(which is simple enough.) Then just type make64 in the Linrad directory
after having executed make.

It is also possible to compile with cmake and Visual Studio 2013
although this seems too complicated for me.

Problem solved:-)


73

Leif

Roger Rehr

unread,
Mar 7, 2016, 12:23:32 PM3/7/16
to lin...@googlegroups.com
This note contains some helpful tips for list members resulting from my
experiences with mingw and mingw-w64. It might save list members who
want to build both the 32 bit and the 64 bit versions of Linrad some
time.

First of all, I am running Windows 10 64 bit version.

Here I installed mingw from the official sourceforge link
https://sourceforge.net/projects/mingw/files/
[this sourceforge site is also what is accessed if you go to the link
Leif noted and click "Downloads"]. This has an extremely simple-to-use
installer that is accessed by clicking on the very large green button
that says "Download".

Here I installed mingw-w64 from the official sourceforge link that I
posted to this list last week:
https://sourceforge.net/projects/mingw-w64/
This also has an extremely simple-to-use installer that is accessed by
clicking on the very large green button that says "Download".

Once both of the above have been properly installed,

To get Linrad 32 bit version compiled and built I do the following:
1. Open a Windows Command Prompt window. In that window, do the
following:
2. Go to the appropriate directory containing your Linrad
source code
3. In that window, type "configure"
4. In that window, type "make linrad.exe"

To get Linrad 64 bit version compiled and built I do the following:
1. Open an MSYS2 64-bit Command Prompt window. In that window, do the
following:
2. Go to the appropriate directory containing your Linrad
source code
3. In that window, type "./ configure"
4. In that window, type "make linrad64.exe"

Trying to compile and build linrad.exe from an msys or MSYS2 window
will not work.

Trying to compile and build linrad64.exe from the Windows Command Prompt
window will not work.

That may not be true for every installation, but it is true here, where
I used the official, recommended method of installation for both the 32
and 64 bit versions of mingw, and where I installed them into the
default [and recommended] directories and also made sure that
environmental paths were set appropriately and as recommended.

If your system functions as mine does, then not knowing the above
could cause you to waste an extraordinary amount of time, as it did me.

As a second point, I want to offer a potential solution for those who
find as I did that the LPT port will not work to control their WSE
equipment on 64 bit Windows 10. Some others have not had this
problem. But after purchasing and unsuccessfully trying several
parallel port cards that claimed to work with Windows 10 I took another
approach and made a simple Arduino-based solution which is working
nicely here. You can find a brief report of this at:
http://www.nitehawk.com/w3sz/Arduino_USB_WSE_Controller.html

If you have any questions regarding the Arduino project, please feel
free to email either privately or via the list, whichever you feel is
appropriate for your particular query.

73,

Roger
W3SZ
Reply all
Reply to author
Forward
0 new messages