On 7/16/23 06:22, Anonymous wrote:
Note, the documentation says to use -lpangox-2.0, but their is no
libpangox-2.0.so file that exists in the GTK2 or GTK3 directory. Was it
supposed to say -lpangoxft-1.0 or -lpangomm-1.4.so or -lpangocairo-1.0.so.0?
On 7/15/23 13:06, Anonymous wrote:
My problem is why won't GTK show up in my path, even though the system works
with GTK apps? Is that normal? I could copy all the files needed to a directory
for static linking ashttps://www.tecgraf.puc-rio.br/iup/ says to do, [...]
G'day,
I've found and fixed this problem as part of my work on "lglicua":
https://sourceforge.net/projects/lglicua/files/
The problem is that the Tecgraf build infrastructure, especially
"tecmake.mak", but also "iup/srcweb/config.mak", use a test to decide
whether to use GTK2 (older) or GTK3 (newer). Unfortunately, v4.21:
https://sourceforge.net/p/iup/iup/HEAD/tree/trunk/iup/tecmake.mak
has code blocks that top out at GNU/Linux Kernel 5, and newer distributions,
notably MX 21.3 and Ubuntu 23.04, use Kernel 6. This overflow of the
kernel numbering results in an incorrect GTK2 selection instead of GTK3,
and compilation and linking mayhem ensues, especially for CD and IUP.
My Tecgraf Assistant fixes this problem by overriding (stomps on) the
Tecgraf tecmake.mak each time a build is requested. (Note that all of
IM, CD, FTGL, PDFlib7 and IUP all have identical, v4.21 tecmake.mak.)
I released a fixed version (4.30) with the 0.1-alpha8 release, and a
minor cleanup of code formatting (4.31) in 0.1-beta1.
An example of some problem Makefile code, followed by improved code, is:
-------- 4.21 (lines 298-317) starts here --------
ifdef GTK_DEFAULT
ifndef USE_GTK2
ifneq ($(findstring Linux5, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
ifneq ($(findstring Linux4, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
ifneq ($(findstring Linux31, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
ifneq ($(findstring cygw, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
#Homebrew
#ifneq ($(findstring MacOS10, $(TEC_UNAME)), )
# USE_GTK3 = Yes
#endif
endif
endif
-------- 4.21 (lines 298-317) ends here --------
-------- 4.31 (lines 261-279) starts here --------
# Refine GTK default request: Newer GNU/Linux systems get GTK3,
# unless GTK2 is specifically defined.
ifdef GTK_DEFAULT
ifndef USE_GTK2
ifeq (Linux, $(TEC_SYSNAME))
ifneq ($(filter 4 5 6 7 8 9, $(TEC_SYSVERSION)), )
USE_GTK3 = Yes
else ifneq ($(findstring Linux31, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
else ifneq ($(findstring cygw, $(TEC_UNAME)), )
USE_GTK3 = Yes
endif
#Homebrew
#ifneq ($(findstring MacOS10, $(TEC_UNAME)), )
# USE_GTK3 = Yes
#endif
endif
endif
-------- 4.31 (lines 261-279) ends here --------
I have tested tecmake.mak 4.31 on the following distributions, using
an array of virtual machines:
Linux Mint: 21, 21.1
MX: 21_ahs_x64, 21.1_ahs_x64 [Kernels 5.x.y] , 21.3_ahs_x64
[Kernel 6.0.y];
CentOS7:
Rocky: 9, 9.1, 9.2; and
Ubuntu: 20.04.3, 22.10 [Kernels 5.x.y], 23.04 [Kernel 6.2.y].
--------
I've fed patches for the fixes/changes to tecmake.mak, and he has not
acted on my input. I sent the 4.21 -> 4.30 patches via private email,
and the 4.30 -> 4.31 (smaller set) on the mailing list.
I note that Scuri has consistently been helpful, but has very limited
time to devote to the IM/CD/IUP toolkits. It's now coming up to three
years since the last major release, and IUP, the most active project,
has had roughly 50 Subversion changes: Some are fixes, some are new
features. This is why my "lglicua" Assistant works from the
SourceForge repository, rather than use the pre-packaged releases.
Is there some way that we can enable a new release of the toolkits?
Can someone work under Scuri's supervision, if he's unable to devote
time himself, due to other commitments? Can the full packaging
scripts, including test rigs, be documented and released?
Hopes that the tecmake.mak update fixes build problems, and also
hope that we can make progress on procuring a new release.
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