Author Topic: SOLVED: Oops, QB64 can't be installed anymore on CentOS.  (Read 4386 times)

0 Members and 1 Guest are viewing this topic.

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Offline Fifi

  • Forum Regular
  • Posts: 181
    • View Profile
    • My small QB64 contribution
SOLVED: Oops, QB64 can't be installed anymore on CentOS.
« on: October 03, 2018, 07:37:16 pm »
Hi all,

Whatever I'm using the old classic install_lnx.sh script or my own multi languages QB64_install.sh script, the QB64 installation fails on CentOS 7.5.1804 when the qbx.cpp g++ compilation is started.

Then, there is no way to install both InForm and vWATCH64 on such a distro since they're compiled by QB64.

However, this used to work with precedent CentOS releases (I still have a successfull installation log using my installation script with CentOS 7.2.1511 and the kernel 3.10.0-327.el7.x86_64).

With install_lnx.sh, it's in the line #195.

Code: QB64: [Select]
  1. g++ -w qbx.cpp libqb/os/lnx/libqb_setup.o parts/video/font/ttf/os/lnx/src.o parts/core/os/lnx/src.a -lGL -lGLU -lX11 -lpthread -ldl -lrt -D FREEGLUT_STATIC -o ../../qb64
  2.  

Just in case, I tried to add the -no-pie switch but this arument is unfortunately not recognized on this distro.

And I bet it's the same problem with both Fedora and RedHat (I'll do the tests later to confirm my doubts).

Any idea how to fix that because without a solution, we'll loose 3 main Linux distros?

« Last Edit: October 05, 2018, 08:31:31 pm by odin »
It's better to look like an idiot for a short time while asking something obvious to an expert than pretending to be smart all your life. (C) Me.

FellippeHeitor

  • Guest
Re: Oops, QB64 can't be installed anymore on CentOS.
« Reply #1 on: October 03, 2018, 07:38:44 pm »
What error messages do you get?

Offline Fifi

  • Forum Regular
  • Posts: 181
    • View Profile
    • My small QB64 contribution
Re: Oops, QB64 can't be installed anymore on CentOS.
« Reply #2 on: October 03, 2018, 07:57:01 pm »
Hi Fellippe,

When using install_lnx.sh, below is the complete screen log

Code: QB64: [Select]
  1. [fnux@VMCENTOS ~]$ cd qb64
  2. [fnux@VMCENTOS qb64]$ ./setup_lnx.sh
  3. Fedora/Redhat based distro detected.
  4. Compiling and installing QB64...
  5. Building library 'LibQB'
  6. Building library 'FreeType'
  7. Building library 'Core:FreeGLUT'
  8. Building 'QB64'
  9. g++: internal compiler error: Killed (program cc1plus)
  10. Please submit a full bug report,
  11. with preprocessed source if appropriate.
  12. See <http://bugzilla.redhat.com/bugzilla> for instructions.
  13. It appears that the qb64 executable file was not created, this is usually an indication of a compile failure (You probably saw lots of error messages pop up on the screen)
  14. Usually these are due to missing packages needed for compilation. If you're not running a distro supported by this compiler, please note you will need to install the packages listed above.
  15. If you need help, please feel free to post on the QB64 Forums detailing what happened and what distro you are using.
  16. Also, please tell them the exact contents of this next line:
  17. DISTRO: centos
  18.  
  19. Thank you for using the QB64 installer.
  20. [fnux@VMCENTOS qb64]$
  21.  

Obviously, this doesn't help a lot!

From my previous muliple searchs on the net to polish my own QB64_install.sh script, this should be due to the fact that CentOS, as well as Fedora and RedHat are now putting some of the gcc arguments such as the famous --enable-default-pie in a different way that is used on Debian, LMDE, Mint, Ubuntu and all its derivatives (e.g. Kubuntu, Xubuntu, Eos, Zorin and Co.).

I'll try to find out this week end when googeling on stack overflow and let you know.

However, if you've an idea, thanx to let me know too.

Cheers.
Fifi

It's better to look like an idiot for a short time while asking something obvious to an expert than pretending to be smart all your life. (C) Me.

Offline Fifi

  • Forum Regular
  • Posts: 181
    • View Profile
    • My small QB64 contribution
Re: Oops, QB64 can't be installed anymore on CentOS.
« Reply #3 on: October 03, 2018, 10:02:08 pm »
UPDATE

There is no problem with the previous CentOS 7.2.1511 I just reinstalled to check if I was wrong and both install_lnx.sh and my multi languages QB64_install.sh scripts work fine.

With this previous release (7.2.1511):

- the kernel is 3.10.0-327.el7.x86_64
- the gcc release is 4.8.5-28

on the last release I've (7.5.1804 that may be not the latest)

- the kernel is 3.10.0-862.el7.x86_64
- but the gcc release is the same 4.8.5-28

Further, the command gcc -v displays exactly the same settings with both the 2 CentOS versions!

However, I also found a big difference with the latest CentOS release: you can't use "sudo" as usual anymore and you are obliged to use "su -" to get the root priviledges as "root"! Strange isn't it?

So, I'm lost!

I'll will be googeling this week end to find some hints since I've to drive my wife tomorow for different long exams to the hospital of Grenoble (120 miles away from my home) and I won't be back to my computer before late friday night or even only saturday morning.

Since it's now almost 4 AM my time, I need to go to bed to be a good driver tomorrow (LoL).

Cheers.
Fifi
It's better to look like an idiot for a short time while asking something obvious to an expert than pretending to be smart all your life. (C) Me.

Marked as best answer by Fifi on October 05, 2018, 03:18:01 pm

Offline Fifi

  • Forum Regular
  • Posts: 181
    • View Profile
    • My small QB64 contribution
SOLVED: Oops, QB64 can't be installed anymore on CentOS.
« Reply #4 on: October 05, 2018, 06:17:12 pm »
Hey, I'm back...

Shame, shame, shame, shame on me!!

How can I be so dumb and stupid? I know, that's what my "blonde" says every single day! (LoL)

So, today, I spent almost 4 hours to rewrite a new install bash script (dedicated to Centos) allowing to check each line of the install process in order to track the potential problem.

However, to be honest, I will never have found this glitch without my new little script.

Context:

I installed the old version of CentOS 7.2.1511 and the new 7.5.1804 in two VMs, each with 2GB. of RAM (as I usually do for all my Linux VMs).

With my new script, I got a much more explicit error message after two or three runs (may be more).

When I get an error, the first thing to do is to read the error message very attentively!

And what was saying that danmed error message:?

"virtual memory exhausted: Cannot allocate memory"

Solution?

Aftrer scraching my head for a moment, thanks Hell bless me, I increased the VM RAM from 2 to 4 Gb.

Shit (sorry for being a rude French): A Miracle! [/size]

My new script installed QB64 without any problem and no error message.

And both the old (sorry to say it  obsolete) setup_lnx.sh script  and my multi languages installation script went fine as well.

So, sorry for misleading you.

My "Oops" isn't an issue anymore (and in fact never ever was a real problem)!

So, please, thank you to mark this thread as "SOLVED" or "FIXED".

Note: don't expect to nicely run the latest CentOS distributions on hardware with less than 4 GB. of RAM!!!

Sum-up: I feel Linux devs now forget the simple "KISS" idiom and become more and more like all the MSFT folks just because CPU/RAM is cheaper? What do you thnk?

Just my two cents!

Cheers.
Fifi
It's better to look like an idiot for a short time while asking something obvious to an expert than pretending to be smart all your life. (C) Me.

Offline _vince

  • Seasoned Forum Regular
  • Posts: 422
    • View Profile
Re: SOLVED: Oops, QB64 can't be installed anymore on CentOS.
« Reply #5 on: October 07, 2018, 01:29:23 pm »
Sometimes compilation with gcc/g++ can take up a huge amount of memory, especially with high optimization options.  Not sure if it's a bug or just the nature of compilation but it seems to be a common problem.  You could have tried compiling with a lower optimization setting or increasing swap space.  Now that QB64 is compiled and working you should be fine to reduce to 2GB if you prefer.

Offline Fifi

  • Forum Regular
  • Posts: 181
    • View Profile
    • My small QB64 contribution
Re: SOLVED: Oops, QB64 can't be installed anymore on CentOS.
« Reply #6 on: October 08, 2018, 03:37:55 pm »
Hi v,

Sometimes compilation with gcc/g++ can take up a huge amount of memory, especially with high optimization options.  Not sure if it's a bug or just the nature of compilation but it seems to be a common problem.  You could have tried compiling with a lower optimization setting or increasing swap space.  Now that QB64 is compiled and working you should be fine to reduce to 2GB if you prefer.

I was just and only compiling QB64 as I usualy do with other VM distros using the same configuration (2Gb. of RAM and a 2Gb. swap partition). Obviously, the latest CentOS release "eats" a lot more of RAM whithout doing anything than its previous releases and increazing its memory solved the problem.

Then what why was my sum up note about Linux devs running in the MFST bad rules! :(

Cheers.
Fifi
It's better to look like an idiot for a short time while asking something obvious to an expert than pretending to be smart all your life. (C) Me.