[fpc-devel] gtk1 linklib directive under FreeBSD

Marco van de Voort marcov at stack.nl
Tue May 9 16:29:10 CEST 2006


> But on several 
> PCs I have 5 FreeBSD installtaions running from FreeBSD 5.5RC, 6.0 
> Release, to 6.1RC in several Patchlevels.

All fairly new versions, except for 6.0. But you probably use -HEAD there
for the ports tree? The branch from the ports tree that you use is where the
difference is afaik. I'm a bit surprised that 5.5RC goes this way. This
breaks compat with earlier 5.x releases afaik. 

I also have seen installation that have libgtk-12.so btw. So the problem is even
more complicated

> 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.

I don't think this is FPC's task. 

First there should have been a longer grace period from the GTK port, but
that is beyond our control.

Second, I don't want to hardcode this kind of OS detection into the
makefiles, that is waiting for trouble, and we are always reacting in
retrospect.

Fixing/keeping this kind of stuff is for the distribution packager, to be
done in a way specific for a certain distro (be it a linux distro, FreeBSD
or fink)+version. That is in practice how
it works for other packages. 

However IMHO what FPC should add is a possibility to switch between both
notations without a full recompile or sed like source editing. We can
workaround this with a IFDEF, but the next time it is trouble again.

The ports maintainer must then detect what is actually available, and then
adjust e.g. fpc.cfg appopriately.

> 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.

There is no help for that.

> 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. 

I know. I wanted to illustrate that the problem that lib names are hardcoded
is not only for FreeBSD. If e.g. some distro renames some lib differently on
Linux, you have the same problem. 

> I use different versions of the FreeBSD ports for the different 
> installations, mostly actual ones installed via ctm.

What is ctm? Or do you mean cvsup?





More information about the fpc-devel mailing list