[fpc-devel] gtk1 linklib directive under FreeBSD
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue May 9 14:49:40 CEST 2006
forwarded:
> --------------
> Two or three months ago I tested Lazarus on FreeBSD 6.0 RELEASE.
> After installing some missing libs (like pixbuf-devel, etc.) it
> compiled and run without any problems. Lazarus version was 0.9.12
> IIRC.
> --------------
> To my best knowledge, this naming depends on what version and what
> packages branch one is using .
>
> FreeBSD, when confronted with this says to use pkgconfig, and doesn't want
> to help out with a couple of symlinks to ease the situation. IOW they
> don't care about anything but GCC. I recommend filing a send-pr about
> this.
>
> Since there is no way currently to make lazy bound dll names variable
> without recompiling on target, and most people are using release versions,
> I chose to wait with this change till more people are over to the -1.2
> syntax, to keep the amount of users that have to symlink manually to a
> minimum. --------------
> This symlink/library practice on linux/unix is simply a mess, and I
> personally also don't see another portable way but to use tools such
> as pkgconfig and friends. Afaik the output of pkgconfig is not gcc
> specific, but ld-specific (at least the output of "sdl-config --
> libs") is. So if you want to use it for an internal linker, you
> indeed have to parse that output (as opposed to similar statements in
> the source).
> --------------
I am not fit in Linux and I have only one SuSE-10-Installation running
where I had also some trouble when installing Lazarus. But on several
PCs I have 5 FreeBSD installtaions running from FreeBSD 5.5RC, 6.0
Release, to 6.1RC in several Patchlevels. I installed Lazarus from
source on 4 of them using version 0.9.12, 0.9.14 and 0.9.15 (from SVN).
All these FreeBSD installations show the same behavior and set the minus
char into the library name. So for me, this seems to be FreeBSD
specific. But I could live with this problem (if documented) when
installing a Lazarus beta version in FreeBSD from source. gmake's
Makefile additionally could test the 3 libs and set (if missing) those
symlinks or can patch the Free Pascal source files if needed.
But this behavior is of course not acceptable for a final 1.0 binary
installation. Here those libs _must_ be linked and later unlinked by a
deinstaller (even this symlinking is not so nice). But a severe problem
seems for me, that the produced and distributed apps which are linked
against glib, gdk und gtk will have the same problem and may not run if
the wrong filename is used on different FreeBSD target.
But on the other hand I am a little bit confused about the answer and
that "pixbuf-devel" had to be installed? There are no *-devel packages
in (Free/Net/Open)-BSD. These are typical Linux names. Did he really
compile a native FreeBSD version or did he install the Linux version in
the Linuxulator? The Linux version of course uses the RedHat-libs in
/usr/compat/linux/... without the "-". All BSDs install always complete
libraries. a glib, gtk oder gdk-pixbuf includes the libs themselves and
all headers etc. There are no additional developer libraries available!
(I never tried to use such a combination for Lazarus except on NetBSD.
There Lazarus/Linux is working but Free Pascal/Linux traps :-( so
Lazarus is unusable in any combination at the moment.)
I use different versions of the FreeBSD ports for the different
installations, mostly actual ones installed via ctm. The behavior is the
same when the ports are installed with the release.)
I hope, that these informations will help a bit to fix the problem.
-----------
Mattias
More information about the fpc-devel
mailing list