[Gambas-user] Happy new year 2024!

Admin admin at allunix.ru
Fri Jan 5 15:22:20 CET 2024


05.01.2024 19:53, Benoît Minisini пишет:
> So, if I understood well, the current Gambas source code compiles 
> without any change on FreeBSD? Then what compilation problems did you 
> have?

It all is system-related, yes.

Look, it's hard to understand what dependencies you need under non-linux 
system, because very different packages supply what is needed, and the 
compilation errors are often not that informative to understand that 
this is a dependency problem. I myself am not a C or C++ specialist, I 
am not even a programmer, if we talk seriously, so those errors normally 
look like a screen damage to me))). It takes some time to understand the 
nature of a compilation problem, then to understand what is missing, and 
finally, what will provide what's missing in this or that particular 
system. I'm sure it's trivial for some professionals, but i still find 
it kinda confusing despite some 20 years of unix experience (and Linux 
is less then half of it, I had BSDs, Solaris, IRIX, AIX, HP-UX, some 
other obscure systems).

For example, the header file pty.h is not found by compiler. But it's 
there, somewhere in /usr/src tree. I have to manually find it and copy 
it to gambas git clone directory to make it compile. But when the 
compiler just says "no pty.h, goodbuy" it takes a while to undestand 
where do I go from here. But when I wrote a script, in next version of 
FreeBSD it was just gone. So I took it from an older system, put it on 
my server and just added a wget command to my compilation script, and it 
works again. And then compilation suddenly stopped requiring that file. 
So now I have like four different FreeBSD/Gambas compilation scripts for 
different releases, and they all fail on non-respective systems.

Some of my scripts had 'mysql56-client' packet installation, and so 
Gambas was built around it. And then I just used binary package of 
Gambas on this version of FreeBSD. But then this package was updated to 
'mysql57-client' so not only can't I compile with this script, but also 
previously compiled binary package stopped working, because 
libmysqlclient.so.X is not there anymore, and symlinking it from newer 
version does not work, because of some internal API changes. So it's 
recompilation all over again.

What package _actually_ supplies that part of GTK2 gambas requires? Is 
it gtk2? No.
What package _actually_ supplies that part of GTK3 gambas requires? Is 
it gtk3? No.
What package _actually_ supplies that part of QT5 gambas requires? Is it 
qt5? No.

and so on, and so on.

BUT! But. Since FreeBSD 13.2 Gambas is compiled just like that:

pkg install mc mysql57-client gtk2 qt5 gcc pkgconf autoconf automake git 
libtool librsvg2 gmime30
git clone --depth=1 https://gitlab.com/gambas/gambas.git
cd gambas/
./reconf-all
./configure -C --disable-postgresql --disable-sqlite2 --disable-sqlite3 
--disable-crypt --disable-qt4 --disable-gtk3 --disable-opengl 
--disable-keyring --disable-pdf --disable-poppler --disable-cairo 
--disable-gsl
make
make install prefix=/opt/gambas
cp -r /opt/gambas/* /usr/

Will it be like this tomorrow? I don't know. Will it work for the next 
FreeBSD version? I don't know.

That's how we roll here :-)


>
>> It's just that FreeBSD is not Linux, and we've established long time 
>> ago that you are not particularly interested in supporting something 
>> that is not Linux, 
>
> It's not actually true: look at the system detection in 'acinclude.m4'.
>
> As soon as it's Unix-like, I always accept patches to make it compile 
> on a new system.
>
> It's Windows that I avoid as much as possible since I developed on it 
> long time ago. Thanks God, I didn't boot a Windows system since 
> Windows XP.
>
> Regards,
>
I see. Well, ok then. We'll see what can be done.


Dmitry.



More information about the User mailing list