Sign in Join

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

Mailing lists / fpc-devel / 2012-11

Lazarus 1.0 and fpc 2.6 do not install on popular distributions

5 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

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

Giuliano Colla

Hi fpc and Lazarus developers.

I just discovered that Lazarus 1.0.x and fpc 2.6 do not install out of the box on widely used distributions such as RHEL 5.8, CentOs 5.8, and Suse Enterprise 10.1.
They're the most popular enterprise versions, which should be an important target for Lazarus and fpc diffusion. Paying customers are there! I purchased an HP laptop just a few weeks ago, and the preinstalled OS was Suse Enterprise 10.1.
As the current policy of enterprise distro's is to provide a longer life cycle (Red Hat, followed by CentOs now provides a 10 years life cycle) the problem will stay there for a long time, unless some simple steps are taken.

The first problem is the rpm format: rpm's are generated with a recent version, which provides a higher compression level (lzma), but which isn't supported by the previous rpm versions. Using a graphic interface installer will not give any clue, just signaling an "unknown error". Anybody not stubborn enough will believe that the files are corrupted, and will give up, thinking that Lazarus and fpc are shit. Only by switching to command line, and trying to interpret the rather cryptic messages, one can understand the problem.
The solution is to download the rpm's on a very recent distro, and use rpmrebuild to rebuild the rpm's with a more widely supported compression format (gz or bz2).

If one gets there, he will discover that there are no unsatisfied dependencies, that all relevant libraries are available, and he'll boldly try to compile his first "hello world".

And he'll stumble in the second problem: the "hello world" program won't compile, because of an ld error: unknown option --build-id. Again anybody not stubborn enough will give up, instead of editing fpg.cfg which enables by default the build-id option, unsupported by the ld version of those distributions.

An experienced user can easily be told to use rpmrebuild, and to comment out the -k--build-id line on fpc.cfg, but that's hardly the way to encourage new users.

Just by setting

CPACK_RPM_SPEC_MORE_DEFINE

to

%define _binary_payload w9.bzdio

or

%define _binary_payload w9.gzdio

into the rpm SPEC, and commenting out the -kbuild-id line on the fpc.cfg file, one can make available rpm's which will install almost anywhere, at the price of slightly longer files, and of letting the experts who need the build-id option the burden to uncomment the line, if appropriate.

If it's desirable to widen the usage of fpc and Lazarus, anything that can discourage first time users should be avoided.

Giuliano

Reply by email

Michel Catudal
to Giuliano Colla
Giuliano Colla wrote 11 lines
Hi fpc and Lazarus developers. I just discovered that Lazarus 1.0.x and fpc 2.6 do not install out of the box on widely used distributions such as RHEL 5.8, CentOs 5.8, and Suse Enterprise 10.1. They're the most popular enterprise versions, which should be an important target for Lazarus and fpc diffusion. Paying customers are there! I purchased an HP laptop just a few weeks ago, and the preinstalled OS was Suse Enterprise 10.1. As the current policy of enterprise distro's is to provide a longer life cycle (Red Hat, followed by CentOs now provides a 10 years life cycle) the problem will stay there for a long time, unless some simple steps are taken.

I would suggest to check for a version for a distribution that is closest to SuSE Enterprise. I use Scientific Linux 6.2 and probably could have used a version for Fedora 12 or 13 since that is what Redhat Enterprise is based on. You could download the one from my website. It was compiled for Scientific Linux 6.2 and might work on SuSE. If not just recompile it, I provide the source package.

You decompress it this way
rpm -i -vv fpc-2.6.0-2.el6.catu.src.rpm

and
rpmbuild -ba fpc.spec

If it doesn't compile it means that you have some missing files that you need to install. It usually tells you what is missing.

If you have problems download an earlier version of SuSE's version and compare the spec files. The differences between Redhat and SuSE aren't very large.

Michel

For Linux Software visit http://home.comcast.net/~mcatudal

Reply by email

Giuliano Colla
to Michel Catudal

Il 23/11/2012 00:27, Michel Catudal ha scritto:

Show quoted text 27 lines
On 11/22/2012 05:27 PM, Giuliano Colla wrote: > Hi fpc and Lazarus developers. > > I just discovered that Lazarus 1.0.x and fpc 2.6 do not install out > of the box on widely used distributions such as RHEL 5.8, CentOs 5.8, > and Suse Enterprise 10.1. > They're the most popular enterprise versions, which should be an > important target for Lazarus and fpc diffusion. Paying customers are > there! > I purchased an HP laptop just a few weeks ago, and the preinstalled > OS was Suse Enterprise 10.1. > As the current policy of enterprise distro's is to provide a longer > life cycle (Red Hat, followed by CentOs now provides a 10 years life > cycle) the problem will stay there for a long time, unless some > simple steps are taken. > > > > > I would suggest to check for a version for a distribution that is closest to SuSE Enterprise. I use Scientific Linux 6.2 and probably could have used a version for Fedora 12 or 13 since that is what Redhat Enterprise is based on. You could download the one from my website. It was compiled for Scientific Linux 6.2 and might work on SuSE. If not just recompile it, I provide the source package.

Thanks, but I managed to install. I just wanted to point out that those incompatibilities may frighten or discourage a new user.

Giuliano

Reply by email

Graeme Geldenhuys
to Giuliano Colla
Giuliano Colla wrote
Thanks, but I managed to install. I just wanted to point out that those incompatibilities may frighten or discourage a new user.

I do agree with what you said - all valid points. I would also like to point out that FPC (not sure about Lazarus) is available in a .tar.gz release as well – using its own home-grown installer.

I use OpenSUSE 12.2 (and before that, many versions of Ubuntu) but never install FPC or Lazarus using the .rpm or .deb releases. I always use the binary .tar.gz release for FPC and install into a custom location (in my $HOME directory). I then download the source release of Lazarus, and manually compile that — also in a custom location in my $HOME directory.

The reasoning is two-fold.
* I can install into my $HOME directory
* By manually compiling Lazarus, I am also testing if my FPC installation is correct to build my own projects.

Most developers are often going to recompile Lazarus anyway - by installing new components. So it is just easier doing it from the start, and in a location where I have read/write access.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Hans-Peter Diettrich
to Giuliano Colla: Hi fpc and Lazarus developers. I just discovered that Lazarus 1.0.x and fpc 2.6 do not…
Show quoted text 6 lines
The first problem is the rpm format: rpm's are generated with a recent version, which provides a higher compression level (lzma), but which isn't supported by the previous rpm versions. Using a graphic interface installer will not give any clue, just signaling an "unknown error". Anybody not stubborn enough will believe that the files are corrupted, and will give up, thinking that Lazarus and fpc are shit.

+1

RPMs and DEBs typically are managed and distributed by the OS provider, so that Lazarus should provide the appropriate files for *every* major distro. Incompatible file versions will not find their way into the official distros. We should try to provide more current Lazarus versions for every long-term platform, to prevent users from getting the old official versions, e.g. something like 0.9.26 for SuSE 10.

WRT SuSE I found the original versions much more usable than the public OpenSuse versions. I tried OpenSuse 11/12, and dropped them both after problems with the installer, drivers, GUI and more.

DoDi

Reply by email