Date: Mon, 17 Jul 2006 17:16:57 -0400 From: Bob <bob@tania.servebbs.org> To: Mike Meyer <mwm@mired.org> Cc: freebsd-questions@freebsd.org Subject: Re: LinkLib Issues In freebsd Lazarus Message-ID: <44BBFE49.4080602@tania.servebbs.org> In-Reply-To: <17595.42791.720165.478108@bhuda.mired.org> References: <44BA98A9.9040903@tamara-b.org> <17594.43423.928991.591165@bhuda.mired.org> <44BACE63.9030800@tania.servebbs.org> <17595.42791.720165.478108@bhuda.mired.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Meyer wrote: > > It's *really* unusual for a port to install a binary tarball if the > source is available. Most ports that install binaries are for > commercial products for which source isn't available. > In this case, the unusual rules. Here are the contents of the "ports" binary.i386-freebsd.tar demo.tar.gz doc-pdf.tar.gz install.sh > > A port is basically a Makefile plus at least some text files. The > ports tree includes a lot of make machinery to > fetch/extract/patch/build/etc. based on that. See the porters handbook > at <URL: > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html >> for details. Thanks Mike. I have been involved in a parallel discussion on the fpc-devel list, and have discovered a few facts which will impact the manufacture of a freepascal Lazarus port. In fact, what I have learned will impact the usability of FPC on freepascal itself. The "problem" which initiated this thread was the "wrong naming" of some libraries. Well, it turns out that this renaming was done mid-stream by the freebsd development team, and not by the freepascal folks. It seems that from freebsd 6.0 to freebsd 6.1 (the one I am using) library names were arbitrarily changed. The ones I ran into were libgdk, libgtk, and libglib. In all previous versions (prior to 6.1) of freebsd, the lib versions 1.2 were named libgdk12, libgtk12, and libglib12 they were changed in 6.1 to libgdk-12, libgtk-12, and libglib-12 respectively. I wonder how many more library names were changed? This is a real blow to any third party software developer, who's software will likely start to bomb on freebsd6.1, where it ran just fine on 6.0 BIG problem! If I compile a program on my 6.1 system, which makes any dynamic calls to these libraries (and possibly others as yet unknown), that executable will ONLY run on freebsd 6.1, and bomb on all prior versions. My "fix" of patching the freepascal 2.0.2, or your method of sym-linking, while fixing the local problem of compiling Lazarus, breaks all portability to previous freebsd installs. This is a bad thing the freebsd folks have done! There are some dirty work-arounds, and according to the fpc developers, they will be implementing some new tools to deal with this in fpc-2.0.4, who's rc2 has just been released. I can see making these kinds of changes from a 5.x version to a 6.x version, as bad as even that would be, but to make such a change from within the 6.x branch is pretty inconsiderate IMHO. Given the above, it would be senseless to create a "port" of lazarus, which would require a "port" of the "patched" fpc sources, (as a dependency), and then have a development system which was tied to a particular version of freebsd. Bob
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44BBFE49.4080602>