Forums » Saxon/C Help and Discussions »
error trying to build cppTests samples under Debian 12 (WSL)
Added by Martin Honnen 11 months ago
When trying to compile the cppTests samples of SaxonC HE 12.4.1 under Debian 12 (WSL) with ./build64-linux.sh
I get errors:
mh@LIBERTYDELL23:~/libsaxon-HEC-linux-amd64-v12.4.1/samples/cppTests$ ./build64-linux.sh
../../Saxon.C.API/SaxonCGlue.c: In function ‘detach_graalvm_thread’:
../../Saxon.C.API/SaxonCGlue.c:63:45: warning: unused parameter ‘env’ [-Wunused-parameter]
63 | int detach_graalvm_thread(sxnc_environment *env) {
| ~~~~~~~~~~~~~~~~~~^~~
../../Saxon.C.API/SaxonCGlue.c: In function ‘checkForException’:
../../Saxon.C.API/SaxonCGlue.c:106:49: warning: unused parameter ‘environii’ [-Wunused-parameter]
106 | const char *checkForException(sxnc_environment *environii) { return 0; }
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../Saxon.C.API/SaxonCGlue.c: In function ‘setParameter’:
../../Saxon.C.API/SaxonCGlue.c:167:4: error: dangling pointer ‘parameters’ to ‘temp’ may be used [-Werror=dangling-pointer=]
167 | (*parameters)[(*parLen) - 1].value = value->xdmvalue;
| ~^~~~~~~~~~~~
../../Saxon.C.API/SaxonCGlue.c:154:21: note: ‘temp’ declared here
154 | sxnc_parameter *temp =
| ^~~~
../../Saxon.C.API/SaxonCGlue.c:166:4: error: dangling pointer ‘parameters’ to ‘temp’ may be used [-Werror=dangling-pointer=]
166 | (*parameters)[(*parLen) - 1].name = (char *)newName;
| ~^~~~~~~~~~~~
../../Saxon.C.API/SaxonCGlue.c:154:21: note: ‘temp’ declared here
154 | sxnc_parameter *temp =
| ^~~~
../../Saxon.C.API/SaxonCGlue.c: In function ‘setProperty’:
../../Saxon.C.API/SaxonCGlue.c:196:4: error: dangling pointer ‘properties’ to ‘temp’ may be used [-Werror=dangling-pointer=]
196 | (*properties)[(*propLen)].value = (char *)newValue;
| ~^~~~~~~~~~~~
../../Saxon.C.API/SaxonCGlue.c:181:20: note: ‘temp’ declared here
181 | sxnc_property *temp =
| ^~~~
../../Saxon.C.API/SaxonCGlue.c:195:4: error: dangling pointer ‘properties’ to ‘temp’ may be used [-Werror=dangling-pointer=]
195 | (*properties)[(*propLen)].name = (char *)newName;
| ~^~~~~~~~~~~~
../../Saxon.C.API/SaxonCGlue.c:181:20: note: ‘temp’ declared here
181 | sxnc_property *temp =
| ^~~~
cc1: all warnings being treated as errors
Any idea what could be causing this and how to fix the build script for Debian 12?
Replies (5)
Please register to reply
RE: error trying to build cppTests samples under Debian 12 (WSL) - Added by Martin Honnen 11 months ago
The C samples and the commands build and run fine under that same Debian system.
RE: error trying to build cppTests samples under Debian 12 (WSL) - Added by Martin Honnen 11 months ago
Added -Wno-error=dangling-pointer
to TURN_ERRORS_TO_WARNINGS
in the build script, that way the samples build under Debian 12 and also then run fine, it appears.
error trying to build cppTests samples under Debian 12 (WSL) - Added by Norm Tovey-Walsh 11 months ago
cc1: all warnings being treated as errors
This looks like the culprit. Does the cc1 parser running in that
environment treat warnings as errors by default? I assume there’s a
switch to turn that off.
(Longer term, it would be nice to resolve those warnings, but in the
short term…)
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
RE: error trying to build cppTests samples under Debian 12 (WSL) - Added by O'Neil Delpratt 11 months ago
HI,
I agree, not good that you are getting the dangling pointer issue. This is specific to the C API and not the C++ API. Therefore your workaround to turn these errors to warnings is fine. I have created the bug issue #6301 so that we can address the problem for the longer term.
Thanks.
RE: error trying to build cppTests samples under Debian 12 (WSL) - Added by O'Neil Delpratt 11 months ago
Just to report that I have fixed this dangling pointer issue on the C API, which was causing compile errors in the C++ API on some linux distributions.
Please register to reply