QB64.org Forum

Active Forums => QB64 Discussion => Topic started by: Fifi on September 20, 2018, 07:36:20 pm

Title: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: Fifi on September 20, 2018, 07:36:20 pm
Hi all,

Thanx to the stack overflow links provided by dchr, I've been able to modifiy my multi tongues installation script in order to fix the problem encountered with Debian, elementary, Mint, Neon, Zorin and Ubuntu and all its derivatives (Kubuntu, Edubuntu, etc.) without changing its behavior for other distros such as ArchLinux, CentOS, Fedora, Mangaro, etc.

So now, despite the new setting of gcc and g++ on the last releases of the above mentioned distros, the executables created by QB64 can now be fired again with a double left mouse click, including of course QB64 itself as well as InForm and vWATCH.

You can download this last script release (r21) from my QB64, InForm and vWATCH dedicated page (www.as2,com).

I'm currently editing a video to show the interest and benefits using this script Vs. the obsolete (and sorry for that I don't want to be rude : restricted and a little bit buggy for newest distros) setup_lnx.sh as of 2013, April 4th from Matt Kilgore.

I then would appreciate your returns after making a try of this script that can display, accordingly to your desktop language setting, its messages in American English, French (of course), German, Russian and, thanx to Fellippe Heitor in Portuguese.

I'm also looking for help to translate the small message list (less than 80 sentences) in other languages such as Italian, Spanish, Dutch as well as any other proposal.

Cheers.
Fifi
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: Fifi on September 21, 2018, 05:09:04 pm
Hi again

Anyone to test my installation script and give me returns ?

If you're not familiar with Linux, I can provide pre-installed VM disks to be used with both VMware Player (free) and/or VirtualBox.

Please let me know if I can help.

Cheers.
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: William33 on March 23, 2019, 06:02:14 am
Hi Fifi,

I am new on the forum and this is actually my first post. I want to thank you for your script, it works great. Finally I've got "real" binaries on Linux Mint again.

P.S. If desired, I can help improving the German translation because not everything is correct (no offense).
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: johnno56 on March 23, 2019, 06:38:41 am
William33,

A fellow Mint user! Excellent! - Oh, welcome to The Forum...

J
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: jonza on March 27, 2019, 09:21:00 am
I used your installer, but still have the same problem.

C++ Compilation failed check....

/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:27:20: note: previous declaration of ‘uint64_t’ was here
 typedef __uint64_t uint64_t;
                    ^~~~~~~~
In file included from ../../src/minimp3.c:24:0:
../../src/libc.h:58:37: error: conflicting types for ‘int64_t’
         typedef   signed long long  int64_t;
                                     ^~~~~~~
In file included from /usr/include/stdint.h:34:0,
                 from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9,
                 from ../../src/libc.h:26,
                 from ../../src/minimp3.c:24:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: previous declaration of ‘int64_t’ was here
 typedef __int64_t int64_t;
/opt/qb64/internal/temp/compilelog.txt/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: previous declaration of ‘int64_t’ was here
 typedef __int64_t int64_t;
/opt/qb64/internal/temp/compilelog.txt/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: previous declaration of ‘int64_t’ was here
 typedef __int64_t int64_t;
                   ^~~~~~~
ar: temp/minimp3.o: No such file or directory
:
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: jonza on March 27, 2019, 09:51:29 am
If I comment out everything sound related it works. Regular installation starts to nag about fonts after that. I also tried the dev build. Same coode works perfectly in Windows.

Might not be a dependency problem, but I have at least  libasound2, -data, -dev, -plugins ; freeglut3-dev ; libglew-dev ; libglm-dev ; libsdl1.2-dev; libsdl-image1.2-dev; libsdl-mixer1.2-dev; libsdl-net1.2-dev; libsdl-ttf2.0-dev

Any other dependencies I don't know about?
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: SMcNeill on March 27, 2019, 10:36:59 am
Looks like all the glitches are just from a repeated typedef in multiple modules.

I’m not on Linux, but you can try opening the indicated file and commenting out those lines, and see if that solves the issue when you try the build.
Title: Re: Compiled programs on Linux problem (-no-pie switch) solved.
Post by: jonza on March 28, 2019, 05:46:19 am
Found a solution here:
https://www.qb64.org/forum/index.php?PHPSESSID=890c711e474b65cf86cca857cbc6ddbb&topic=326.msg2174#msg2174

Change lines 57 & 58 to:
typedef __uint64_t uint64_t;
typedef __int64_t int64_t;

Edit: In file internal/c/parts/audio/decode/mp3_mini/src/libc.h