From e98674e009039762532841e0b860dd75019fe8d5 Mon Sep 17 00:00:00 2001
From: Steven Murray <Steven.Murray@cern.ch>
Date: Mon, 14 Sep 2020 20:38:42 +0200
Subject: [PATCH] cta/CTA#877 ObjectStore.RetrieveQueueAlgorithms unit tests
 fails or succeeds base on version of cmake

As suggested by Michal I've added the missing declaration of the
full specialised getElementSummary() method.  This fixes the
problem.  Where there were two "defined" symbols now there is
only one:

[itctabuild02] CTA (master) > nm /lib64/libctaobjectstoreunittests.so.0 | grep _ZN3cta11objectstore15ContainerTraitsINS0_13RetrieveQueueENS0_23RetrieveQueueToTransferEE17getElementSummaryERKNS4_13PoppedElementE
                 U _ZN3cta11objectstore15ContainerTraitsINS0_13RetrieveQueueENS0_23RetrieveQueueToTransferEE17getElementSummaryERKNS4_13PoppedElementE
[itctabuild02] CTA (master) > nm /lib64/libctaobjectstore.so.0 | grep _ZN3cta11objectstore15ContainerTraitsINS0_13RetrieveQueueENS0_23RetrieveQueueToTransferEE17getElementSummaryERKNS4_13PoppedElementE
000000000047afa8 T _ZN3cta11objectstore15ContainerTraitsINS0_13RetrieveQueueENS0_23RetrieveQueueToTransferEE17getElementSummaryERKNS4_13PoppedElementE
[itctabuild02] CTA (master) >
---
 objectstore/RetrieveQueueAlgorithms.hpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/objectstore/RetrieveQueueAlgorithms.hpp b/objectstore/RetrieveQueueAlgorithms.hpp
index 828e0dba4c..18e7f27cfb 100644
--- a/objectstore/RetrieveQueueAlgorithms.hpp
+++ b/objectstore/RetrieveQueueAlgorithms.hpp
@@ -573,4 +573,8 @@ auto ContainerTraits<RetrieveQueue,RetrieveQueueToTransfer>::
 getPoppingElementsCandidates(Container &cont, PopCriteria &unfulfilledCriteria, ElementsToSkipSet &elementsToSkip,
   log::LogContext &lc) -> PoppedElementsBatch;
 
+template<>
+auto ContainerTraits<RetrieveQueue,RetrieveQueueToTransfer>::
+getElementSummary(const PoppedElement &poppedElement) -> PoppedElementsSummary;
+
 }} // namespace cta::objectstore
-- 
GitLab