From 367dabeda028d033634e6df1e9631620c868b1fa Mon Sep 17 00:00:00 2001 From: Mircho Rodozov Date: Wed, 9 Jun 2021 15:02:14 +0200 Subject: [PATCH] Patch tkonline to bring pure virtual functions --- tkonlinesw-bring-pvf.patch | 24 ++++++++++++++++++++++++ tkonlinesw.spec | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 tkonlinesw-bring-pvf.patch diff --git a/tkonlinesw-bring-pvf.patch b/tkonlinesw-bring-pvf.patch new file mode 100644 index 00000000000..8e821f2f446 --- /dev/null +++ b/tkonlinesw-bring-pvf.patch @@ -0,0 +1,24 @@ +diff --git a/TrackerOnline/Fed9U/Fed9USoftware/Fed9UUtils/include/Fed9UUtils.hh b/TrackerOnline/Fed9U/Fed9USoftware/Fed9UUtils/include/Fed9UUtils.hh +index ca2f0eb..c7a6b45 100644 +--- a/TrackerOnline/Fed9U/Fed9USoftware/Fed9UUtils/include/Fed9UUtils.hh ++++ b/TrackerOnline/Fed9U/Fed9USoftware/Fed9UUtils/include/Fed9UUtils.hh +@@ -4789,7 +4789,8 @@ namespace Fed9U { + * + * \todo check numbering scheme (internal or external). + */ +- virtual u32 getAllApvDisables(const Fed9UAddress&) { ICUTILS_VERIFY(0).msg("Method unimplemented in base class. Implement in derived class").error(); return 0;} ++ virtual u32 getAllApvDisables(const Fed9UAddress&) const = 0; ++ //virtual u32 getAllApvDisables(const Fed9UAddress&) { ICUTILS_VERIFY(0).msg("Method unimplemented in base class. Implement in derived class").error(); return 0;} + + /** + * \brief Returns the maximum buffer size that could be required by the Fed9UVmeDevice::getCompleteEvent method. +@@ -4850,7 +4851,8 @@ namespace Fed9U { + * \brief Returns the base of the FED in the crate. + * \return u32 Contains the value of the FED base address. + */ +- virtual u32 getBaseAddress() { ICUTILS_VERIFY(0).msg("Method unimplemented in base class. Implement in derived class").error(); return 0;} ++ virtual u32 getBaseAddress() const = 0; ++ //virtual u32 getBaseAddress() { ICUTILS_VERIFY(0).msg("Method unimplemented in base class. Implement in derived class").error(); return 0;} + + /** + * \brief Number of the crate that the FED is located in. diff --git a/tkonlinesw.spec b/tkonlinesw.spec index ceab74d7c14..90cdc97a1ce 100644 --- a/tkonlinesw.spec +++ b/tkonlinesw.spec @@ -4,7 +4,7 @@ Source0: http://cms-trackerdaq-service.web.cern.ch/cms-trackerdaq-service/download/sources/trackerDAQ-%{realversion}.tgz Patch0: tkonlinesw-2.7.0-macosx Patch1: tkonlinesw-4.0-clang-hash_map - +Patch2: tkonlinesw-bring-pvf # NOTE: given how broken the standard build system is # on macosx, it's not worth fixing it. # The 4 libraries we need can be built with the @@ -24,6 +24,7 @@ Requires: root %prep %setup -q -n %releasename %patch1 -p1 +%patch2 -p1 case %cmsos in osx*) %patch0 -p1