diff --git a/.gitlab/ci/build.gitlab-ci.yml b/.gitlab/ci/build.gitlab-ci.yml
index f8958d59ab8a6c84e021c387dc05bfdde0127fbf..92a614067ed989013310e89330baafba29f41cd2 100644
--- a/.gitlab/ci/build.gitlab-ci.yml
+++ b/.gitlab/ci/build.gitlab-ci.yml
@@ -15,8 +15,8 @@
   extends:
     - .cta_build
   script:
-    - yum install -y devtoolset-8 cmake3 make rpm-build git
-    - source /opt/rh/devtoolset-8/enable
+    - yum install -y devtoolset-11 cmake3 make rpm-build git
+    - source /opt/rh/devtoolset-11/enable
     - git submodule update --init --recursive
     - mkdir build_srpm
     - cd build_srpm
@@ -29,10 +29,10 @@
   extends:
     - .cta_build
   script:
-    - yum install -y devtoolset-8 cmake3 make rpm-build
+    - yum install -y devtoolset-11 cmake3 make rpm-build
     - yum -y install yum-plugin-priorities yum-plugin-versionlock
     - yum install -y git
-    - source /opt/rh/devtoolset-8/enable
+    - source /opt/rh/devtoolset-11/enable
     - git submodule update --init --recursive
     - cd xrootd-ssi-protobuf-interface && export XROOTD_SSI_PROTOBUF_INTERFACE_VERSION=$(git describe --tags --abbrev=0) && cd ..
     - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum/pluginconf.d/versionlock.list /etc/yum/pluginconf.d/
diff --git a/.gitlab/ci/tagged.gitlab-ci.yml b/.gitlab/ci/tagged.gitlab-ci.yml
index 910e7640acf189bd5113494e1612726efbac214c..2ec8777327ba40b50cbb084946a35846ae6508f3 100644
--- a/.gitlab/ci/tagged.gitlab-ci.yml
+++ b/.gitlab/ci/tagged.gitlab-ci.yml
@@ -8,10 +8,10 @@ cta_tagged_rpm:
     - if [ -z "${CI_COMMIT_TAG}" ]; then echo "This is not a tagged commit, exiting"; exit 0; fi
     - echo "Building package for tag ${CI_COMMIT_TAG}. CTA_VERSION=${TAG_VERSION} - CTA_RELEASE=${TAG_RELEASE}"
     - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum.repos.d/*.repo /etc/yum.repos.d/
-    - yum install -y devtoolset-8 cmake3 make rpm-build
+    - yum install -y devtoolset-11 cmake3 make rpm-build
     - yum -y install yum-plugin-priorities yum-plugin-versionlock
     - yum install -y git
-    - source /opt/rh/devtoolset-8/enable
+    - source /opt/rh/devtoolset-11/enable
     - git submodule update --init --recursive
     - cd xrootd-ssi-protobuf-interface && export XROOTD_SSI_PROTOBUF_INTERFACE_VERSION=$(git describe --tags --abbrev=0) && cd ..
     - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum/pluginconf.d/versionlock.list /etc/yum/pluginconf.d/
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 509d2c9e5f4a65c107cc1c5dd394a50310fad999..2b1ace040e80770765ef956561bfe25e1ee721fd 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -2,6 +2,7 @@
 
 ### Features
 - cta/CTA#78 - Remove gRPC and ability to change the storage class in EOS from the cta-change-storage-class C++ script
+- cta/CTA#342 - Compile CTA using devtoolset-11
 
 ### Bug Fixes
 - cta/CTA#259 - cta-rmcd should not exit if /dev/sg0 is missing
diff --git a/catalogue/DropSchemaCmd.cpp b/catalogue/DropSchemaCmd.cpp
index 891431ca362b3b699bdb50e77746e0634f99632c..2c240e7354bc176a2b1224a8c3985cb59e52f763 100644
--- a/catalogue/DropSchemaCmd.cpp
+++ b/catalogue/DropSchemaCmd.cpp
@@ -130,7 +130,7 @@ void DropSchemaCmd::dropDatabaseTables(rdbms::Conn &conn) {
       droppedAtLeastOneTable = false;
       auto tables = conn.getTableNames();
       tables.remove("CTA_CATALOGUE");  // Remove CTA_CATALOGUE to drop it at the end
-      for (const auto table : tables) {
+      for (const auto& table : tables) {
         try {
           conn.executeNonQuery(std::string("DROP TABLE ") + table);
           m_out << "Dropped table " << table << std::endl;
diff --git a/catalogue/TapeDrivesCatalogueState.hpp b/catalogue/TapeDrivesCatalogueState.hpp
index e7605d48099934a7d81c251d036145db924cb5f7..ab4fe383db677d1ca96068b4a24f3b9ba72c6b3f 100644
--- a/catalogue/TapeDrivesCatalogueState.hpp
+++ b/catalogue/TapeDrivesCatalogueState.hpp
@@ -18,6 +18,7 @@
 #pragma once
 
 #include <limits>
+#include <optional>
 #include <string>
 
 #include "common/dataStructures/DriveStatus.hpp"
diff --git a/catalogue/interfaces/TapeFileCatalogue.hpp b/catalogue/interfaces/TapeFileCatalogue.hpp
index fbad28d44161cfe33c587751c4d064cd10be9e77..ee9f72d1d7ecd0953a575bf699f84eb065f25b8a 100644
--- a/catalogue/interfaces/TapeFileCatalogue.hpp
+++ b/catalogue/interfaces/TapeFileCatalogue.hpp
@@ -17,6 +17,7 @@
 
 #pragma once
 
+#include <optional>
 #include <set>
 #include <string>
 
diff --git a/common/dataStructures/LifecycleTimings.cpp b/common/dataStructures/LifecycleTimings.cpp
index e9036405e362c09f0283c870e908d44fa4211c57..a46d370957d5054d0187318712f22577c435c26a 100644
--- a/common/dataStructures/LifecycleTimings.cpp
+++ b/common/dataStructures/LifecycleTimings.cpp
@@ -22,10 +22,18 @@ namespace dataStructures{
 
 LifecycleTimings::LifecycleTimings() : creation_time(0), first_selected_time(0), completed_time(0) {}
 
-LifecycleTimings::LifecycleTimings(const LifecycleTimings& orig): creation_time(orig.creation_time), first_selected_time(orig.first_selected_time), completed_time(orig.completed_time) {
+LifecycleTimings::LifecycleTimings(const LifecycleTimings& orig)
+  : creation_time(orig.creation_time),
+    first_selected_time(orig.first_selected_time),
+    completed_time(orig.completed_time) {
 }
 
-LifecycleTimings::~LifecycleTimings() {
+// Assignment operator
+LifecycleTimings LifecycleTimings::operator=(const LifecycleTimings& orig) {
+  creation_time = orig.creation_time;
+  first_selected_time = orig.first_selected_time;
+  completed_time = orig.completed_time;
+  return *this;
 }
 
 time_t LifecycleTimings::getTimeForSelection(){
diff --git a/common/dataStructures/LifecycleTimings.hpp b/common/dataStructures/LifecycleTimings.hpp
index a690266581e4dc2e693f12003d92c94d9b08d1a4..66849f1626fe67339cf466df51cd3665a227f17f 100644
--- a/common/dataStructures/LifecycleTimings.hpp
+++ b/common/dataStructures/LifecycleTimings.hpp
@@ -30,7 +30,8 @@ class LifecycleTimings {
 public:
   LifecycleTimings();
   LifecycleTimings(const LifecycleTimings& orig);
-  virtual ~LifecycleTimings();
+  LifecycleTimings operator=(const LifecycleTimings& orig);
+  virtual ~LifecycleTimings() = default;
   /**
    * Returns the elapsed time between the creation of the request
    * and the selection of the request for mounting
diff --git a/common/dataStructures/MountPolicy.cpp b/common/dataStructures/MountPolicy.cpp
index 1688dff40d7995f640e64107e7fcf101127366c7..0411e1b83c56eb486e07315683ff4e6281ea60e2 100644
--- a/common/dataStructures/MountPolicy.cpp
+++ b/common/dataStructures/MountPolicy.cpp
@@ -37,6 +37,18 @@ MountPolicy::MountPolicy(const std::string& name, const uint64_t archivePriority
   const uint64_t retrievePriority, const uint64_t retrieveMinRequestAge)
   : name(name), archivePriority(archivePriority), archiveMinRequestAge(archiveMinRequestAge),
     retrievePriority(retrievePriority), retrieveMinRequestAge(retrieveMinRequestAge) {}
+
+MountPolicy::MountPolicy(const MountPolicy& other) {
+  this->archiveMinRequestAge = other.archiveMinRequestAge;
+  this->archivePriority = other.archivePriority;
+  this->comment = other.comment;
+  this->creationLog = other.creationLog;
+  this->lastModificationLog = other.lastModificationLog;
+  this->name = other.name;
+  this->retrieveMinRequestAge = other.retrieveMinRequestAge;
+  this->retrievePriority = other.retrievePriority;
+}
+
 //------------------------------------------------------------------------------
 // operator==
 //------------------------------------------------------------------------------
diff --git a/common/dataStructures/MountPolicy.hpp b/common/dataStructures/MountPolicy.hpp
index ff78e7f95ed270ba8bd95395aa351482ebae03c5..f3a81264836477f9c5976af9e50559195c81aeed 100644
--- a/common/dataStructures/MountPolicy.hpp
+++ b/common/dataStructures/MountPolicy.hpp
@@ -35,6 +35,8 @@ namespace dataStructures {
 struct MountPolicy {
   MountPolicy();
 
+  MountPolicy(const MountPolicy& other);
+
   bool operator==(const MountPolicy &rhs) const;
 
   bool operator!=(const MountPolicy &rhs) const;
diff --git a/common/dataStructures/RetrieveFileQueueCriteria.cpp b/common/dataStructures/RetrieveFileQueueCriteria.cpp
index d55292bbf6498c65d69440f6954d12eb667e9109..fea8be87dba6f181db471cb90147d4a96fe17250 100644
--- a/common/dataStructures/RetrieveFileQueueCriteria.cpp
+++ b/common/dataStructures/RetrieveFileQueueCriteria.cpp
@@ -28,4 +28,10 @@ RetrieveFileQueueCriteria& RetrieveFileQueueCriteria::operator=(const RetrieveFi
     return *this;
 }
 
+// Copy constructor
+RetrieveFileQueueCriteria::RetrieveFileQueueCriteria(const RetrieveFileQueueCriteria& other){
+    this->archiveFile = other.archiveFile;
+    this->mountPolicy = other.mountPolicy;
+}
+
 }}}
\ No newline at end of file
diff --git a/common/dataStructures/RetrieveFileQueueCriteria.hpp b/common/dataStructures/RetrieveFileQueueCriteria.hpp
index 231e47110a469848be3cecccf7375302307d6769..b2f5cfdc725e0823095cb0ec4a080e51b469d166 100644
--- a/common/dataStructures/RetrieveFileQueueCriteria.hpp
+++ b/common/dataStructures/RetrieveFileQueueCriteria.hpp
@@ -41,6 +41,10 @@ struct RetrieveFileQueueCriteria {
    * The mount policy.
    */
   MountPolicy mountPolicy;
+
+  RetrieveFileQueueCriteria() = default;
+   
+  RetrieveFileQueueCriteria(const RetrieveFileQueueCriteria& other);
   
   RetrieveFileQueueCriteria &operator=(const RetrieveFileQueueCriteria& other);
 
diff --git a/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh b/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh
index ba93ae9a248f373c402ac9080e79f90fa2f5daaf..d8c903d064d20a7e7a175bb34bac496b3dfa7ed1 100755
--- a/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh
+++ b/continuousintegration/buildtree_runner/eos/buildEosDependencies.sh
@@ -17,7 +17,7 @@
 
 set -e
 
-DEVTOOLSET_ENABLE_SCRIPT=/opt/rh/devtoolset-8/enable
+DEVTOOLSET_ENABLE_SCRIPT=/opt/rh/devtoolset-11/enable
 EOS_BUILD_DIR=~/eos_build
 EOS_SRC_DIR=~/eos
 
diff --git a/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md b/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md
index 27f23ebb5262d0098ede7337958f76f4262191f0..48c27104f5cc0f4bfdfa95653a3d13ba71e44921 100644
--- a/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md
+++ b/continuousintegration/buildtree_runner/vmBootstrap/InstallCTAEnvironment.md
@@ -44,7 +44,7 @@ cat gitScripts/bash_profile.hook >> ~/.bash_profile
 source ~/.bash_profile
 cp tigConf/tigrc ~/.tigrc
 yum install -y centos-release-scl-rh
-yum install -y git cmake rpm-build devtoolset-8 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock
+yum install -y git cmake rpm-build devtoolset-11 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock
 ```
 4. Bootstrap CTA :
 ```bash
@@ -63,7 +63,7 @@ Go to the CTA parent's folder and type
 ```bash
 mkdir CTA-build-srpm
 cd CTA-build-srpm
-source /opt/rh/devtoolset-8/enable
+source /opt/rh/devtoolset-11/enable
 cmake -DPackageOnly:Bool=true ../CTA
 make cta_srpm
 ```
@@ -99,7 +99,7 @@ sudo yum install -y mhvtl-utils kmod-mhvtl mhvtl-utils --enablerepo=castor
 11. Build CTA
 Create a directory near the CTA one called CTA-build, go into it and type
 ```bash
-source /opt/rh/devtoolset-8/enable
+source /opt/rh/devtoolset-11/enable
 cmake ../CTA
 make -j 4
 ```
diff --git a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh
index 65b726ae3078ceb2f04366e92f83393252f26f70..02f58278ef52b146b223793a3c3a7581bc20068d 100755
--- a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh
+++ b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapCTA.sh
@@ -23,8 +23,8 @@ if [[ $1 == "cern" ]]; then
   echo Going to install from internal CERN repositories
 fi
 
-echo Enabling devtoolset-8
-source /opt/rh/devtoolset-8/enable
+echo Enabling devtoolset-11
+source /opt/rh/devtoolset-11/enable
 
 echo Preparing CTA sources...
 cd ~/CTA
diff --git a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh
index aea993b39517d4c029c745890779287e52ab598a..54d4b6ff35db04cee144465047f95279c7592336 100755
--- a/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh
+++ b/continuousintegration/buildtree_runner/vmBootstrap/bootstrapSystem.sh
@@ -44,7 +44,7 @@ sudo -u $CTAUSER cp tigConf/tigrc $CTAUSERHOME/.tigrc
 
 echo Installing minimal tools and tape tools
 sudo yum install -y centos-release-scl-rh
-sudo yum install -y git cmake cmake3 rpm-build devtoolset-8 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock krb5-workstation wget yum-utils epel-release
+sudo yum install -y git cmake cmake3 rpm-build devtoolset-11 vim gdb cgdb strace ltrace screen tig lsscsi mt-st mtx sg3_utils jq psmisc yum-plugin-versionlock krb5-workstation wget yum-utils epel-release
 
 echo "Getting CTA sources for $CTAUSER..."
 sudo -u $CTAUSER bash -c 'cd ~ ; git clone https://gitlab.cern.ch/cta/CTA.git'
diff --git a/frontend-grpc/RequestMessage.hpp b/frontend-grpc/RequestMessage.hpp
index 4c4fc2c1e93f5a325ca7ccace3559abd76283dc8..0e5fb7281bd0973f996d04aeae0f1b50618fdecb 100644
--- a/frontend-grpc/RequestMessage.hpp
+++ b/frontend-grpc/RequestMessage.hpp
@@ -20,6 +20,7 @@
 #include "cta_grpc_frontend.grpc.pb.h"
 
 #include <map>
+#include <optional>
 #include <string>
 
 namespace cta {
diff --git a/frontend/common/Config.hpp b/frontend/common/Config.hpp
index 16886dc3a5c18093cd7bb4d9f44e43a2f6bac31a..e59300fb19722e8af69bcb92ea976741932720ec 100644
--- a/frontend/common/Config.hpp
+++ b/frontend/common/Config.hpp
@@ -18,6 +18,7 @@
 #pragma once
 
 #include <map>
+#include <optional>
 #include <sstream>
 
 namespace cta {
diff --git a/objectstore/ArchiveFileSerDeser.hpp b/objectstore/ArchiveFileSerDeser.hpp
index 9d9421a4168823d220c53905f51a9b5095485db0..0afbbd18366ac836e1a7d2762b97ff34abd5f324 100644
--- a/objectstore/ArchiveFileSerDeser.hpp
+++ b/objectstore/ArchiveFileSerDeser.hpp
@@ -35,9 +35,7 @@ class ArchiveFileSerDeser: public cta::common::dataStructures::ArchiveFile {
 public:
   ArchiveFileSerDeser (): cta::common::dataStructures::ArchiveFile() {}
   ArchiveFileSerDeser (const cta::common::dataStructures::ArchiveFile & af): cta::common::dataStructures::ArchiveFile(af) {}
-  operator cta::common::dataStructures::ArchiveFile() {
-    return cta::common::dataStructures::ArchiveFile(*this);
-  } 
+
   void serialize (cta::objectstore::serializers::ArchiveFile & osaf) const {
     osaf.set_archivefileid(archiveFileID);
     osaf.set_creationtime(creationTime);
diff --git a/objectstore/ArchiveRequest.cpp b/objectstore/ArchiveRequest.cpp
index a24cebae7900af87761a0d36c266d39c70940a42..45ff825f2af454883ef85708040bfb8754a6f275 100644
--- a/objectstore/ArchiveRequest.cpp
+++ b/objectstore/ArchiveRequest.cpp
@@ -959,7 +959,7 @@ void ArchiveRequest::setRepackInfo(const RepackInfo& repackInfo){
   repackInfoToWrite->set_repack_request_address(repackInfo.repackRequestAddress);
   repackInfoToWrite->set_file_buffer_url(repackInfo.fileBufferURL);
   repackInfoToWrite->set_fseq(repackInfo.fSeq);
-  for(const auto kv: repackInfo.jobsDestination){
+  for(const auto& kv: repackInfo.jobsDestination){
     auto jobDestination = repackInfoToWrite->mutable_jobs_destination()->Add();
     jobDestination->set_copy_nb(kv.first);
     jobDestination->set_destination_vid(kv.second);
diff --git a/objectstore/ArchiveRequest.hpp b/objectstore/ArchiveRequest.hpp
index 761b722c67b5e09d73fdfee1deb2152176a4c9ac..0ad88e56d2990921019e01312e17f2d0b6d384e3 100644
--- a/objectstore/ArchiveRequest.hpp
+++ b/objectstore/ArchiveRequest.hpp
@@ -162,7 +162,6 @@ public:
       const std::optional<serializers::ArchiveJobStatus>& newStatus);
 
   struct RepackInfoSerDeser: public RepackInfo {
-    operator RepackInfo() { return RepackInfo(*this); }
     void serialize(cta::objectstore::serializers::ArchiveRequestRepackInfo & arri) {
       if (!isRepack) throw exception::Exception("In ArchiveRequest::RepackInfoSerDeser::serialize(): isRepack is false.");
       arri.set_repack_request_address(repackRequestAddress);
diff --git a/objectstore/DiskFileInfoSerDeser.hpp b/objectstore/DiskFileInfoSerDeser.hpp
index ced51b0261cbce90b73cd12b859cd598e104f8fe..04d2cd95b8b5aa00989d277c9f23f1d0fbcfd8d5 100644
--- a/objectstore/DiskFileInfoSerDeser.hpp
+++ b/objectstore/DiskFileInfoSerDeser.hpp
@@ -33,10 +33,6 @@ struct DiskFileInfoSerDeser: public cta::common::dataStructures::DiskFileInfo {
   DiskFileInfoSerDeser() : cta::common::dataStructures::DiskFileInfo() {}
   DiskFileInfoSerDeser(const cta::common::dataStructures::DiskFileInfo &dfi) : cta::common::dataStructures::DiskFileInfo(dfi) {}
 
-  operator cta::common::dataStructures::DiskFileInfo() {
-    return cta::common::dataStructures::DiskFileInfo(*this);
-  }
-
   void serialize (cta::objectstore::serializers::DiskFileInfo & osdfi) const {
     osdfi.set_path(path);
     osdfi.set_owner_uid(owner_uid);
diff --git a/objectstore/EntryLogSerDeser.hpp b/objectstore/EntryLogSerDeser.hpp
index 1ab8b2e1af96a691f032b8c33016b0e07ea9bb3a..825cd9307ab5bfe265f0772813254e80057a0287 100644
--- a/objectstore/EntryLogSerDeser.hpp
+++ b/objectstore/EntryLogSerDeser.hpp
@@ -38,9 +38,7 @@ public:
     host=hn;
     time=t;
   }
-  operator cta::common::dataStructures::EntryLog() {
-    return cta::common::dataStructures::EntryLog(*this);
-  } 
+
   void serialize (cta::objectstore::serializers::EntryLog & log) const {
     log.set_username(username);
     log.set_host(host);
diff --git a/objectstore/LifecycleTimingsSerDeser.hpp b/objectstore/LifecycleTimingsSerDeser.hpp
index 7e3cc8cb8b5e4e1b0e5c68c1d0b96d792a72e392..a2710b5fdecf813ae47995324a890e41bb5e15f4 100644
--- a/objectstore/LifecycleTimingsSerDeser.hpp
+++ b/objectstore/LifecycleTimingsSerDeser.hpp
@@ -22,9 +22,11 @@ namespace objectstore{
     public:
       LifecycleTimingsSerDeser() : cta::common::dataStructures::LifecycleTimings() {}
       LifecycleTimingsSerDeser(const cta::common::dataStructures::LifecycleTimings& lifecycleTimings) : cta::common::dataStructures::LifecycleTimings(lifecycleTimings) {}
-      operator cta::common::dataStructures::LifecycleTimings() {
-	return cta::common::dataStructures::LifecycleTimings(*this);
-      } 
+
+      // Assignment operator
+      LifecycleTimingsSerDeser operator=(const cta::common::dataStructures::LifecycleTimings& lifecycleTimings) {
+            return cta::common::dataStructures::LifecycleTimings(*this);
+      }
 
       void deserialize(const cta::objectstore::serializers::LifecycleTimings& ostoreLifecycleTimings){
 	completed_time = ostoreLifecycleTimings.completed_time();
diff --git a/objectstore/MountPolicySerDeser.hpp b/objectstore/MountPolicySerDeser.hpp
index bc63249018553596a6248c74146ea9118aef1c87..45161f52b254f37bb303ecafd33ef48b7f6fb495 100644
--- a/objectstore/MountPolicySerDeser.hpp
+++ b/objectstore/MountPolicySerDeser.hpp
@@ -33,9 +33,7 @@ class MountPolicySerDeser: public cta::common::dataStructures::MountPolicy {
 public:
   MountPolicySerDeser (): cta::common::dataStructures::MountPolicy() {}
   MountPolicySerDeser (const cta::common::dataStructures::MountPolicy & mp): cta::common::dataStructures::MountPolicy(mp) {}
-  operator cta::common::dataStructures::MountPolicy() {
-    return cta::common::dataStructures::MountPolicy(*this);
-  }
+
   void serialize (cta::objectstore::serializers::MountPolicy & osmp) const {
     osmp.set_name(name);
     osmp.set_archivepriority(archivePriority);
diff --git a/objectstore/RetrieveRequest.hpp b/objectstore/RetrieveRequest.hpp
index 914006646a225ff572a295f21eb792d8a7b9bd8b..7f328018918db31d67172d70a83ec5befe9c1d28 100644
--- a/objectstore/RetrieveRequest.hpp
+++ b/objectstore/RetrieveRequest.hpp
@@ -160,7 +160,6 @@ public:
   RepackInfo getRepackInfo();
 
   struct RepackInfoSerDeser: public RepackInfo {
-    operator RepackInfo() { return RepackInfo(*this); }
     void serialize(cta::objectstore::serializers::RetrieveRequestRepackInfo & rrri) {
       if (!isRepack) throw exception::Exception("In RetrieveRequest::RepackInfoSerDeser::serialize(): isRepack is false.");
       for (auto &route: archiveRouteMap) {
diff --git a/objectstore/RootEntry.cpp b/objectstore/RootEntry.cpp
index cf18982171f8c3b1e60123f90eb3c67e881f9b86..a3c439f216dccf7bf5081b29ef7d565dd11acdc2 100644
--- a/objectstore/RootEntry.cpp
+++ b/objectstore/RootEntry.cpp
@@ -15,6 +15,8 @@
  *               submit itself to any jurisdiction.
  */
 
+#include <thread>
+
 #include <cxxabi.h>
 #include <google/protobuf/util/json_util.h>
 
diff --git a/objectstore/TapeFileSerDeser.hpp b/objectstore/TapeFileSerDeser.hpp
index 6a189425b82f945bd26199289c9555b2c18387f8..2fdcb4d356a4e8b7b93defa238298afa153fab5a 100644
--- a/objectstore/TapeFileSerDeser.hpp
+++ b/objectstore/TapeFileSerDeser.hpp
@@ -33,9 +33,7 @@ class TapeFileSerDeser: public cta::common::dataStructures::TapeFile {
 public:
   TapeFileSerDeser (): cta::common::dataStructures::TapeFile() {}
   TapeFileSerDeser (const cta::common::dataStructures::TapeFile & tf): cta::common::dataStructures::TapeFile(tf) {}
-  operator cta::common::dataStructures::TapeFile() {
-    return cta::common::dataStructures::TapeFile(*this);
-  } 
+
   void serialize (cta::objectstore::serializers::TapeFile & ostf) const {
     ostf.set_vid(vid);
     ostf.set_fseq(fSeq);
diff --git a/tests/helgrind.suppr b/tests/helgrind.suppr
index 9c45ee92e658dc67c176a72d4c3e03dd8e8c6ea7..3d9e8f65eae48f7002fefe061f489c719d9250ac 100644
--- a/tests/helgrind.suppr
+++ b/tests/helgrind.suppr
@@ -901,3 +901,34 @@
   fun:_ZN6castor4tape10tapeserver6daemon13DiskWriteTaskD0Ev
   ...
 }
+
+{
+   <insert_a_suppression_name_here>
+   Helgrind:Race
+   fun:_ZNSsD1Ev
+   fun:_ZN6google8protobuf8internal14ArenaStringPtr14DestroyNoArenaEPKSs
+   fun:_ZN3cta11objectstore11serializers12ObjectHeader10SharedDtorEv
+   ...
+}
+
+{
+   <insert_a_suppression_name_here>
+   Helgrind:Misc
+   fun:do_futex_wait.constprop.1
+   fun:__new_sem_wait_slow.constprop.0
+   fun:sem_wait@@GLIBC_2.2.5
+   fun:sem_wait_WRK
+   fun:sem_wait@*
+   fun:_ZN3cta9threading14PosixSemaphore7acquireEv
+   fun:_ZN3cta8OStoreDB16delayIfNecessaryERNS_3log10LogContextE
+   ...
+}
+
+{                                                                                                        
+   <insert_a_suppression_name_here>
+   Helgrind:Race                              
+   fun:_ZN6google8protobuf8internal29InternalMetadataWithArenaBaseINS0_15UnknownFieldSetENS1_25InternalMetadataWithArenaEED1Ev
+   fun:_ZN6google8protobuf8internal25InternalMetadataWithArenaD1Ev
+   fun:_ZN3cta11objectstore11serializers8TapeFileD1Ev
+   ...
+}
\ No newline at end of file