I resolved the openssl issue and now the attempts to build Santuario 2.0.4 
results in linker errors finding xerces_3_2 symbols that are reported in 
config.log.

I haven't seen any examples of a typical use of configure to build Santuraio 
2.0.4 on the official website.  I read the information about the depencencies 
and the FAQs page, and I'm sharing some information about how I am running the 
configure script. Is this the correct use of the script at least one reasonable 
way?  There are likely more ways than one to accomplish this.  I downloaded and 
built all three of these products from source.  Xalan 1.12.0 was built with 
that same XERCESCROOT.

export XERCESCROOT=/data/${USER}/repos/tp/xerces-c-3.2.4-install/release
export XALANCROOT=/data/${USER}/repos/tp/xalan_c-1.12-gxp-install/release
export OPENSSLROOT=/data/${USER}/repos/tp/openssl-102u-install/release
export SANTUARIO_INSTALL=/data/${USER}/repos/tp/santuario-2.0.4-install/release
export 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XERCESCROOT/lib/pkgconfig:$XALANCROOT/lib/pkgconfig:$OPENSSLROOT/lib/pkgconfig

./configure \
    --prefix=$SANTUARIO_INSTALL \
    --with-xalan \
    --with-openssl \
    CFLAGS=-m64 CPPFLAGS='-m64 -g' 2>&1 | tee release_configure.txt

Here is sample of what I see in the config.log file. Notice that it warns me 
about not finding libxerces-c-3.2.so and there is no -L options specifying the 
path to it so of course there are undefined reference errors. I did not see 
these types of errors in the past when building Santuraio 1.7.3.  I've 
specified package locations but it looks like a problem in how these config 
tests are being done.  If I try a gmake on the result it will fail with similar 
undefined reference errors so I think this is a problem, but I am not clear how 
to fix it.  As far as I can tell I am specifying where all of the packages are 
to be found.  Am I misunderstanding the use of the script?

g++ -o conftest 
-I/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/src 
-I/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/include 
-I/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/nls/include -g 
-O2 -m64 -g  conftest.cpp -lxalanMsg  
-L/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/lib -lxalan-c  >&5
/opt/rh/gcc-toolset-12/root/usr/libexec/gcc/x86_64-redhat-linux/12/ld: warning: 
libxerces-c-3.2.so, needed by 
/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/lib/libxalan-c.so, 
not found (try using -rpath or -rpath-link)
/opt/rh/gcc-toolset-12/root/usr/libexec/gcc/x86_64-redhat-linux/12/ld: 
/data/shawn.fox/repos/tp/xalan-1.11.0-gxp-4-install/release/lib/libxalan-c.so: 
undefined reference to `xercesc_3_2::DTDEntityDecl::isSerializable() const'

If any help results in my ability to get this building correctly, I'd be happy 
to provide my notes for the website if it will help anyone else in the future 
build this version.  Does anyone have a copy of an old config.log output to 
share that would show me what the output looks like after a successful 
configure?

Thanks,
Shawn Fox 

-----Original Message-----
From: Fox, Shawn D (US) <shawn....@baesystems.com> 
Sent: Wednesday, November 1, 2023 8:54 AM
To: dev@santuario.apache.org
Subject: RE: Apache Santuario config states that libcrypto is not found

External Email Alert

This email has been sent from an account outside of the BAE Systems network.

Please treat the email with caution, especially if you are requested to click 
on a link, decrypt/open an attachment, or enable macros.  For further 
information on how to spot phishing, access “Cybersecurity OneSpace Page” and 
report phishing by clicking the button “Report Phishing” on the Outlook toolbar.


Thanks, that was helpful.  It turns out that it had nothing to do with openssl. 
 The error in the log had to do with xalan-c not being found.  I had forgotten 
that when I build xalan-c that it is creating libraries in a lib64 directory 
now instead of just lib.  This is the first time I have used cmake to build 
xalan-c and the output directories generated are slightly different than they 
had been in the past.  The error message printed to the console indicated that 
it couldn't find libcrypto.  It was trying to do a link command to find 
libcrypto using a build command that would also attempt to link against all of 
the dependencies so the error in the configuration log didn't match what was 
printed to the console.

Thanks,
Shawn Fox

-----Original Message-----
From: Cantor, Scott <canto...@osu.edu>
Sent: Wednesday, November 1, 2023 8:47 AM
To: dev@santuario.apache.org
Subject: Re: Apache Santuario config states that libcrypto is not found

External Email Alert

This email has been sent from an account outside of the BAE Systems network.

Please treat the email with caution, especially if you are requested to click 
on a link, decrypt/open an attachment, or enable macros.  For further 
information on how to spot phishing, access “Cybersecurity OneSpace Page” and 
report phishing by clicking the button “Report Phishing” on the Outlook toolbar.


> I'm confused by the purpose of specifying the location of the openssl 
> that I have built if the dependency mechanism is searching for 
> libcrypt somewhere else.

Because it found a pkgconfig from OpenSSL somewhere else and it told it 
something you don't want to use.

That's the point of the mechanism, pkgconfig takes care of all the flags and 
filenames, as long as the build knows which pkgconfig file to use.

-- Scott


Reply via email to