Problem Building Harbour under MinGW 7.2.0

676 views
Skip to first unread message

Mel Smith

unread,
Sep 18, 2017, 3:04:06 PM9/18/17
to Harbour Developers
Hi Viktor:

   I just installed the latest version of MinGW  (7.2.0).

   After your latest update today, and during the start of creation of this build, I had a crash informing me that:

            ' The CPU you selected does not support the x86-64 instruction set. '

   I had no problem building with the previous MinGW 7.1.0 version.

   I do note though that the new MinGW 7.2.0 version has a slightly different directory structure.

   Also, I believe this new version is slanted more toward 64-bit builds rather than 32-bit.

  Anyway, I'm attaching the MGLOG.TXT inside the MGLOG.ZIP file for your perusal.

   ( btw, this new and latest MinGW 7.2.0 compiler is available for download at my site.)

Thanks !

-Mel

Mel Smith

unread,
Sep 18, 2017, 3:35:50 PM9/18/17
to Harbour Developers
Sorry, here is the attached file now ...

-Mel
MGLOG.ZIP

vszakats

unread,
Sep 18, 2017, 3:58:45 PM9/18/17
to Harbour Developers
Hi Mel,


On Monday, September 18, 2017 at 9:04:06 PM UTC+2, Mel Smith wrote:
Hi Viktor:

   I just installed the latest version of MinGW  (7.2.0).

   After your latest update today, and during the start of creation of this build, I had a crash informing me that:
            ' The CPU you selected does not support the x86-64 instruction set. '

   I had no problem building with the previous MinGW 7.1.0 version.

Are you sure this was caused by my typo-fix in `hbfimage`
contrib today? It seems unlikely.
 
   I do note though that the new MinGW 7.2.0 version has a slightly different directory structure.
   Also, I believe this new version is slanted more toward 64-bit builds rather than 32-bit.
  Anyway, I'm attaching the MGLOG.TXT inside the MGLOG.ZIP file for your perusal.
   ( btw, this new and latest MinGW 7.2.0 compiler is available for download at my site.)

I can't seem to be able to access this part of your site, but I'm on
the opinion that it's best (or should I say critical) to download C
compiler tools (and other 3rd party components) from their original
source. This has practical advantages: 1) everyone knows they
are using the package just by looking at the URL or package
name 2) it's better security-wise. +1) it's also faster and doesn't
wastes bandwidth.

The tools I used to recommend reside here:

There are still quite a few options there, so lately I switched
to using the mingw toolchain packaged by MSYS2.

With MSYS2, it's easy, you have one 32 and one 64-bit package,
both non-multilib builds, so they don't need extra configuration,
it's enough to put the selected one in PATH.

3.4 was updated to support all these scenarios. I can't speak of
3.2 - it was a long ago, and it's a bit surprising that it still builds
correctly at all. In recent sync effort I haven't made updates to the
build system beyond some superficial changes, like comment
updates and such - functionality should be the exact same as it
was before.

-Viktor

Mel Smith

unread,
Sep 18, 2017, 4:29:40 PM9/18/17
to Harbour Developers
Are you sure this was caused by my typo-fix in `hbfimage`
contrib today? It seems unlikely.
 

    NO, I'm quite certain that the slightly modified directory structure of this latest MinGW 7.2.0 is the cause of my problems.
 
   I do note though that the new MinGW 7.2.0 version has a slightly different directory structure.
   Also, I believe this new version is slanted more toward 64-bit builds rather than 32-bit.
  Anyway, I'm attaching the MGLOG.TXT inside the MGLOG.ZIP file for your perusal.
   ( btw, this new and latest MinGW 7.2.0 compiler is available for download at my site.)

I can't seem to be able to access this part of your site, but I'm on
the opinion that it's best (or should I say critical) to download C
compiler tools (and other 3rd party components) from their original
source. This has practical advantages: 1) everyone knows they
are using the package just by looking at the URL or package
name 2) it's better security-wise. +1) it's also faster and doesn't
wastes bandwidth.

   The source is https://www.nuwen.net and this site has been providing hi-quality, unchanged MinGW downloads for many years now. In fact, this is the only site where a binary download was available.

   Perhaps, it is the hbmk2 option -march=???? that needs to be changed. ??
   Yes, I traverse the above sites usually first.  But Stephan T Lavavej's site is the only one where the executables were available.
btw, it was Andi Jahja who recommended that MinGW 7.1.0 be quickly replaced by 7.2.0 -- because of nine significant errors in the 7.1.0 version. 

   My site:  www.whosaway.com  
      Email your external IP address to sup...@whosaway.com, and I'll ensure you get download access rights.

   and I thank you for all your work on our behalf !

-Mel


   

vszakats

unread,
Sep 18, 2017, 5:25:27 PM9/18/17
to Harbour Developers


On Monday, September 18, 2017 at 10:29:40 PM UTC+2, Mel Smith wrote:
Are you sure this was caused by my typo-fix in `hbfimage`
contrib today? It seems unlikely.
 

    NO, I'm quite certain that the slightly modified directory structure of this latest MinGW 7.2.0 is the cause of my problems.
 
   I do note though that the new MinGW 7.2.0 version has a slightly different directory structure.
   Also, I believe this new version is slanted more toward 64-bit builds rather than 32-bit.
  Anyway, I'm attaching the MGLOG.TXT inside the MGLOG.ZIP file for your perusal.
   ( btw, this new and latest MinGW 7.2.0 compiler is available for download at my site.)

I can't seem to be able to access this part of your site, but I'm on
the opinion that it's best (or should I say critical) to download C
compiler tools (and other 3rd party components) from their original
source. This has practical advantages: 1) everyone knows they
are using the package just by looking at the URL or package
name 2) it's better security-wise. +1) it's also faster and doesn't
wastes bandwidth.

   The source is https://www.nuwen.net and this site has been providing hi-quality, unchanged MinGW downloads for many years now. In fact, this is the only site where a binary download was available.

   Perhaps, it is the hbmk2 option -march=???? that needs to be changed. ??

The -comp= option rather, but I don't know your config details and
I've never used the nuwen distro, so I cannot tell for sure.

The error suggests that hbmk2 wants to use 64-bit mode, but the
mingw you have in PATH doesn't support 64-bit.


   Yes, I traverse the above sites usually first.  But Stephan T Lavavej's site is the only one where the executables were available.


btw, it was Andi Jahja who recommended that MinGW 7.1.0 be quickly replaced by 7.2.0 -- because of nine significant errors in the 7.1.0 version. 

I've used both in production without issues, but no doubt it's always
best to follow bugfix updates. With MSYS2, updating is easy too.

-Viktor

Andi Jahja

unread,
Sep 18, 2017, 5:30:32 PM9/18/17
to harbou...@googlegroups.com, andi....@yahoo.co.id
Hi Mel,
 
The problem are these flags: "-march=i586 -mtune=pentiumpro"
 
Distro from nuwen.net is 64-bit stuff.
 
Make sure your environment are adjusted accordingly to build 64-bit version/.
 
Andi

Virus-free. www.avast.com

vszakats

unread,
Sep 18, 2017, 5:41:55 PM9/18/17
to Harbour Developers
Indeed, the reverse of what I've said: hbmk2 wants to build
a 32-bit target (default) with 32-bit options, while the C compiler
in PATH can only create 64-bit target.

-Viktor

Mel Smith

unread,
Sep 18, 2017, 7:08:53 PM9/18/17
to Harbour Developers
Hi Andi:


On Monday, September 18, 2017 at 3:30:32 PM UTC-6, Andi Jahja wrote:
Hi Mel,
 
The problem are these flags: "-march=i586 -mtune=pentiumpro"
 
Distro from nuwen.net is 64-bit stuff.
 
Make sure your environment are adjusted accordingly to build 64-bit version/.
 
Andi 

 What should I change in my environment to actually build this 64-bit MinGW version ? (I'm developing on a 64-bit ASUS laptop)

 and it seems that this MinGW 7.2.0 can *also* build 32-bit exes too ???  But how ?

Thanks,

-Mel

Andi Jahja

unread,
Sep 18, 2017, 7:57:12 PM9/18/17
to harbou...@googlegroups.com, andi....@yahoo.co.id
> What should I change in my environment to actually build this 64-bit MinGW
> version ? (I'm developing on a 64-bit ASUS laptop)

I guess that should be in readme or something like that file.

> and it seems that this MinGW 7.2.0 can *also* build 32-bit exes too ???
> But how ?

I dont't think so.

Andi


.

Massimo Belgrano

unread,
Sep 19, 2017, 4:51:22 AM9/19/17
to Harbour Project Main Developer List.
can be used one version for create 32 & 64 bit? HOW?

MinGW-W64 GCC-7.1.0

How can be merged in 3.2 e 3.4?

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Massimo Belgrano
Delta Informatica S.r.l. (Cliccami per scoprire 

vszakats

unread,
Sep 19, 2017, 5:05:36 AM9/19/17
to Harbour Developers
No, I suggest using MSYS2 packages. It's the simplest way to
install mingw-w64 and keep it updated. It comes from the same
team/effort as mingw-w64 itself.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Mel Smith

unread,
Sep 19, 2017, 10:23:44 AM9/19/17
to Harbour Developers
Hi Andi:

   You're correct. I questioned Stephan about 32-bit capability of his distro yesterday, and here is his response last nite:

<Quote>
      No, I intentionally disable that capability when I build the distro.

STL
<UnQuote>

Dušan D. Majkić

unread,
Sep 19, 2017, 11:00:02 AM9/19/17
to harbou...@googlegroups.com
> I suggest using MSYS2 packages.

RubyInstaller (eg most popular Ruby distribution for Windows) recently
switched from custom MinGW distribution to MSYS2 enviroment
for compiling native code.

It installs MSYS2 if there is none, and provides simple ridk
command to update, enable/disable msys enviroment, and install
packages to MSYS2.

For example to install sqlite3 gem, which requires sqlite3 lib:

C:\>ridk exec pacman -S mingw-w64-x86_64-sqlite3
C:\>gem install sqlite3 --platform ruby

First command will install sqlite3 libs in MSYS2, and second will call
MSYS2 compiler which will use that sqlite3 lib, compile binaries and
put it in somwhere in ruby/gems/lib predefined location.

MSYS2 internaly uses pacman ported from Arch Linux for dependency
management.

All that is very close to Unix/Liunx systems which will do something like:

$ sudo apt install sqlite3
$ gem install sqlite3

MSYS2 is used only to compile native code - it is not needed to
run Ruby, and it is not needed if gems already provide correct binaries.
But when compilation is needed - it does provide almost full unix-like
enviroment (with configure, make, perl, shell scripts, ...), and supports
update of installed components (eg. update MinGW version, update
to new sqlite lib, etc). Some gems that where hell to compile on
Windows are now breeze to install.

I was following what they did, and I know that there is a lot of work
involved, but it was worth it. Here are the lniks:

https://rubyinstaller.org/downloads/
https://github.com/oneclick/rubyinstaller2

Massimo Belgrano

unread,
Sep 19, 2017, 11:43:56 AM9/19/17
to Harbour Project Main Developer List.
done  Occupation is c:\msys32\mingw32  is  2,64 GB 
so i invite also mel try with this version this is my Mingw

This are action 
deleted old c:\msys32 and install  from  msys2-i686-20161025.exe  
pacman -S git base-devel msys2-devel mingw-w64-{i686,x86_64}-toolchain

set MINGWROOT=c:\msys32\mingw32
set HBROOT=c:\harbour
SET HB_WITH_OPENSSL=c:\OpenSSL-Win32\include
cd %HBROOT%
REM set HB_BUILD_DYN=no
set HB_BUILD_CONTRIB_DYN=no
set HB_INSTALL_PREFIX=%HBROOT%
set path=%MINGWROOT%\bin;%HBROOT%\bin\win\mingw; %PATH%
win-make clean install


2017-09-19 11:05 GMT+02:00 vszakats <vsza...@gmail.com>:
No, I suggest using MSYS2 packages. It's the simplest way to
install mingw-w64 and keep it updated. It comes from the same
team/effort as mingw-w64 itself.

Instructions:

-Viktor

On Tuesday, September 19, 2017 at 10:51:22 AM UTC+2, Massimo Belgrano wrote:
can be used one version for create 32 & 64 bit? HOW?


--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Mel Smith

unread,
Sep 19, 2017, 4:21:34 PM9/19/17
to Harbour Developers
Hi Massimo:

   I think I'll wait awhile before going down the msys32 path.

   I have a much more complex setup for updating and building

   In addition to all the other compilers installed on my dev system(e.g., BCC 5.5, 5.8, 67,68, 7.3, etc, etc) and the Pelles Compiler and VC2015, VC2017, I have a bunch of MinGW Compilers installed too (e.g., 5.1., 5.3, 6.1, 6.2, 6.3, 7.1, and 7.2) 

   So, I think I'll wait until a 7.2.0 binary package becomes available in a simplistic MinGW720.7z offering -- without having to go to the Msys2 route. At least for now.

   Also, using my latest MinGW 7.2.0 64-bit compiler, I'd like to know what envar vrbls I would have to specify in order for the win-make executable to create a complete 64-bit Harbour executable. I have read thru ...\harbour\readme.md and read some stuff about HB_USER_CFLAGS, -arch x86-64, etc  but don't understand what envars I have to set and the appropriate value should be.

   Until I get specific instructions, I guess I'll 'lay low' for awhile.

Thanks for your invitation to do the msys32 stuff. Maybe I'll accept at some later time.

To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Massimo Belgrano

unread,
Sep 20, 2017, 10:15:25 AM9/20/17
to Harbour Project Main Developer List.
2017-09-19 22:21 GMT+02:00 Mel Smith <meds...@gmail.com>:
Hi Massimo:

   I think I'll wait awhile before going down the msys32 path.

   I have a much more complex setup for updating and building

   In addition to all the other compilers installed on my dev system(e.g., BCC 5.5, 5.8, 67,68, 7.3, etc, etc) and the Pelles Compiler and VC2015, VC2017, I have a bunch of MinGW Compilers installed too (e.g., 5.1., 5.3, 6.1, 6.2, 6.3, 7.1, and 7.2) 

Yes i undestrand 

   So, I think I'll wait until a 7.2.0 binary package becomes available in a simplistic MinGW720.7z offering -- without having to go to the Msys2 route. At least for now.
 Bad choice but msys2 on not neccesssary add to ditribuittion is a stepp for get binary


   Also, using my latest MinGW 7.2.0 64-bit compiler, I'd like to know what envar vrbls I would have to specify in order for the win-make executable to create a complete 64-bit Harbour executable. I have read thru ...\harbour\readme.md and read some stuff about HB_USER_CFLAGS, -arch x86-64, etc  but don't understand what envars I have to set and the appropriate value should be.   Until I get specific instructions, I guess I'll 'lay low' for awhile.
 Imo this question may be for Viktor

Thanks for your invitation to do the msys32 stuff. Maybe I'll accept at some later time.
Good  
nsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

vszakats

unread,
Sep 20, 2017, 11:55:34 AM9/20/17
to Harbour Developers
>   Also, using my latest MinGW 7.2.0 64-bit compiler, I'd like to know what envar vrbls I would have to specify in order for the win-make executable to > create a complete 64-bit Harbour executable. I have read thru ...\harbour\readme.md and read some stuff about HB_USER_CFLAGS, -arch x86-64, > etc  but don't understand what envars I have to set and the appropriate value should be.   Until I get specific instructions, I guess I'll 'lay low' for awhile.
 Imo this question may be for Viktor

I can't remember enough where 3.2 was left off and what it needs
these days to give a proper answer. It was never tested with the
nuwen distro, so that's another unknown.

For latest 3.4 and MSYS2, either the 32-bit or 64-bit mingw bin
directory needs to be put in PATH and mingw32-make launched.
Just as Massimo posted above.

Same with non-multilib standalone mingw-w64.

Please remember that with MSYS2 you aren't required to use its
bash shell to use the mingw compiler or most of its tools, or to
build Harbour. It's providing native Windows binaries. Its own 
shell is only needed for the few commands to install/update
packages and MSYS2 itself.

-Viktor

Mel Smith

unread,
Sep 20, 2017, 11:07:15 PM9/20/17
to Harbour Developers
I'll mull further on my situation.

Thanks Viktor.

-Mel 
 

Massimo Belgrano

unread,
Oct 1, 2017, 2:34:48 PM10/1/17
to Harbour Project Main Developer List.
How can i get upgrade mingw?
from msys2 prompt
and how install /upgrde also mingw 64 bit?

vszakats

unread,
Oct 2, 2017, 3:46:48 AM10/2/17
to Harbour Developers
Hi Massimo,


On Sunday, October 1, 2017 at 8:34:48 PM UTC+2, Massimo Belgrano wrote:
How can i get upgrade mingw?
from msys2 prompt
and how install /upgrde also mingw 64 bit?

You can find step-by-step instructions on the MSYS2 homepage and
in RELNOTES.md (which was linked earlier in this thread.).

Since then, I've updated RELNOTES.md to also install LLVM/clang 5.0, 
which is now the default compiler in 3.4 on Windows, and it's also
used to create the snapshot binaries. I implemented this last week and
it completes a long time plan to move to clang also on Windows. It's the
best C compiler these days and the generated libs are compatible with
mingw-gcc ones (they both rely on common mingw-w64 components,
like Windows headers and CRT.)

I've also switched over 3.4 to use the standard naming (.dll.a) for
implibs, which will help interoperating with mingw-built binaries,
including ones installable via MSYS2. macOS also got some
hbmk2/build fixes and cleanups, so it should now work well by
default.

Still on the TODO list: cross-builds to Windows using clang.

clang compared to gcc:

   (though we're now at clang5)

-Viktor
 


To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Massimo Belgrano
Delta Informatica S.r.l. (Cliccami per scoprire 

Miroslav Georgiev

unread,
Oct 2, 2017, 4:26:40 AM10/2/17
to Harbour Developers
Hi Massimo.

Viktor done a good job describing the process in https://github.com/vszakats/harbour-core/blob/master/package/RELNOTES.md. You easily can miss the update process however ;)
Steps to upgrade:

1. Start MSYS2 MSYS console and enter:
pacman -Syu


2. Start MSYS MinGW 32-bit console and enter:
pacman -S -yu -u


3. Start MSYS MinGW 64-bit console and enter:
pacman -S -yu -u


4. check versions on both 32 & 64 at the command prompt - look for 7.2.0:

D:\@@>gcc --version
gcc
(Rev1, Built by MSYS2 project) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty
; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

To unsubscribe from this group and stop receiving emails from it, send an email to harbour-deve...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Massimo Belgrano
Delta Informatica S.r.l. (Cliccami per scoprire 

Francesco Perillo

unread,
Oct 2, 2017, 5:40:05 AM10/2/17
to harbou...@googlegroups.com
I see a MINGW32.7z attachment... who and why was it sent?

Massimo Belgrano

unread,
Oct 2, 2017, 6:09:47 AM10/2/17
to Harbour Project Main Developer List.
in past i have send as google drive attaccment only to show my result

i suggest add to viktor description also this:
i not ble copy and paste in msys2 prompt using control v 


1. Start MSYS2 MSYS console and enter:
pacman -Syu


2. Start MSYS MinGW 32-bit console and enter:
pacman --yu -u


3. Start MSYS MinGW 64-bit console and enter:
pacman --yu -u


4. check versions on both 32 & 64 at the command prompt - look for 7.2.0:

D:\@@>gcc --version
2017-10-02 11:40 GMT+02:00 Francesco Perillo <fper...@gmail.com>:
I see a MINGW32.7z attachment... who and why was it sent?

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

vszakats

unread,
Oct 2, 2017, 6:25:13 AM10/2/17
to Harbour Developers


On Monday, October 2, 2017 at 12:09:47 PM UTC+2, Massimo Belgrano wrote:
in past i have send as google drive attaccment only to show my result

i suggest add to viktor description also this:
i not ble copy and paste in msys2 prompt using control v 

Use right-click and select paste from the context menu.

I don't plan to maintain docs about anything that can be found
on the internet with a simple search and/or is documented in
linked original documents.

-Viktor

Massimo Belgrano

unread,
Oct 2, 2017, 6:40:40 AM10/2/17
to Harbour Project Main Developer List.
Thanks

Immagine incorporata 1

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Francesco Perillo

unread,
Oct 2, 2017, 6:43:23 AM10/2/17
to harbou...@googlegroups.com
Viktor, how did you solve the __float128 problem? I have it including stdlib.h from zlib...

Does msys2 based clang needs some other compiler include files?

vszakats

unread,
Oct 2, 2017, 5:21:24 PM10/2/17
to Harbour Developers
Hi Francesco,

On Monday, October 2, 2017 at 12:43:23 PM UTC+2, fperillo wrote:
Viktor, how did you solve the __float128 problem? I have it including stdlib.h from zlib...

Can't remember dealing with any __float128 problem, so I can't
answer this, sorry.

Does msys2 based clang needs some other compiler include files?

No. Everything required is installed by the `pacman` command
documented in RELNOTES.md.

-Viktor

Francesco Perillo

unread,
Oct 2, 2017, 5:51:10 PM10/2/17
to harbou...@googlegroups.com
Hi Viktor,
today I downloaded clang from the official web site, set HB_COMPILER=clang and tried to build harbour. Unfortunately the official package doesn't include the .h files. You need to have a VS or mingw installation and use their include files. To use mingw includes there are a couple of methods to achieve this: one is with -I, the other is to let clang look in several pre-defined dirs built in clang executable (that change with new releases)

Today I tried the first method and found 2 problems:
1)  clang sets some defines to present itself as mingw compiler.... but it is not fully mingw compliant. Compilation stopped since char16_t is not a built-in type; it is possible to define it using a switch to tell clang  to emulate VS version 19.
2) then clang stopped since __float128 is not a built-in type. It seems that __float128 can't be enabled in any way and that the solution would be to modify c++config.h to remove a #define that in turn, several inlcude and ifdef later, would not use __float128...


It all happens in zlib library, that includes stdlib.h. I'm using a 1 year old harbour version and it can be that the library or hbmk2 or other stuff has been updated...

... or that msys2 pacman install all the bits clang needs, in compatible versions and dir structure...

Ciao
Francesco

Mel Smith

unread,
Oct 2, 2017, 6:41:13 PM10/2/17
to Harbour Developers
Hi Viktor:

   Thanks to Andi Jahja, I have built a 32-bit Harbour 3.2 under MinGW 7.2.0, and it now replaces the older MinGW 7.1.0 on my site. 

   I automatically ran the speed test against this build and the results show that the Total App Time on my Windows 7 Pro 64-bit Asus laptop was 11.40 seconds. Better than VC2017 and much better that BCC73

   Thanks again to Andi for the link !

-Mel Smith

vszakats

unread,
Oct 2, 2017, 7:54:11 PM10/2/17
to Harbour Developers
Hi Francesco,

Sorry, but this seems way more complicated than it needs to be.
Just follow the instructions in RELNOTES.md and the linked 
original MSYS2 document to install the toolchain. That's all that 
is needed + the most recent 3.4 Harbour source code.

If you want to pick toolchain elements yourself manually from
various websites, I can't help you there. The other options I've
seen are sparsely documented and complex and/or use the
clang-cl front-end that requires MSVS / MS SDK. I've tested
none of these (with success anyway) and 3.4 doesn't support them.

-Viktor

Massimo Belgrano

unread,
Oct 3, 2017, 4:00:23 AM10/3/17
to Harbour Project Main Developer List.
and for harbour 3.2 is possible 

--
You received this message because you are subscribed to the Google Groups "Harbour Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Massimo Belgrano

unread,
Oct 3, 2017, 5:40:30 AM10/3/17
to Harbour Project Main Developer List.
Hi mel
Please can you try also with viktor suggestion download nstall https://msys2.github.io  use right clik for copy in  MSYS2 console: pacman --noconfirm -S git {base,msys2}-devel mingw-w64-{i686,x86_64}-{clang,toolchain}
create a two subfolter relocable


Immagine incorporata 1

update using from  MSYS2 MSYS console and enter:

pacman -Syu
2. Start MSYS MinGW 32-bit console and enter:
pacman -S -yu -u
3. Start MSYS MinGW 64-bit console and enter:
pacman -S -yu -u
4. check versions on both 32 & 64 at the command prompt - look for 7.2.0:
gcc --version

Mel Smith

unread,
Oct 3, 2017, 1:08:34 PM10/3/17
to Harbour Developers


On Tuesday, October 3, 2017 at 3:40:30 AM UTC-6, Massimo Belgrano wrote:
Hi mel
Please can you try also with viktor suggestion download nstall https://msys2.github.io  use right clik for copy in  MSYS2 console: pacman --noconfirm -S git {base,msys2}-devel mingw-w64-{i686,x86_64}-{clang,toolchain}
create a two subfolter relocable


Immagine incorporata 1

update using from  MSYS2 MSYS console and enter:
pacman -Syu
2. Start MSYS MinGW 32-bit console and enter:
pacman -S -yu -u
3. Start MSYS MinGW 64-bit console and enter:
pacman -S -yu -u
4. check versions on both 32 & 64 at the command prompt - look for 7.2.0:
gcc --version


Very busy right now, but will consider this for next week some time.

-Mel
 

Massimo Belgrano

unread,
Oct 4, 2017, 5:12:12 AM10/4/17
to Harbour Project Main Developer List.
Thanks


2017-10-03 19:08 GMT+02:00 Mel Smith <meds...@gmail.com>:

Very busy right now, but will consider this for next week some time.

-Mel
 


Massimo Belgrano

unread,
Oct 4, 2017, 5:55:51 AM10/4/17
to Harbour Project Main Developer List.
Hi  Miroslav Georgiev

Better install 32 or 64 bit version ?

in past I did not understand that  "msys" console is different than "msys mingw 32" and from "msys  mingw 64"

Immagine incorporata 1

2017-10-02 10:26 GMT+02:00 Miroslav Georgiev <miro....@gmail.com>:
Hi Massimo.

Viktor done a good job describing the process in https://github.com/vszakats/harbour-core/blob/master/package/RELNOTES.md. You easily can miss the update process however ;)
Steps to upgrade:

1. Start MSYS2 MSYS console and enter:
pacman -Syu


2. Start MSYS MinGW 32-bit console and enter:
pacman -S -yu -u


3. Start MSYS MinGW 64-bit console and enter:
pacman -S -yu -u


4. check versions on both 32 & 64 at the command prompt - look for 7.2.0:

D:\@@>gcc --version
gcc
(Rev1, Built by MSYS2 project) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty
; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

To unsubscribe from this group and stop receiving emails from it, send an email to harbour-devel+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

vszakats

unread,
Oct 4, 2017, 9:22:33 AM10/4/17
to Harbour Developers


On Wednesday, October 4, 2017 at 11:55:51 AM UTC+2, Massimo Belgrano wrote:
Hi  Miroslav Georgiev

Better install 32 or 64 bit version ?

in past I did not understand that  "msys" console is different than "msys mingw 32" and from "msys  mingw 64"

The console is the same.

mingw32 adds the 32-bit ("i686") toolchain/packages to the PATH, while
mingw64 adds the 64-bit ("x86_64") ones.

Use the latter if you want to ship 64-bit apps.

Massimo Belgrano

unread,
Oct 17, 2017, 6:08:43 AM10/17/17
to Harbour Project Main Developer List.
Thanks! 
Viktor can you help francesco to create nigtly for msys mingw32 ?
Here is my binary msys mingw 7.2 32 e 64 https://drive.google.com/open?id=0B8GgbIH3gP2WV3VGa2w0QXE2RjQ


Massimo Belgrano

unread,
Oct 17, 2017, 11:03:40 AM10/17/17
to Harbour Project Main Developer List.
I notice problem trying to use msys2 mingw 32 bit with hbqt 
when compiling harbour 3.2 changelogs  2017-09-28 15:11 
not able generate gtqtc

set QTROOT=C:\Qt\5.9.2\mingw53_32
set MINGWROOT=c:\msys32\mingw32
set HBROOT=c:\harbour
set HB_BUILD_DYN=no
set HB_BUILD_CONTRIB_DYN=no
SET HB_QTPATH=%QTROOT%\bin
SET HB_WITH_OPENSSL=c:\OpenSSL-Win32\include
cd %HBROOT%
set HB_WITH_QT=%QTROOT%\include
SET HB_QT_MAJOR_VER=5
SET QT_PLUGIN_PATH=%QTROOT%\plugins
set path=%MINGWROOT%\bin;%HBROOT%\bin\win\mingw;%HB_QTPATH% ; %PATH%
rem C:\Program Files\TortoiseSVN\bin;
if "%1" == "qtonly" GOTO qt
win-make clean   >\max\hbms.log 2>&1
win-make -j8 >\max\hbms.log 2>&1
cd %HBROOT%\addons
hbmk2 qtcontribs57.hbp -rebuildall -jobs=8 -q -trace -info -lang=en -width=512 >\max\hbqtms.log  2>&1


/../contrib/hbmzip/mzip.c: In function 'HB_FUN_HB_ZIPOPEN':
../../../../../contrib/hbmzip/mzip.c:240:7: error: unknown type name 'zipcharpc'
       zipcharpc pszGlobalComment = NULL;
       ^~~~~~~~~
../../../../../contrib/hbmzip/mzip.c:240:36: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
       zipcharpc pszGlobalComment = NULL;
                                    ^~~~
../../../../../contrib/hbmzip/mzip.c:243:34: warning: passing argument 3 of 'zipOpen2' from incompatible pointer type [-Wincompatible-pointer-types]
                                  &pszGlobalComment, NULL );
                                  ^
In file included from ../../../../../contrib/hbmzip/mzip.c:64:0:
c:/msys32/mingw32/include/minizip/zip.h:106:24: note: expected 'const char **' but argument is of type 'int *'
 extern zipFile ZEXPORT zipOpen2 OF((const char *pathname, int append, const char ** globalcomment,
                        ^~~~~~~~
hbmk2[hbmzip]: Error: Running C/C++ compiler job #3. 1
hbmk2[hbmzip]: Exit status: 6: fallimento nella compilazione (Harbour, compilatore C, compilatore delle Risorse)
! Finished package build...
makefile:8: recipe for target 'first' failed
win-make[1]: *** [first] Error 6
config/dir.mk:71: recipe for target 'contrib' failed
win-make: *** [contrib] Error 2




Maurizio la Cecilia

unread,
Oct 18, 2017, 6:56:46 AM10/18/17
to Harbour Developers
Hi Massimo,
it's a question already posted.
--
Maurizio

vszakats

unread,
Oct 18, 2017, 7:12:35 AM10/18/17
to Harbour Developers
Since zlib/contrib/minizip is effectively deadware, I fixed Harbour
3.4 to work with the minizip clone used in MSYS2:


-Viktor

Miroslav Georgiev

unread,
Oct 18, 2017, 2:57:31 PM10/18/17
to Harbour Developers
deadware - coolest word I've heard ;)

Deadware is slang for a software program or game that is so riddled with bugs and errors that it is virtually unusable.

vszakats

unread,
Oct 18, 2017, 6:10:45 PM10/18/17
to Harbour Developers
Hi Miroslav,


On Wednesday, October 18, 2017 at 8:57:31 PM UTC+2, Miroslav Georgiev wrote:
deadware - coolest word I've heard ;)

Deadware is slang for a software program or game that is so riddled with bugs and errors that it is virtually unusable.

Indeed, and I had abandonware in mind instead! :) minizip,
even in its current state, works nicely, though no code updates
for 7 years.

Posted a PR to the minizip clone, got accepted within half a
day. Original minizip is piling them up, including some
upstreamed Harbour patches — so it's useful to give way
for maintained alternatives. (e.g. that particular clone supports
in-memory zips and AES encryption)

-Viktor

Reply all
Reply to author
Forward
0 new messages