QBPE 3.6.0 compiler error
#11
(03-20-2023, 03:40 PM)mnrvovrfc Wrote: This is not good. Might have to list against Windows Defender or whatever, the other EXE and DLL files other than "qb64pe.exe" that it depends on?

I already added an exclusion for my "C:\Users\{username}\Documents\Code\QB64PE" folder. 
There are 135 EXE and DLL files under that folder... 
Good God, do I need to manually add an exclusion for all of them?? 
Undecided
Reply
#12
First: A query can be used to determine whether the MingW(GCC) is missing; see the screenshot. If MingW is there, you forgot to put it in the path, then an error message will appear with the above query - of course, even if it would not be installed.

Quote:I set Windows security to whitelist the QB64PE folder and the process "qb64pe.exe", and tried running the following code:

What shoud that? Undo that, who knows what you did there in the system. This is absolutely unnecessary.

Keep cool!  Big Grin

[Image: GCC-Version2023-03-20-214106.jpg]
Reply
#13
(03-20-2023, 08:39 PM)madscijr Wrote: Good God, do I need to manually add an exclusion for all of them?? Undecided

No!
Reply
#14
(03-20-2023, 08:45 PM)Kernelpanic Wrote:
Quote:I set Windows security to whitelist the QB64PE folder and the process "qb64pe.exe", and tried running the following code:

What shoud that? Undo that, who knows what you did there in the system. This is absolutely unnecessary.

Someone suggested it. I guess if they suggested jumping off a bridge, I wouldn't be here! LOL.
Undid!

(03-20-2023, 08:45 PM)Kernelpanic Wrote: First: A query can be used to determine whether the MingW(GCC) is missing;
see the screenshot. If MingW is there, you forgot to put it in the path,
then an error message will appear with the above query -
of course, even if it would not be installed.

Aha. It's been a while since I did a setup, and I don't remember anything about having to add to the path, so that is probably it.

A couple questions:

1. Under System Properties > Environment Variables, there are 2 sections:
  • User variables for {username}
  • System variables.
and both have Path. Which of these should I add the path to? 

2. Do I need to add the path to the folder containing "cc1.exe"? 
Code: (Select All)
C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\libexec\gcc\x86_64-w64-mingw32\12.2.0

Is that the path I should use? 
I tried adding that to both sections, then closed and restarted QB64PE, and am still getting an error when I try to compile. 
Should the path be one or two levels up? Any help appreciated. 

PS Here is what's in "compilelog.txt" if that helps. Thanks again

Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_00000000000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c\libqb/src/threading.cpp -c -o internal\c\libqb/src/threading.o
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:405: internal\c/libqb_make_00000000000000.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
mingw32-make: *** [Makefile:417: internal\c/qbx.o] Error 1
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:417: internal\c\libqb/src/threading.o] Error 1
Reply
#15
Sorry! Everything about the path is wrong!
The path is set here, see screenshot.

So, you have to set the MingW, you can set the QB63pe - it's also in my path (screenshot). In path means the system can find and run the program from any directory; as "gcc --version" shows.

I will describe it now as I always do it:
Download the new version - unpack it in the directory D:\Temp\Unpack - then move the whole folder to D:\Programs. Rename the old version of Qb64phoenix3 (my sytem) to "alt-QB64phoenix3". Then rename the new version to "Qb64phoenix3" because that's where the path points to; so I don't need to adjust the path to each new version. Then set up QB64, color etc, and that's it.
You don't need new directories for each new version. The whole thing is done in 10 minutes each time.

It is the same with the MingW. The path points to D:\Program Files\mingw64 (set up that way by the program), and stays the same regardless of the version.


[Image: Path-setting-Windows10.jpg]
Reply
#16
Where is it coming up with -auxbase-strip? Even if there should be two hypens to begin?

There should be no need to change "PATH" environment variable for the sake of QB64PE because the internal scripts for automating the translations and compilations use relative paths, all assumed to be inside of ".../qb64pe/internal".

The "whitelist" with anti-virus software is only a suggestion, that is made the very first time QB64(PE) is run freshly installed. Also a false alarm virus was reported earlier with one of the files of this release.

(03-20-2023, 11:18 PM)Kernelpanic Wrote: It is the same with the MingW. The path points to D:\Program Files\mingw64 (set up that way by the program), and stays the same regardless of the version.

Maybe for you it works this way but for someone else this is unnecessary. The Windows version of QB64PE comes with its own version of MinGW. It shouldn't need any C++ compiler that was already installed in a path that it wasn't told, which could be different for each user. Also it's not recommended to use spaces in filenames while there is a problem that needs to be solved, such as the QB64PE compiler rejecting a simple three-line BASIC program.
Reply
#17
Quote:Maybe for you it works this way but for someone else this is unnecessary.

It's possible, but it works for me. And it's always worked that way. Nullo problemo!  Tongue
Reply
#18
(03-20-2023, 04:22 PM)bplus Wrote: You say "expand here" what you want is to see is "extract", maybe worth it to just dump last attempt and just try again?
(03-20-2023, 02:16 PM)Jack Wrote: is your c++ compiler intact?
rhe error you got is the same that you would get if cc1.exe is missing
(03-20-2023, 11:21 PM)mnrvovrfc Wrote: There should be no need to change "PATH" environment variable for the sake of QB64PE because the internal scripts for automating the translations and compilations use relative paths, all assumed to be inside of ".../qb64pe/internal".
...
Maybe for you it works this way but for someone else this is unnecessary. The Windows version of QB64PE comes with its own version of MinGW. It shouldn't need any C++ compiler that was already installed in a path that it wasn't told, which could be different for each user. Also it's not recommended to use spaces in filenames while there is a problem that needs to be solved, such as the QB64PE compiler rejecting a simple three-line BASIC program.
(03-20-2023, 11:29 PM)Kernelpanic Wrote: It's possible, but it works for me. And it's always worked that way. Nullo problemo!  Tongue

Thanks everyone for your replies. 

kernelpanic suggested adding something like
  • D:\Program Files\mingw64\bin
to the path, however QB64PE does not include a \mingw64\ folder with a \bin\ directory.
The only mingw64 folder is at 
  • \QB64PE\internal\c\parts\core\gl_headers\mingw64\
containing one file:
  • gl.h

So it looks like kernelpanic and some others are using their own mingw and not the one bundled with QB64PE? 
I would be using the bundled one.

The file "\qb64pe\makefile" has a line:
    CC := $(PATH_INTERNAL_C)\c_compiler\bin\gcc.exe

so maybe we need to add the path for the $(PATH_INTERNAL_C) part, which is
  • C:\Users\{username}\Documents\Code\QB64PE\internal\c\

I tried including that in the system path, but still I got the compile error.

Next I tried adding to system path *all* the folders containing EXE files under QB64PE:

C:\Users\{username}\Documents\Code\QB64PE\
C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\bin\

C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\libexec\gcc\x86_64-w64-mingw32\12.2.0\
C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\opt\bin\
C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\opt\lib\python3.9\venv\scripts\nt\
C:\Users\{username}\Documents\Code\QB64PE\internal\c\c_compiler\x86_64-w64-mingw32\bin\

and rebooted, but I still get the same file not found error when I try running "helloworld.bas".

So, I started over fresh again, deleted everything, and extracted "qb64pe_win-x64-3.6.0.7z", moved the "QB64PE" folder to 
C:\Users\{username}\Documents\Code\QB64PE\

I run "qb64pe.exe" with all the default options, leaving the above folders in the system path, 
and tried running "helloworld.bas":

Code: (Select All)
Cls
Print "hello world. press any key to quit."
Sleep

and again get the error:
C++ Compilation failed (Check .\internal\temp\compilelog.txt)

[Image: qb64pe-compilation-failed-20230321.png]

Clicking on the error message opens the file 
  • C:\Users\{username}\Documents\Code\QB64PE\internal\temp\compilelog.txt

in Notepad++ which contains:

Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_00000000000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c\libqb/src/threading.cpp -c -o internal\c\libqb/src/threading.o
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:417: internal\c\libqb/src/threading.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
mingw32-make: *** [Makefile:417: internal\c/qbx.o] Error 1
mingw32-make: *** [Makefile:405: internal\c/libqb_make_00000000000000.o] Error 1

I tried renaming \QB64PE\ to \qb64pe\ (lowercase) just to see if that makes any difference 
(should not matter with Windows), and it failed again. 
The "compilelog.txt" was slightly different this time:
Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_00000000000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c\libqb/src/threading.cpp -c -o internal\c\libqb/src/threading.o
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:405: internal\c/libqb_make_00000000000000.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:417: internal\c/qbx.o] Error 1
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:417: internal\c\libqb/src/threading.o] Error 1

I am about at the end of my rope... What could I be doing wrong??

Any suggestions appreciated - help me, Obi Wan!

UPDATE: I tried even more paths! Every permutation under \QB64PE\ that has an EXE under it:

[Image: setting-path-try-everything-2.png]

and am still getting a compile error, here is the "compilelog.txt" output for that, again slightly different but similar:
Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_00000000000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_NO_PRINTER -DDEPENDENCY_NO_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c\libqb/src/threading.cpp -c -o internal\c\libqb/src/threading.o
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:405: internal\c/libqb_make_00000000000000.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
mingw32-make: *** [Makefile:417: internal\c/qbx.o] Error 1
cc1plus: error: unrecognized command-line option '-auxbase-strip'
cc1plus: error: too many filenames given; type 'cc1plus --help' for usage
mingw32-make: *** [Makefile:417: internal\c\libqb/src/threading.o] Error 1

Any suggestions appreciated...
Reply
#19
hello madscijr
here's what I would do
1: download the source for QB64pe 3.6.0 https://github.com/QB64-Phoenix-Edition/...v3.6.0.zip
2: extract to where you want
3: double-click on setup_win.bat
4: select either 32 or 64-bit
that should download the mingw system and build QB64pe
there's absolutely no need to mess with your PATH
Reply
#20
I'm guessing it's a permission issue.  Instead of:

C:\Users\{username}\Documents\Code\QB64PE\

Try a simple:

C:\Code\QB64PE\



The makefile probably doesn't like {username}
Reply




Users browsing this thread: 3 Guest(s)