Missing files in 64-bit install script and how it could be resolved

Linux specific questions.
Post Reply
haegartheroot
Posts: 112
Joined: Jul 27, 2007 15:45
Location: Bremen, Germany
Contact:

Missing files in 64-bit install script and how it could be resolved

Post by haegartheroot »

Some days ago I installed Ubuntu 18.04 LTS and decided to try the 64-bit version of the operating system (instead of the 32-bit version I was using until now).

Therefore I had to try the 64-bit FreeBasic compiler version for the first time as well and I recognized that the install script is missing some include files/directories ...

FreeBasic include files (.bi) missing in 64-bit version:

dislin.bi
gettext-po.bi
goocanvas.bi
japi.bi
jni.bi
jpgalleg.bi
libintl.bi
pdflib.bi
quicklz.bi
tinyptc.bi

Complete subdirectories missing:

big_int
glade
libart_lgpl
mysql
spidermonkey
ddk
rc
wx-c

So what I did to resolve it:

1. Download 32-bit and 64-bit versions of the compiler:

https://sourceforge.net/projects/fbc/fi ... z/download
https://sourceforge.net/projects/fbc/fi ... z/download

2. Unpack both files

3. Install the 32-bit version first with

sudo ./install.sh -i

4. Install the 64-bit version directly afterwards, again with

sudo ./install.sh -i

Now I can compile all my sources without any issues :-)
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: Missing files in 64-bit install script and how it could be resolved

Post by D.J.Peters »

after step 3
3. Install the 32-bit version first with
sudo ./install.sh -i

you can rename fbc in the installed folder to fbc32

after step 4
4. Install the 64-bit version directly afterwards, again with
sudo ./install.sh -i

optional you can rename fbc in the installed folder to fbc64

so you can build 32-bit and 64-bit stuff easily
fbc32 test.bas -x test32
fbc test.bas -x test64
or
fbc64 test.bas -x test64

fbc32 or fbc64 will select the right libs automatically for you :-)

Joshy
haegartheroot
Posts: 112
Joined: Jul 27, 2007 15:45
Location: Bremen, Germany
Contact:

Re: Missing files in 64-bit install script and how it could be resolved

Post by haegartheroot »

D.J.Peters wrote:after step 3
3. Install the 32-bit version first with
sudo ./install.sh -i

you can rename fbc in the installed folder to fbc32

after step 4
4. Install the 64-bit version directly afterwards, again with
sudo ./install.sh -i

optional you can rename fbc in the installed folder to fbc64

so you can build 32-bit and 64-bit stuff easily
fbc32 test.bas -x test32
fbc test.bas -x test64
or
fbc64 test.bas -x test64

fbc32 or fbc64 will select the right libs automatically for you :-)

Joshy
Moin Joshy (as we would say in Northern Germany),

thank you for your reply.

My intention was to use a 64-bit OS with a 64-bit compiler, which did not work because of the missing include files in the 64-bit version of FreeBasic. After having recognized that the missing files are in the 32-bit install script I decided to install the 32-bit compiler first and then the 64-bit compile on top of it, which resolved my issues.

In parallel I made some tests with Antergos Linux (also 64-bit OS). In Antergos (Arch Linux) you can install FreeBasic directly from their repository. I guess it's the first Linux Distro with FreeBasic "on board". The strange thing is: in the Antergos FreeBasic 64-bit compiler all include files are present. Maybe they corrected it in their install package.

Haegar
dkl
Site Admin
Posts: 3235
Joined: Jul 28, 2005 14:45
Location: Germany

Re: Missing files in 64-bit install script and how it could be resolved

Post by dkl »

Hi,

it should be noted that some of the .bi files from the 32bit install were excluded from the 64bit version, because they do not support 64bit yet. So it's not safe to use them on 64bit.

As far as I remember not all .bi files in fbc repository itself were fixed up yet. The main problem usually is the use of FB Integer in place of C int, which works for 32bit but not 64bit. Unfortunately, the failure is silent... such bindings typically compile fine but the behaviour at runtime is undefined due to the incompatible function signatures...
Post Reply