G'day,

Inspired by Scuri's promise of an impending IUP release late
last year, I took it upon myself to revise `lglicua`, my
shim/adaptor module that brings IM, CD, IUP (and PDFLIB7 and
FTGL) to a wider set of systems than the originally-advertised
Ubuntu for source compilation.  In particular, I was
previously able to support Linux Mint, and Red Hat variants
such as CentOS 7 and Rocky Linux 9.

In the most recent release (lglicua-0.1-alpha6), MX21_ahs_x64
is supported. I also try to support new releases where possible,
while aiming to stay within fairly stable distros, and away
from the more bleeding-edge ones.

However, key components such as the GNU C toolchain and the
Linux Kernel keep being updated, and it's sometimes a bit of a
gamble to see if compatibility is maintained.  Even keeping a
test rig supplied with package updates as new and/or bugfix
releases are made can turn into a full-time job for a largeish
set of OS images.

----

I've found a defect in CD's tecmake.mak -- well, actually this
file is identical across all Tecgraf SourceForge projects.
The problem was highlighted by a confusing failure to compile
cdgdk.c, with the error "Unable to find <gdk/gdk.h>".  By
using Locate, I could see that the file was installed as part
of the gtk3 suite, and both MX21_ahs_x64 and MX_21.1_ahs_x64
distros had no trouble.

The problem is that MX21.3_ahs_x64 is the first distro that
I've come across, that uses the fairly new Linux Kernel 6.0.x.

The Tecgraf build system, including tecmake.mak, has to pick
between GTK2 and GTK3, with an implied rule that newer kernels
would use GTK3.  However, kernel version testing stopped at 5,
and so 6 caused the build system to choose the lesser GTK2.

The fix is to add kernel versions in the GTK3 test portion of
tecmake.mak.  This file is identical across all of CD/IM/IUP,
with PDFLIB7 and FTGL being pseudo-copies of CD.

The patch is:

------------------------- cut here ------------------------
Index: tecmake.mak
===================================================================
--- tecmake.mak (revision 901)
+++ tecmake.mak (working copy)
@@ -297,6 +297,12 @@

 ifdef GTK_DEFAULT
   ifndef USE_GTK2
+    ifneq ($(findstring Linux7, $(TEC_UNAME)), )
+      USE_GTK3 = Yes
+    endif
+    ifneq ($(findstring Linux6, $(TEC_UNAME)), )
+      USE_GTK3 = Yes
+    endif
     ifneq ($(findstring Linux5, $(TEC_UNAME)), )
       USE_GTK3 = Yes
     endif
------------------------- cut here ------------------------


Sadly, this does not completely cure the CD build under
MX21.3_ahs_x64 -- there is a problem with another file trying to
access <hb.h> -- presumably HarfBuzz.  I have run out of time to
track this down at present.

I would appreciate updates to the SourceForge tecmake.mak files
quickly, rather than trying to fudge things within lglicua.  This
can happen regardless of whether a full release is prepared, as
lglicua never uses the snapshot-release builds; it always uses
the latest SourceForge Subversion sources.

cheers,

sur-behoffski (Brenton Hoff)
programmer, Grouse Software


_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to