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





_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to