Hi,

The Xalan 1.12 samples and tests fail to build on Linux and the Mac. The reason 
is that the cmake build infrastructure tries to output the sample and test 
binaries at the top level of the samples and Tests directories, respectively. 
For example, the samples directory has the following structure:

samples
ApacheModduleXSLT
CompileStylesheet
DocumentBuilder
EntityResolver
ExternalFunction
…

The Xalan build infrastructure tries to create the sample executable in the 
root of the samples directory. This leads to a naming conflict. For example, 
the build intrastructure tells the linker to output the ExternalFunction 
executable at the root of the samples directory. The linker open function fails 
with the error message

[ 93%] Building CXX object 
src/xalanc/TestXPath/CMakeFiles/TestXPath.dir/TestXPath.cpp.o
cd 
/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/derived/glnxa64/xalan-c/src/xalanc/TestXPath
 && /mathworks/hub/3rdparty/internal/5566149/glnxa64/gcc-8.3.0/bin/g++  
-DNDEBUG -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE=1 
-I/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/derived/glnxa64/xalan-c/src 
-I/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/derived/glnxa64/xalan-c/src/xalanc/PlatformSupport
 -isystem 
/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/install/unknown/glnxa64/icu/include
 -isystem 
/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/install/unknown/glnxa64/xerces-c/include
 
-I/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/derived/glnxa64/xalan-c/src/xalanc/NLS/include
  -O2 -pipe -pthread 
-fdebug-prefix-map=/mathworks/devel/sandbox/paulk/xalan-c-sandbox= -fPIC  
-std=c++11 -Wall -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wextra 
-Wformat=2 -Wmissing-declarations -Wno-long-long -Woverlength-strings 
-Woverloaded-virtual -Wredundant-decls -Wreorder -Wswitch-default 
-Wunused-variable -Wwrite-strings -Wno-variadic-macros -fstrict-aliasing -O2 
-pipe -pthread 
-fdebug-prefix-map=/mathworks/devel/sandbox/paulk/xalan-c-sandbox= -fPIC  
-std=c++11   -std=gnu++14 -o CMakeFiles/TestXPath.dir/TestXPath.cpp.o -c 
/mathworks/devel/sandbox/paulk/xalan-c-sandbox/3p/derived/glnxa64/xalan-c/src/xalanc/TestXPath/TestXPath.cpp
/mathworks/hub/3rdparty/internal/5566149/glnxa64/gcc-8.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld.gold:
 fatal error: ExternalFunction: open: Is a directory

I noticed that Xerces-c stores the source for its tests and samples in a src 
subdirectory but creates the executables at the top of the directory e.g.,

samples
  src
   CreateDOMDocument
  CreateDOMDocument

This avoids the naming conflict.

The Xalan-c samples and tests build without issue on Windows.

Thanks for creating a version of Xalan-c that is easy to build on all major 
platforms.

Regards,

Paul


Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

Reply via email to