Version 2.0.2 compatibility
#11
Hi @krovit! I happened to have written most of this logic Smile I would look in
internal/c/c_compiler
, do you only have one folder called
x86_64-w64-mingw32
? Or do you also have a folder called
i686-w64-mingw32
?

Basically what's happening is that those folders are checked to determine whether you have the 32-bit compiler or the 64-bit compiler, and that then controls the architecture of that
data.o
file. There might be better ways for us to do that, but since the 32-bit and 64-bit releases will always only have one or the other of those folders it generally works fine. Unfortunately since you did clarify you avoided copying the new QB64-PE version on top of an old version you really shouldn't have both folders there. I also just went and checked the 64-bit release download (
qb64pe_win-x64-3.4.1.7z
) and it only has the
x86_64-w64-mingw32
as expected. It's not really clear to me how you could have ended up with both folders Undecided

If you don't mind, something that would be useful would be if you could go to line 77 in the
Makefile
and add this line:

Code: (Select All)
$(info wildcard search: $(wildcard $(PATH_INTERNAL_C)\c_compiler\i686-w64-mingw32))

The
wildcard search:
text should then appear in the
internal/temp/compilelog.txt
file you listed here. For the 64-bit version of QB64-PE there shouldn't be anything listed after
wildcard search:
. If it's not blank then whatever is listed is the source of the problem.
Reply
#12
Thank you all! 
I see you are wasting a lot of time trying to help me...

It seems strange to me, however, that only I have this problem.
The error also occurs when compiling a single simple "Print" line. And compiling takes a very long time to finish with the error.

I didn't say it but the operating system I use is windows 7 (I haven't tried it yet on windows 10).

I have carefully read all your suggestions and have not found anything out of the ordinary to report.

However, I must say that I installed version 3.4.0 in a new folder and the error does not appear!

I should therefore think that in the transition from 3.4.0 to 3.4.1 something broke.


Huh
Reply
#13
Have you tried installing a fresh copy of 3.4.1 to a new folder?  Maybe the download you had was corrupted previously, or some such.
Reply
#14
(11-26-2022, 10:31 AM)SMcNeill Wrote: Have you tried installing a fresh copy of 3.4.1 to a new folder?  Maybe the download you had was corrupted previously, or some such.

Oh yes! I always create a new folder when I update QB64.
I always do this and I do it with version 3.4.0 too. And everything works. With 3.4.1, no.
Reply
#15
(11-26-2022, 10:39 AM)krovit Wrote: Oh yes! I always create a new folder when I update QB64.
I always do this and I do it with version 3.4.0 too. And everything works. With 3.4.1, no.

3.4.1 introduced an updated version of the C++ compiler, perhaps it's related. I don't really see how it would be though given the particular error you're hitting Undecided If you're able to show the
compilelog.txt
from trying to compile just a
Print
statement that would be useful, and also make the
Makefile
change I mentioned earlier (if you don't mind).

If you're not all that interested since you have
3.4.0
working I'll probably test it out on Windows 7 some point soon, I want to set up some automated testing on there anyway. We do have a few other users/developers who use Win 7 still and they haven't mentioned anything, so I'm not sure it's really Win 7 specific.
Reply
#16
(11-26-2022, 07:24 PM)DSMan195276 Wrote:
(11-26-2022, 10:39 AM)krovit Wrote: Oh yes! I always create a new folder when I update QB64.
I always do this and I do it with version 3.4.0 too. And everything works. With 3.4.1, no.

3.4.1 introduced an updated version of the C++ compiler, perhaps it's related. I don't really see how it would be though given the particular error you're hitting Undecided If you're able to show the
compilelog.txt
from trying to compile just a
Print
statement that would be useful, and also make the
Makefile
change I mentioned earlier (if you don't mind).

If you're not all that interested since you have
3.4.0
working I'll probably test it out on Windows 7 some point soon, I want to set up some automated testing on there anyway. We do have a few other users/developers who use Win 7 still and they haven't mentioned anything, so I'm not sure it's really Win 7 specific.

Good morning!
I had tried (the line was 78, not 77 - I say this in case this is useful) but the result is the same.
Reply
#17
(11-27-2022, 08:45 AM)krovit Wrote: Good morning!
I had tried (the line was 78, not 77 - I say this in case this is useful) but the result is the same.


When you say the result is the same, do you mean the
compilelog.txt
contains the exact same contents? That's the file I was hoping to see.

If you put it on line 78, did you put it before or after the
ifeq
line? In the v3.4.1 Makefile the line should go between lines 77 and 78, right before the
ifeq
.

Also note that if you did find
compilelog.txt
to be the same, there might be more than one
internal/temp
folder if you have multiple IDE instances running. They would be named
internal/temp1
,
internal/temp2
, I would check them all.
Reply
#18
(11-27-2022, 09:28 PM)DSMan195276 Wrote:
(11-27-2022, 08:45 AM)krovit Wrote: Good morning!
I had tried (the line was 78, not 77 - I say this in case this is useful) but the result is the same.


When you say the result is the same, do you mean the
compilelog.txt
contains the exact same contents? That's the file I was hoping to see.

If you put it on line 78, did you put it before or after the
ifeq
line? In the v3.4.1 Makefile the line should go between lines 77 and 78, right before the
ifeq
.

Also note that if you did find
compilelog.txt
to be the same, there might be more than one
internal/temp
folder if you have multiple IDE instances running. They would be named
internal/temp1
,
internal/temp2
, I would check them all.

???
I don't know what to think anymore and at this point we need clarification.

1) I extracted version 3.4.1 in the folder c:\QB341, subfolder Q64 (thing done and redone many times, also with different combinations - volume and folders -)
2) This time - and it's the first time! - to compile, after a LONG time - comes to fruition
3) 1) and 2) I had done it many times and the result has always been a fatal mistake
4) All right? no! Apart from the very long time the execution stops continuously for the error "invalid handle"
5) Problems with the code? No! Compilation with version 3.4.0. - and previous versions - of the same files contained in the same folders is very fast and the execution is free of any error
6) Virus on then system? No, verified
7) Has anything changed in the configuration of the PC or system? No, everything as in these last days

About inserting makefile: Where is the "makefile" file you're talking about? Maybe I'm wrong to identify it (there are more than one are others)

Therefore.... It seems to me a miserable for no apparent reason
Reply
#19
This is obviously a compatibility problem, MinGW isn't predictable any longer with Windows7. Might have to revise the C++ compiler flags or "make" strategy.

But I ask, if you are so sure it works on an older release of QB64PE, then why do you insist on "upgrading" to v3.4.1?

We might have to start saying that now the minimum is Windows8, rather than Vista. Ouch.
Reply
#20
(11-29-2022, 01:08 PM)mnrvovrfc Wrote: This is obviously a compatibility problem, MinGW isn't predictable any longer with Windows7. Might have to revise the C++ compiler flags or "make" strategy.

But I ask, if you are so sure it works on an older release of QB64PE, then why do you insist on "upgrading" to v3.4.1?

We might have to start saying that now the minimum is Windows8, rather than Vista. Ouch.

If it's a compiler problem, the easiest solution is just to package a version with the old compiler.  Smile
Reply




Users browsing this thread: 18 Guest(s)