I am attempting to compile the Ovaldi Interpreter on 32-bit Solaris 10 x86 (5.10). I have successfully built the 5 dependencies using GCC 3.4.3 as provided by Solaris Studio 12.3:
pcre 8.35
xerces 3.1.1
xalan 1.11
libgpg-error 1.11
libgcrypt 1.6.1
I've had to manually copy over some of the hpp files from xalan to my include dir as the Ovaldi build was complaining about missing files. I am not sure why said files were missing. Once I moved past these errors the following error was produced:
g++ -Wall -DBSD_COMP -DSUNOS -I/usr/local/include -I/usr/include -I../../src/solaris -I../../src -I../../src/probes/unix -I../../src/probes/solaris -I../../src/probes/independent -I../../src/unix -O -c -o ../../src/solaris/ProbeFactory.o ../../src/solaris/ProbeFactory.cpp
../../src/solaris/ProbeFactory.cpp: In static member function static AbsProbe* ProbeFactory::GetProbe(std::string)':
../../src/solaris/ProbeFactory.cpp:136: error:Log' has not been declared
../../src/solaris/ProbeFactory.cpp:136: error: `Info' undeclared (first use this function)
../../src/solaris/ProbeFactory.cpp:136: error: (Each undeclared identifier is reported only once for each function it appears in.)
gmake: *** [../../src/solaris/ProbeFactory.o] Error 1
I am not sure how to troubleshoot this. Could anyone offer a suggestion in how to further troubleshoot? I appreciate any advise and I thank you for your time and efforts.
Jim
Last edit: Jim 2014-08-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for the reply! Adding the extra include line did correct the error. I was able to build the ovaldi binary. However I did need to remove the "-llber" (ASN Basic Encoding Rule?) library as the linker couldn't resolve it.
Apparently this is a known issue with Solaris ... at least according to Google. I believe the reasoning is the Solaris LDAP library includes the BER library; they're not separate files.
I haven't yet had a chance to test the Ovaldi Interpreter binary, past ensuring it prints the help menu. But I was curious by removing the BER library from the binary, what functionality am I missing (if LDAP doesn't include it)?
Thank you, Jim
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Looks like LDAPProbe.cpp calls ber_free(), which is a member of liblber, which would be why that was linked in. If your ldap library contains ber_free(), ovaldi should work the same as if the function were defined elsewhere. The important thing is that it was found. (And works the same way, but it sounds like it's only a difference in location.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I am attempting to compile the Ovaldi Interpreter on 32-bit Solaris 10 x86 (5.10). I have successfully built the 5 dependencies using GCC 3.4.3 as provided by Solaris Studio 12.3:
I've had to manually copy over some of the hpp files from xalan to my include dir as the Ovaldi build was complaining about missing files. I am not sure why said files were missing. Once I moved past these errors the following error was produced:
g++ -Wall -DBSD_COMP -DSUNOS -I/usr/local/include -I/usr/include -I../../src/solaris -I../../src -I../../src/probes/unix -I../../src/probes/solaris -I../../src/probes/independent -I../../src/unix -O -c -o ../../src/solaris/ProbeFactory.o ../../src/solaris/ProbeFactory.cpp
../../src/solaris/ProbeFactory.cpp: In static member function
static AbsProbe* ProbeFactory::GetProbe(std::string)': ../../src/solaris/ProbeFactory.cpp:136: error:Log' has not been declared../../src/solaris/ProbeFactory.cpp:136: error: `Info' undeclared (first use this function)
../../src/solaris/ProbeFactory.cpp:136: error: (Each undeclared identifier is reported only once for each function it appears in.)
gmake: *** [../../src/solaris/ProbeFactory.o] Error 1
I am not sure how to troubleshoot this. Could anyone offer a suggestion in how to further troubleshoot? I appreciate any advise and I thank you for your time and efforts.
Jim
Last edit: Jim 2014-08-05
Looks like this was fixed in [r1739]. It was just missing an #include, so it was a simple fix.
Related
Commit: [r1739]
Michael,
Thank you for the reply! Adding the extra include line did correct the error. I was able to build the ovaldi binary. However I did need to remove the "-llber" (ASN Basic Encoding Rule?) library as the linker couldn't resolve it.
Apparently this is a known issue with Solaris ... at least according to Google. I believe the reasoning is the Solaris LDAP library includes the BER library; they're not separate files.
I haven't yet had a chance to test the Ovaldi Interpreter binary, past ensuring it prints the help menu. But I was curious by removing the BER library from the binary, what functionality am I missing (if LDAP doesn't include it)?
Thank you, Jim
On our system:
$ ldd /usr/local/lib/libldap-2.4.so.2
liblber-2.4.so.2 => /usr/local/lib/liblber-2.4.so.2
...
Looks like LDAPProbe.cpp calls ber_free(), which is a member of liblber, which would be why that was linked in. If your ldap library contains ber_free(), ovaldi should work the same as if the function were defined elsewhere. The important thing is that it was found. (And works the same way, but it sounds like it's only a difference in location.)