On 04/01/2013 09:37 PM, Rob Godfrey wrote:
So, it still fails to compile on Ubuntu if you have the libnss3-dev package
installed.  The line in falls down on is doing the following:

~/qpid-clean/cpp/build/src$ /usr/bin/c++  -fPIC
-fvisibility-inlines-hidden -Werror -pedantic -Wall -Wextra -Wno-shadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long
-Wvolatile-register-var -Winvalid-pch -Wno-system-headers
-Woverloaded-virtual  -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4
-lnspr4   -Wl,--no-undefined -pthread -shared
-Wl,-soname,libsslcommon.so.2.0.0 -o libsslcommon.so.2.0.0
CMakeFiles/sslcommon.dir/qpid/sys/ssl/check.o
CMakeFiles/sslcommon.dir/qpid/sys/ssl/util.o
CMakeFiles/sslcommon.dir/qpid/sys/ssl/SslSocket.o libqpidcommon.so.2.0.0
libqpidtypes.so.1.0.0 -luuid -lboost_system-mt

which results in..

CMakeFiles/sslcommon.dir/qpid/sys/ssl/check.o: In function
`qpid::sys::ssl::ErrorString::ErrorString()':
check.cpp:(.text+0xd): undefined reference to `PR_GetError'
check.cpp:(.text+0x1a): undefined reference to `PR_GetErrorTextLength'
check.cpp:(.text+0x3f): undefined reference to `PR_GetErrorText'

... and a catalog of similar errors.

I'm not a nss, cmake or C++ expert... Anyone want to hazard a guess as to
what is going on?  I'm assuming that when the equivalent package is
installed on a Fedora-like system it all works fine?

In the autoconf based build, the nspr-config & nss-config executables are used to determine the required include- and link- paths.

The cmake build on the other hand uses pkg_check_modules which relies on pkg-config. If you run `pkg-config --cflags --libs nss`, what do you see?

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to