On 2/23/22 14:16, james wing wrote:
I'm attempting to build & install activemq-cpp client on a Debian system, with
unit and integration tests.
After git-ing the latest source and following instructions in the README.txt
(and/or here:
https://activemq.apache.org/components/cms/developers/building )
, I run the "make check" command that reportedly "will verify that the library is
functioning correctly on the target platform. In addition, it will generate the integration tests
binary."
It reports entering and leaving some directories (main and examples) and reports "Nothing to
be done for 'check'." In those directories. It also reports entering and leaving the parent
directory (activemq-cpp), but doesn't report doing anything there. If it builds anything, there is
certainly no indication of it, and the "activemq-test-integration" executable that it is
reportedly intended to build is nowhere to be found.
To confirm the CppUnit libraries are installed:
$ apt list --installed |grep cppunit
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libcppunit-1.14-0/oldstable,now 1.14.0-3 amd64 [installed,automatic]
libcppunit-dev/oldstable,now 1.14.0-3 amd64 [installed]
But I am unsure of one piece of the instructions:
"Make sure that the paths to the installed CppUnit library and includes are visible
in your current shell before you try building the tests."
How do I do that? I don't know what is meant by a path being "visible", nor
which includes, nor which CppUnit 'library' (the .so, and the .a files?).
Somebody understanding what that ambiguous (to me) instruction means could
probably instantly spot the answer in the following:
$ echo $PATH
/opt/bitnami/activemq/bin:/opt/bitnami/common/bin:/opt/bitnami/gonit/bin:/opt/bitnami/java/bin:/opt/bitnami/java/jre/bin:/opt/bitnami/nami/bin:/opt/bitnami/activemq/bin:/opt/bitnami/common/bin:/opt/bitnami/gonit/bin:/opt/bitnami/java/bin:/opt/bitnami/java/jre/bin:/opt/bitnami/nami/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
And...
$ dpkg -L libcppunit-dev
/.
/usr
/usr/include
/usr/include/cppunit
/usr/include/cppunit/AdditionalMessage.h
/usr/include/cppunit/Asserter.h
/usr/include/cppunit/BriefTestProgressListener.h
/usr/include/cppunit/CompilerOutputter.h
/usr/include/cppunit/Exception.h
/usr/include/cppunit/Message.h
/usr/include/cppunit/Outputter.h
/usr/include/cppunit/Portability.h
/usr/include/cppunit/Protector.h
/usr/include/cppunit/SourceLine.h
/usr/include/cppunit/SynchronizedObject.h
/usr/include/cppunit/Test.h
/usr/include/cppunit/TestAssert.h
/usr/include/cppunit/TestCaller.h
/usr/include/cppunit/TestCase.h
/usr/include/cppunit/TestComposite.h
/usr/include/cppunit/TestFailure.h
/usr/include/cppunit/TestFixture.h
/usr/include/cppunit/TestLeaf.h
/usr/include/cppunit/TestListener.h
/usr/include/cppunit/TestPath.h
/usr/include/cppunit/TestResult.h
/usr/include/cppunit/TestResultCollector.h
/usr/include/cppunit/TestRunner.h
/usr/include/cppunit/TestSuccessListener.h
/usr/include/cppunit/TestSuite.h
/usr/include/cppunit/TextOutputter.h
/usr/include/cppunit/TextTestProgressListener.h
/usr/include/cppunit/TextTestResult.h
/usr/include/cppunit/TextTestRunner.h
/usr/include/cppunit/XmlOutputter.h
/usr/include/cppunit/XmlOutputterHook.h
/usr/include/cppunit/config
/usr/include/cppunit/config/CppUnitApi.h
/usr/include/cppunit/config/SelectDllLoader.h
/usr/include/cppunit/config/SourcePrefix.h
/usr/include/cppunit/config/config-bcb5.h
/usr/include/cppunit/config/config-evc4.h
/usr/include/cppunit/config/config-mac.h
/usr/include/cppunit/config/config-msvc6.h
/usr/include/cppunit/config-auto.h
/usr/include/cppunit/extensions
/usr/include/cppunit/extensions/AutoRegisterSuite.h
/usr/include/cppunit/extensions/ExceptionTestCaseDecorator.h
/usr/include/cppunit/extensions/HelperMacros.h
/usr/include/cppunit/extensions/Orthodox.h
/usr/include/cppunit/extensions/RepeatedTest.h
/usr/include/cppunit/extensions/TestCaseDecorator.h
/usr/include/cppunit/extensions/TestDecorator.h
/usr/include/cppunit/extensions/TestFactory.h
/usr/include/cppunit/extensions/TestFactoryRegistry.h
/usr/include/cppunit/extensions/TestFixtureFactory.h
/usr/include/cppunit/extensions/TestNamer.h
/usr/include/cppunit/extensions/TestSetUp.h
/usr/include/cppunit/extensions/TestSuiteBuilderContext.h
/usr/include/cppunit/extensions/TestSuiteFactory.h
/usr/include/cppunit/extensions/TypeInfoHelper.h
/usr/include/cppunit/plugin
/usr/include/cppunit/plugin/DynamicLibraryManager.h
/usr/include/cppunit/plugin/DynamicLibraryManagerException.h
/usr/include/cppunit/plugin/PlugInManager.h
/usr/include/cppunit/plugin/PlugInParameters.h
/usr/include/cppunit/plugin/TestPlugIn.h
/usr/include/cppunit/plugin/TestPlugInDefaultImpl.h
/usr/include/cppunit/portability
/usr/include/cppunit/portability/FloatingPoint.h
/usr/include/cppunit/portability/Stream.h
/usr/include/cppunit/tools
/usr/include/cppunit/tools/Algorithm.h
/usr/include/cppunit/tools/StringHelper.h
/usr/include/cppunit/tools/StringTools.h
/usr/include/cppunit/tools/XmlDocument.h
/usr/include/cppunit/tools/XmlElement.h
/usr/include/cppunit/ui
/usr/include/cppunit/ui/text
/usr/include/cppunit/ui/text/TestRunner.h
/usr/include/cppunit/ui/text/TextTestRunner.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcppunit.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/cppunit.pc
/usr/share
/usr/share/doc
/usr/share/doc/libcppunit-dev
/usr/share/doc/libcppunit-dev/README.Debian
/usr/share/doc/libcppunit-dev/changelog.Debian.gz
/usr/share/doc/libcppunit-dev/changelog.gz
/usr/share/doc/libcppunit-dev/copyright
/usr/lib/x86_64-linux-gnu/libcppunit-1.14.so
/usr/lib/x86_64-linux-gnu/libcppunit.so
So, I took a guess and decided to
$ PATH=$PATH:/usr/include:/usr/include/cppunit:/usr/lib/x86_64-linux-gnu
$ export PATH
$ ./autogen.sh
$ ./configure
I think the important part of the output from configure is:
checking for cppunit-config... no
checking for Cppunit - version >= 1.10.2... no
no. Unit and Integration tests disabled
In the past it was observed that newer versions of cppunit don't ship
with a cppunit-config script or if one is present it no longer works
with the autoconf tooling in ActiveMQ-CPP which is now unmaintained for
quite some time. It's quite likely you'd need to modify the autoconf
scripts to figure out where cppunit is installed on a modern linux
distro with a newer CPPUnit library that probably uses more current pkg
config data.
I have nary-a-clue when it comes to makefiles (and related). Can anybody point
me in the right direction?
Thanks,
--Jim
--
Tim Bish