Linked by Joost van der Sluis on Mon 10th Sep 2007 16:03 UTC
General Development Recently, Free Pascal (FPC) version 2.2.0 was released. This open source Pascal compiler has - since its initial release in 1993 - grown to be one of the most sophisticated open source compilers available today. Daily, more programmers discover FPC and develop their applications in Object Pascal. Specifically, the development of Lazarus has contributed to this phenomenon: Lazarus is a graphical open source IDE for FPC, with an extensive tool kit to design graphical (GUI) applications.
Thread beginning with comment 270471
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: Lazarus
by Almindor on Wed 12th Sep 2007 08:12 UTC in reply to "RE[4]: Lazarus"
Almindor
Member since:
2006-01-16

Well yes you're right, but also wrong.

As was pointed out to me also, there's versioning problems. For example Gtk has breakage between 2.0 and 2.8 regarding some functionality. Some functionality has been added. So if you compile for some Gtk2 version (eg: using SOME newer gtk2 functionality) you won't work on distroes with older gtk2.

The thing is, Lazarus/LCL tries to be low with new gtk2 stuff but I think even they need 2.4+.

It's much worse with Qt4. Since Qt is done in C++ anyone using non-C++ has to use a "C-Wrapper" lib. This lib is directly dependant on specific version of Qt4 (4.0, 4.1 etc.) so redistribution is next to impossible without recompilation (typical linux world), or carrying your own qt/gtk libs. But then you might fail on glibc (which breaks between eg: gcc4 and gcc2)

Reply Parent Score: 1

RE[6]: Lazarus
by anda_skoa on Wed 12th Sep 2007 11:22 in reply to "RE[5]: Lazarus"
anda_skoa Member since:
2005-07-07

The thing is, Lazarus/LCL tries to be low with new gtk2 stuff but I think even they need 2.4+.


Shouldn't be a problem, LSB 3.1 spezifies GTK in version 2.6
http://tinyurl.com/2seaeq

This lib is directly dependant on specific version of Qt4 (4.0, 4.1 etc.)


Since 4.1 includes the ABI of 4.0, anything linking against 4.0 should be able to resolve all symbols when linking against 4.1

Reply Parent Score: 2

RE[7]: Lazarus
by Almindor on Wed 12th Sep 2007 14:20 in reply to "RE[6]: Lazarus"
Almindor Member since:
2006-01-16

Yes but not vice versa and that's the problem ;)

LSB is also a moving target. Too much moving. They will probably go to Gtk 2.8 or even 3.x (if such will happen) and then what.

I'm talking "forward" compatibility here, not backward.

Compiling on an ancient distro and distributing on new ones isn't the problem here. Compiling on new and making it work on older ones is.

Eg: in windows, I can compile on windows XP and if I don't use specific stuff (which by default LCL doesn't), I can happily run it in windows 95.

Reply Parent Score: 1

RE[6]: Lazarus
by ashigabou on Fri 14th Sep 2007 04:35 in reply to "RE[5]: Lazarus"
ashigabou Member since:
2005-11-11

"It's much worse with Qt4. Since Qt is done in C++ anyone using non-C++ has to use a "C-Wrapper" lib. This lib is directly dependant on specific version of Qt4 (4.0, 4.1 etc.) so redistribution is next to impossible without recompilation (typical linux world), or carrying your own qt/gtk libs."

C++ ABI is a PITA on linux, no question about it (I would say C++ is broken from a ABI point of view anyway). But otherwise, I don't get your problems: breaking glibc between gcc2 and 4 is really not a problem, they are like what, ten years different ? Also, binary incompatibility also arise on windows (I got a problem recently with file descriptor not being compatible between slightly different MS C runtime).

I tended to think that binary compatibility was the major problem on linux, but maybe the problem really is shared library: http://www.sagecertification.org/publications/library/proceedings/u...

Reply Parent Score: 1