On Sat, Nov 15, 2025 at 07:17:49PM +0000, Gavin Smith wrote: > On Thu, Nov 13, 2025 at 07:25:13PM +0000, Gavin Smith wrote: > > > You can see that the -I/opt/csw/include option is given on the first > > run of "cc". On this system, this directory contains a GNU "libintl.h" > > file which appears to redefine "gettext" as "libintl_gettext". This flag > > appears to come from the Perl configuration values: > > > > perl_conf_CFLAGS='-D_REENTRANT -xO3 -m32 -xarch=pentium_pro > > -xchip=pentium_pro -I/opt/csw/bdb48/include -I/opt/csw/include > > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -KPIC' > > > > But this is not used for the tests in tta/configure.ac. Code to use this > > value in the value of CFLAGS is commented out:
I had a look at the texinfo-solaris11-sparc opencsw logs, and the error is Undefined first referenced symbol in file libintl_dcngettext ctexi2any-texi2any.o libintl_gettext ctexi2any-texi2any.o libintl_dcgettext ctexi2any-texi2any.o ld: fatal: symbol referencing errors But when I look at the ctexi2any-texi2any.o compilation, it is: /opt/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I./parsetexi -I./convert -I./main -I./structuring_transfo -I. -DDATADIR=\"/usr/local/share\" -DSYSCONFDIR=\"/usr/local/etc\" -I../gnulib/lib -I../gnulib/lib -D_REENTRANT -xO3 -m32 -xarch=sparc -I/opt/csw/bdb48/include -I/opt/csw/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -I/opt/csw/lib/perl/5.10.1/CORE -DPATH_SEP=\":\" -DEMBED_PERL -c -o ctexi2any-texi2any.o `test -f 'texi2any.c' || echo './'`texi2any.c So, there is -I/opt/csw/include. The reason why there is -I/opt/csw/include could be because there is CFLAGS=-I/opt/csw/include in the environment for the ./configure call. But there is also -I/opt/csw/lib/perl/5.10.1/CORE, because there is $(PERL_EXTUTILS_EMBED_ccopts) on ctexi2any_CPPFLAGS. I have no way to check the headers, but it could be possible that there is a mixup precisely because there is are both the Perl includes and non-Perl includes. The reason why they are there is explained in a comment in tta/C/Makefile.am: # NOTE it is important to use PERL_EXTUTILS_EMBED_ccopts here to match # with PERL_EXTUTILS_EMBED_ldopts used for linking, or in some platforms where # the compiling and linking flags must match there will be a failure to # build (for example AlmaLinux). # This is not a perfect situation, though, as it means that we mix Perl # and Gnulib cflags. It may not be such an issue, as we do not actually # include the Perl headers. I will try to remove PERL_EXTUTILS_EMBED_ccopts to see if it builds in opencsw without this. -- Pat
