Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2018-10

Where can I download the fpc 3.0.0 seed compiler for Linux on i386 x64?

11 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Bo Berglund

I want to build FPC/Lazarus (3.0.4/1.8.4) from sources on a new Linux (Ubuntu 18.04 TLS MATE) using an i386 family CPU.
AFAIK I need to have the fpc seed compiler in order to do this.

But this is a hen and egg problem, how can I download the compiler needed to build 3.0.4 on this Linux machine?

I have had the same problem for RaspberryPi computers in the past but then I managed to get hold of a seed compiler and now there is no problems installing fpc/lazarus on RPi boxes.
Different story with Linux on a PC (with Intel CPU)...

Grateful for any links to a working seed compiler.

Bo Berglund Developer in Sweden

Reply by email

Sven Barth
to Bo Berglund

Bo Berglund schrieb am Di., 23. Okt. 2018, 17:02:

Show quoted text 14 lines
I want to build FPC/Lazarus (3.0.4/1.8.4) from sources on a new Linux (Ubuntu 18.04 TLS MATE) using an i386 family CPU. AFAIK I need to have the fpc seed compiler in order to do this. But this is a hen and egg problem, how can I download the compiler needed to build 3.0.4 on this Linux machine? I have had the same problem for RaspberryPi computers in the past but then I managed to get hold of a seed compiler and now there is no problems installing fpc/lazarus on RPi boxes. Different story with Linux on a PC (with Intel CPU)... Grateful for any links to a working seed compiler.

Why don't you simply use the distribution independent release of 3.0.4? E.g. from here:
https://sourceforge.net/projects/freepascal/files/Linux/3.0.4 (you're looking for fpc-3.0.4.i386-linux.tar). You can install it in any location you want and only need to setup PATH accordingly afterwards (I do the same on my Linux systems for the releases).

Regards,
Sven

Reply by email

Bo Berglund
to Bo Berglund: I want to build FPC/Lazarus (3.0.4/1.8.4) from sources on a new Linux (Ubuntu 18.04 TLS…
Bo Berglund wrote
Grateful for any links to a working seed compiler.

I found a tarball on this location:
ftp://freepascal.stack.nl/pub/mirrors/fpc/dist/3.0.0/i386-linux/fpc-3.0.0.i386-linux.tar

It must contain somewhere inside the file I need, any ideas about the name of the compiler I shall be looking for (and where it may reside)?

Is it ppc386 located in the tarball here:
\fpc-3.0.0.i386-linux.tar\fpc-3.0.0.i386-linux\binary.i386-linux.tar\base.i386-linux.tar.gz\base.i386-linux.tar\lib\fpc\3.0.0\

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Sven Barth: Bo Berglund schrieb am Di., 23. Okt. 2018, 17:02: Why don't you simply use the…
Sven Barth wrote
Why don't you simply use the distribution independent release of 3.0.4?

But I was under the impression that I cannot build 3.0.4 from sources except by using the 3.0.0 seed compiler...
Has this requirement changed?

In any case I don't have any Linux i386 computer before so I am on a clean slate here. But I found the link to the tarball for 3.0.4 on the download page
https://www.freepascal.org/down/i386/linux-netherlands.var Then I tried this URL by editing the two instances of 3.0.4 in the URL to 3.0.0 and tested it. Downloaded the old tarball just fine and I found the ppc386 compiler!

So now I am almost ready to start, except I don't know the exact build requirements I need to install in this desktop Ubuntu 18.04... On RPi units I usually do:

sudo apt-get install -y libx11-dev libgdk-pixbuf2.0-dev libcairo2-dev gir1.2-coglpango-1.0 libpangox-1.0-dev xorg-dev libgtk2.0-dev libpango1.0-dev

Is this what I need also on Ubuntu (i386)?

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Bo Berglund
Bo Berglund wrote 6 lines
sudo apt-get install -y libx11-dev libgdk-pixbuf2.0-dev libcairo2-dev gir1.2-coglpango-1.0 libpangox-1.0-dev xorg-dev libgtk2.0-dev libpango1.0-dev Is this what I need also on Ubuntu (i386)?

I did do sudo apt install build-essential since it did not have make...

Then I tried to build fpc 3.0.4 from sources freshly chacked out from the svn repo.
make all FPC=~/dev/fpc/ppc386

But it stopped after 1m32s with this at the end of he screen:

/usr/bin/ld: skipping incompatible
//usr/lib/x86_64-linux-gnu/libpthread.so when searching for -lpthread /usr/bin/ld: skipping incompatible
//usr/lib/x86_64-linux-gnu/libpthread.a when searching for -lpthread /usr/bin/ld: cannot find -lpthread
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libdl.a when searching for -ldl
/usr/bin/ld: cannot find -ldl
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
fpmake.pp(47,1) Error: Error while linking
fpmake.pp(47,1) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted
Makefile:1658: recipe for target 'fpmake' failed
make[2]: *** [fpmake] Error 1
make[2]: Leaving directory '/home/bosse/dev/fpc/3.0.4/packages' Makefile:2616: recipe for target 'packages_smart' failed make[1]: *** [packages_smart] Error 2
make[1]: Leaving directory '/home/bosse/dev/fpc/3.0.4' Makefile:2812: recipe for target 'build-stamp.i386-linux' failed make: *** [build-stamp.i386-linux] Error 2

Probably some dependencies are missing from my Ubuntu 18.04, but what? Could it be the exact same items as on RaspberryPi???

Bo Berglund Developer in Sweden

Reply by email

Sven Barth
to Bo Berglund: On Tue, 23 Oct 2018 17:08:40 +0200, Sven Barth via fpc-pascal But I was under the…

Bo Berglund schrieb am Di., 23. Okt. 2018, 18:13:

Show quoted text 9 lines
On Tue, 23 Oct 2018 17:08:40 +0200, Sven Barth via fpc-pascal wrote: >Why don't you simply use the distribution independent release of 3.0.4? But I was under the impression that I cannot build 3.0.4 from sources except by using the 3.0.0 seed compiler... Has this requirement changed?

The idea was to use the binary release instead of building from source. Building a release from source is only really useful and needed if you have custom changes to the sources (this includes using non default options) or there is no binary release provided for your intended platform.

Regards,
Sven

Reply by email

Sven Barth
to Bo Berglund: On Tue, 23 Oct 2018 18:12:41 +0200, Bo Berglund I did do sudo apt install build-essential…

Bo Berglund schrieb am Di., 23. Okt. 2018, 18:59:

Show quoted text 48 lines
On Tue, 23 Oct 2018 18:12:41 +0200, Bo Berglund wrote: > >sudo apt-get install -y libx11-dev libgdk-pixbuf2.0-dev libcairo2-dev >gir1.2-coglpango-1.0 libpangox-1.0-dev xorg-dev libgtk2.0-dev >libpango1.0-dev > >Is this what I need also on Ubuntu (i386)? I did do sudo apt install build-essential since it did not have make... Then I tried to build fpc 3.0.4 from sources freshly chacked out from the svn repo. make all FPC=~/dev/fpc/ppc386 But it stopped after 1m32s with this at the end of he screen: /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpthread.so when searching for -lpthread /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpthread.a when searching for -lpthread /usr/bin/ld: cannot find -lpthread /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libdl.so when searching for -ldl /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libdl.a when searching for -ldl /usr/bin/ld: cannot find -ldl /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libc.so when searching for -lc /usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libc.a when searching for -lc /usr/bin/ld: cannot find -lc fpmake.pp(47,1) Error: Error while linking fpmake.pp(47,1) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted Makefile:1658: recipe for target 'fpmake' failed make[2]: *** [fpmake] Error 1 make[2]: Leaving directory '/home/bosse/dev/fpc/3.0.4/packages' Makefile:2616: recipe for target 'packages_smart' failed make[1]: *** [packages_smart] Error 2 make[1]: Leaving directory '/home/bosse/dev/fpc/3.0.4' Makefile:2812: recipe for target 'build-stamp.i386-linux' failed make: *** [build-stamp.i386-linux] Error 2 Probably some dependencies are missing from my Ubuntu 18.04, but what? Could it be the exact same items as on RaspberryPi???

If I had to guess I'd say that you'd need the 32-bit development packages (don't know how to install them however, I use Arch Linux, not Ubuntu). Or use the x86_64-linux release and build a 64-bit compiler.

Regards,
Sven

Reply by email

Jonas Maebe
to Bo Berglund: On Tue, 23 Oct 2018 18:12:41 +0200, Bo Berglund I did do sudo apt install build-essential…
Bo Berglund wrote
Probably some dependencies are missing from my Ubuntu 18.04, but what?

You have to install the i386 version of the libc-dev package. See https://superuser.com/questions/741380/how-to-install-i386-package-under-amd64-ubuntu-debian/742163#742163 for basic information on how to enable installing i386 packages on an x86-64 install.

Jonas

Reply by email

Bo Berglund
to Sven Barth: Bo Berglund schrieb am Di., 23. Okt. 2018, 18:13: The idea was to use the binary release…
Sven Barth wrote 16 lines
Bo Berglund schrieb am Di., 23. Okt. 2018, 18:13: > On Tue, 23 Oct 2018 17:08:40 +0200, Sven Barth via fpc-pascal > wrote: > > >Why don't you simply use the distribution independent release of 3.0.4? > > But I was under the impression that I cannot build 3.0.4 from sources > except by using the 3.0.0 seed compiler... > Has this requirement changed? > The idea was to use the binary release instead of building from source. Building a release from source is only really useful and needed if you have custom changes to the sources (this includes using non default options) or there is no binary release provided for your intended platform.

After re-reading your post I did so using ubuntu's: sudo apt install lazarus-ide

It gave me a working system with Lazarus 1.8.2 and fpc 3.0.4

But it does not work correctly when I try to install OnlinePackageManager, then it stops with an error:

lazarus.pp(1,1) Fatal: Cannot find lazcontroldsgn used by Lazarus.

I need this OnLinePackageManager to correctly install Indy10, which my project uses.
(Posted this problem on the Lazarus list)

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Jonas Maebe: You have to install the i386 version of the libc-dev package. See…
Jonas Maebe wrote
You have to install the i386 version of the libc-dev package. See https://superuser.com/questions/741380/how-to-install-i386-package-under-amd64-ubuntu-debian/742163#742163 for basic information on how to enable installing i386 packages on an x86-64 install.

Boom!
I was *not* intending to install a 32 bit compiler... But that was what I was doing using that ppc386 compiler! Now I have retrieved the 3.0.0 x86_64 compiler instead and used it as the seed compiler and it worked all the way to the end! No errors on compiling fpc 3.0.4 anymore!

Thank you for your input!

Bo Berglund Developer in Sweden

Reply by email

Marcos Douglas B. Santos
to Bo Berglund: I want to build FPC/Lazarus (3.0.4/1.8.4) from sources on a new Linux (Ubuntu 18.04 TLS…
PM Bo Berglund wrote 7 lines
I want to build FPC/Lazarus (3.0.4/1.8.4) from sources on a new Linux (Ubuntu 18.04 TLS MATE) using an i386 family CPU. AFAIK I need to have the fpc seed compiler in order to do this. But this is a hen and egg problem, how can I download the compiler needed to build 3.0.4 on this Linux machine?

The easiest way: fpcupdeluxe
https://github.com/newpascal/fpcupdeluxe/releases

regards,
Marcos Douglas

Reply by email