FWIW, I've spent some time on this periodically over the last couple
weeks. The problems run deep. The failure reported below turned out to
be due to instant (dtdocbook/instant) crashing during help generation.
I managed to fix several problems there, but then there were more issues
with the changes in the modern Tcl. We were using 7.5, I believe the
version on my ubuntu 16.04 machine is 8.6.
So, in addition to instant, I had to fix or work around some issues in
docbook.tcl. Since prior to this issue I'd never touched Tcl, I needed
some time to figure it out :)
The good thing is that I understand a lot more about what Tcl is and how
it's actually being used now.
One fix I had to make to instant, is that it would choke on 8 bit
characters - of the sort you would find in a German, French or Italian
locale. The problem there is that as of Tcl 8.0 (I believe) Tcl
requires strings to contain valid utf8 encoded characters. Otherwise it
behaves badly, ie: crashes with an error, and truncates the string
causing further parsing errors down the line in help text generation.
So I had to hack instant to translate these into a hex representation
that would pass muster: 0xc8 -> "\xc8" for example.
This seems to work, and I was finally able to complete a full build
without errors today. But it is a hack that would need to be removed
when we move toward UTF-8 everywhere.
I will test it some more and clean it up before I commit it.
And, after this work, I'm thinking I want to try to tackle that next:
switching to UTF-8, probably in a separate branch initially.
That would be a big task too, but I think a lot of things would be
better in the long run if we just took that plunge ASAP and get it over
with.
-jon
On 09/02/2018 03:47 PM, Jon Trulson wrote:
I can't apply this for a couple reasons:
On 08/26/2018 09:00 AM, Chase via cdesktopenv-devel wrote:
INCLUDES = -I../lib/tptregexp -I../tcl -I$(XLATESRC)
Should not be adding ../tcl to the include list if we are using the
system version...
DEPLIBS = $(DEPDTSVCLIB)
+#if defined(__linux__)
+DEFINES = -DUSE_INTERP_ERRORLINE -DUSE_INTERP_RESULT
What do these do?
+LOCAL_LIBRARIES = /usr/lib/x86_64-linux/gnu/libtcl.a $(DTSVCLIB)
$(TTLIB) \
Cannot hard code this path. It does not exist on my system at least.
Something like '-ltcl' would be better.
+$(XMLIB) $(XTOOLLIB) $(XLIB) -L../lib/tptregexp -ltptregexp
+#else
LOCAL_LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
-L../lib/tptregexp -ltptregexp ../tcl/libtcl.a
+#endif
#if defined(SunArchitecture)
EXTRA_LIBRARIES = -lsocket -lnsl -lgen -lm
#else
For kicks, I addressed the above issues, but there is a build failure.
Many warnings about deprecated function calls, passing ints as pointers
and vice versa.
Then, Help generation fails:
LANG=es_ES.ISO8859-1 SGML_SEARCH_PATH=".:.."
LD_LIBRARY_PATH=../../../exports/lib:/usr/dt/lib:/usr/lib
DTLCXSEARCHPATH=../../../lib/DtHelp /bin/ksh
../../../programs/dtdocbook/doc2sdl/dtdocbook -t
../../../programs/dtdocbook/doc2sdl -H
../../../programs/dthelp/parser/pass2/htag2/dthelp_htag2 -I
../../../programs/dtdocbook/instant/instant -L
../../../programs/dtdocbook/xlate_locale/xlate_locale -S
../../../programs/nsgmls/nsgmls -o ../help-sdl/Appmanager.sdl
Appmanager/book.sgm
dtdocbook fatal error:
Error processing book.out.sdl by
../../../programs/dthelp/parser/pass2/htag2/dthelp_htag2
Makefile:742: recipe for target '../help-sdl/Appmanager.sdl' failed
as an example.
Clearly this needs more work (and testing!). It's possible that the
TCL code in CDE depends on a vastly older version, and will need to be
updated as well before we can depend on modern versions...
--
Jon Trulson
"In the game of chess, you can never let your adversary see your pieces."
- Zapp Brannigan
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel