changeset 140:40efe821932a

fix LSB build
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 01 Mar 2024 16:17:51 +0100
parents 6f31581bd122
children 3e9cced85a5b
files Aws/README.txt Aws/holy-build-box-compile.sh Aws/holy-build-box-internal.sh Common/Resources/Orthanc/CMake/AutoGeneratedCode.cmake Common/Resources/Orthanc/CMake/Compiler.cmake Common/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake Common/Resources/Orthanc/CMake/DownloadPackage.cmake Common/Resources/Orthanc/CMake/EmbedResources.py Common/Resources/Orthanc/CMake/GoogleTestConfiguration.cmake Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h Common/Resources/Orthanc/Plugins/OrthancPluginException.h Common/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake Common/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake Common/Resources/Orthanc/Toolchains/MinGWToolchain.cmake Common/Resources/SyncOrthancFolder.py
diffstat 18 files changed, 53 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/Aws/README.txt	Wed Dec 20 22:29:35 2023 +0100
+++ b/Aws/README.txt	Fri Mar 01 16:17:51 2024 +0100
@@ -6,3 +6,9 @@
 # cd Build
 # cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_VCPKG_PACKAGES=OFF -G Ninja
 # ninja
+
+
+Linux Standard Base compilation
+===============================
+
+# ./holy-build-box-compile.sh Release
--- a/Aws/holy-build-box-compile.sh	Wed Dec 20 22:29:35 2023 +0100
+++ b/Aws/holy-build-box-compile.sh	Fri Mar 01 16:17:51 2024 +0100
@@ -41,7 +41,7 @@
 
 ROOT_DIR=`dirname $(readlink -f $0)`/..
 
-DOCKER_IMAGE=phusion/holy-build-box-64:3.0.0
+DOCKER_IMAGE=phusion/holy-build-box-64:3.0.5
 
 mkdir -p ${ROOT_DIR}/holy-build-box
 
--- a/Aws/holy-build-box-internal.sh	Wed Dec 20 22:29:35 2023 +0100
+++ b/Aws/holy-build-box-internal.sh	Fri Mar 01 16:17:51 2024 +0100
@@ -44,7 +44,7 @@
 cp /source/Aws/* /tmp/source-writeable/Aws/ || true  # Ignore error about omitting directories
 
 cmake /tmp/source-writeable/Aws/ \
-      -DORTHANC_FRAMEWORK_VERSION=1.9.3 \
+      -DORTHANC_FRAMEWORK_VERSION=1.12.3 \
       -DORTHANC_FRAMEWORK_SOURCE=web \
       -DCMAKE_BUILD_TYPE=$1 -DSTATIC_BUILD=ON
 
--- a/Common/Resources/Orthanc/CMake/AutoGeneratedCode.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/AutoGeneratedCode.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/CMake/Compiler.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/Compiler.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
@@ -43,6 +43,13 @@
   # use by "ExternalProject" in CMake
   SET(CMAKE_LSB_CC $ENV{LSB_CC} CACHE STRING "")
   SET(CMAKE_LSB_CXX $ENV{LSB_CXX} CACHE STRING "")
+
+  # This is necessary to build "Orthanc mainline - Framework LSB
+  # Release" on "buildbot-worker-debian11"
+  set(LSB_PTHREAD_NONSHARED "${LSB_PATH}/lib64-${LSB_TARGET_VERSION}/libpthread_nonshared.a")
+  if (EXISTS ${LSB_PTHREAD_NONSHARED})
+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LSB_PTHREAD_NONSHARED}")
+  endif()
 endif()
 
 
@@ -124,12 +131,17 @@
     ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR
     ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
 
-  if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" AND
+  if (# NOT ${CMAKE_SYSTEM_VERSION} STREQUAL "LinuxStandardBase" AND
+      NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" AND
       NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
     # The "--no-undefined" linker flag makes the shared libraries
     # (plugins ModalityWorklists and ServeFolders) fail to compile on
     # OpenBSD, and make the PostgreSQL plugin complain about missing
-    # "environ" global variable in FreeBSD
+    # "environ" global variable in FreeBSD.
+    #
+    # TODO - Furthermore, on Linux Standard Base running on Debian 12,
+    # the "-Wl,--no-undefined" seems to break the compilation (added
+    # after Orthanc 1.12.2). This is disabled for now.
     set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
   endif()
--- a/Common/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
@@ -160,6 +160,8 @@
         set(ORTHANC_FRAMEWORK_MD5 "8a435140efc8ff4a01d8242f092f21de")
       elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.12.2")
         set(ORTHANC_FRAMEWORK_MD5 "d2476b9e796e339ac320b5333489bdb3")
+      elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.12.3")
+        set(ORTHANC_FRAMEWORK_MD5 "975f5bf2142c22cb1777b4f6a0a614c5")
 
       # Below this point are development snapshots that were used to
       # release some plugin, before an official release of the Orthanc
--- a/Common/Resources/Orthanc/CMake/DownloadPackage.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/DownloadPackage.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/CMake/EmbedResources.py	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/EmbedResources.py	Fri Mar 01 16:17:51 2024 +0100
@@ -3,8 +3,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/CMake/GoogleTestConfiguration.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/CMake/GoogleTestConfiguration.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp	Fri Mar 01 16:17:51 2024 +0100
@@ -2,8 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2023 Osimis S.A., Belgium
- * Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+ * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
--- a/Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h	Fri Mar 01 16:17:51 2024 +0100
@@ -2,8 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2023 Osimis S.A., Belgium
- * Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+ * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
--- a/Common/Resources/Orthanc/Plugins/OrthancPluginException.h	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Plugins/OrthancPluginException.h	Fri Mar 01 16:17:51 2024 +0100
@@ -2,8 +2,8 @@
  * Orthanc - A Lightweight, RESTful DICOM Store
  * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
  * Department, University Hospital of Liege, Belgium
- * Copyright (C) 2017-2023 Osimis S.A., Belgium
- * Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+ * Copyright (C) 2017-2024 Osimis S.A., Belgium
+ * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
  *
  * This program is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
--- a/Common/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU General Public License as
--- a/Common/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/Orthanc/Toolchains/MinGWToolchain.cmake	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/Orthanc/Toolchains/MinGWToolchain.cmake	Fri Mar 01 16:17:51 2024 +0100
@@ -1,8 +1,8 @@
 # Orthanc - A Lightweight, RESTful DICOM Store
 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
 # Department, University Hospital of Liege, Belgium
-# Copyright (C) 2017-2023 Osimis S.A., Belgium
-# Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
+# Copyright (C) 2017-2024 Osimis S.A., Belgium
+# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
 #
 # This program is free software: you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public License
--- a/Common/Resources/SyncOrthancFolder.py	Wed Dec 20 22:29:35 2023 +0100
+++ b/Common/Resources/SyncOrthancFolder.py	Fri Mar 01 16:17:51 2024 +0100
@@ -11,7 +11,7 @@
 import urllib.request
 
 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc')
-PLUGIN_SDK_VERSION = '1.12.1'
+PLUGIN_SDK_VERSION = '1.12.3'
 REPOSITORY = 'https://orthanc.uclouvain.be/hg/orthanc/raw-file'
 
 FILES = [