Hi Sebastien, I'm not sure whether I just forwarded this patch to you but it seems it is not fixed yet (at least d/changelog is not closing it). Could you as upstream please work on this issue because you are considered more competent than any Debian Med member?
BTW, you can subscribe single packages in the "Package Tracking System" (PTS) to make sure you will not miss any relevant information. Kind regards Andreas. ----- Forwarded message from Adam Conrad <adcon...@debian.org> ----- Date: Tue, 05 Nov 2013 14:55:27 -0700 From: Adam Conrad <adcon...@debian.org> To: Debian Bug Tracking System <sub...@bugs.debian.org> Subject: Bug#728822: FTBFS on big-endian architectures, patches attached X-Debian-PR-Message: report 728822 X-Debian-PR-Package: orthanc X-Debian-PR-Keywords: patch X-Debian-PR-Source: orthanc Package: orthanc Version: 0.6.1-1 Severity: serious Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu trusty ubuntu-patch In Ubuntu, the attached patch was applied to achieve the following: * detect-endian.patch: Patch to correctly detect endianness of the current host architecture, inspired by upstream's incomplete fix. * fix-endian-png.patch: Patch from upstream to fix PngWriter and the associated tests on above detected big-endian architectures. The second patch in the series is a straight backport from upstream of their PngWriter and testsuite fix, and should be self-evident as such. The first patch was heavily inspired by upstream's fix[1] for endian detection, except that it does it correctly for all arches, instead of bizarrely assuming that only __powerpc__ is big-endian. Please forward this one to them as a more complete fix. If upstream is concerned that <endian.h> might not exist on Win32 (I have no way of checking this, so don't know), the extra include could be dropped, as <ctype.h> includes <endian.h> on Linux anyway. I just prefer to be explicit in my includes when using features, as implicit includes tend to bite you when linux or glibc upstream decide to move things around. :) ... Adam Conrad -- System Information: Debian Release: wheezy/sid APT prefers trusty-updates APT policy: (500, 'trusty-updates'), (500, 'trusty-security'), (500, 'trusty') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.12.0-1-generic (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash diff -Nru orthanc-0.6.1/debian/changelog orthanc-0.6.1/debian/changelog diff -Nru orthanc-0.6.1/debian/patches/detect-endian.patch orthanc-0.6.1/debian/patches/detect-endian.patch --- orthanc-0.6.1/debian/patches/detect-endian.patch 1969-12-31 17:00:00.000000000 -0700 +++ orthanc-0.6.1/debian/patches/detect-endian.patch 2013-11-05 14:47:35.000000000 -0700 @@ -0,0 +1,29 @@ +Description: Detect correct endianness of the host machine +Author: Adam Conrad <adcon...@ubuntu.com> +Forwarded: no + +--- orthanc-0.6.1.orig/UnitTests/main.cpp ++++ orthanc-0.6.1/UnitTests/main.cpp +@@ -3,6 +3,7 @@ + #include "gtest/gtest.h" + + #include <ctype.h> ++#include <endian.h> + + #include "../Core/Compression/ZlibCompressor.h" + #include "../Core/DicomFormat/DicomTag.h" +@@ -479,6 +480,14 @@ TEST(Toolbox, WriteFile) + ASSERT_THROW(Toolbox::ReadFile(u, path.c_str()), OrthancException); + } + ++TEST(Toolbox, Endianness) ++{ ++#if __BYTE_ORDER == __BIG_ENDIAN ++ ASSERT_EQ(Endianness_Big, Toolbox::DetectEndianness()); ++#else // __LITTLE_ENDIAN ++ ASSERT_EQ(Endianness_Little, Toolbox::DetectEndianness()); ++#endif ++} + + int main(int argc, char **argv) + { diff -Nru orthanc-0.6.1/debian/patches/fix-endian-png.patch orthanc-0.6.1/debian/patches/fix-endian-png.patch --- orthanc-0.6.1/debian/patches/fix-endian-png.patch 1969-12-31 17:00:00.000000000 -0700 +++ orthanc-0.6.1/debian/patches/fix-endian-png.patch 2013-11-05 14:46:54.000000000 -0700 @@ -0,0 +1,75 @@ +Description: Fix PngWriter and associated test on big-endian arches +Author: Adam Conrad <adcon...@ubuntu.com> +Origin: https://code.google.com/p/orthanc/source/detail?r=51892be15618cc934f099bf90c1180215d5778eb + +--- orthanc-0.6.1.orig/UnitTests/Png.cpp ++++ orthanc-0.6.1/UnitTests/Png.cpp +@@ -3,6 +3,7 @@ + #include <stdint.h> + #include "../Core/FileFormats/PngReader.h" + #include "../Core/FileFormats/PngWriter.h" ++#include "../Core/Toolbox.h" + + TEST(PngWriter, ColorPattern) + { +@@ -24,6 +25,11 @@ TEST(PngWriter, ColorPattern) + } + + w.WriteToFile("ColorPattern.png", width, height, pitch, Orthanc::PixelFormat_RGB24, &image[0]); ++ ++ std::string f, md5; ++ Orthanc::Toolbox::ReadFile(f, "ColorPattern.png"); ++ Orthanc::Toolbox::ComputeMD5(md5, f); ++ ASSERT_EQ("604e785f53c99cae6ea4584870b2c41d", md5); + } + + TEST(PngWriter, Gray8Pattern) +@@ -44,6 +50,11 @@ TEST(PngWriter, Gray8Pattern) + } + + w.WriteToFile("Gray8Pattern.png", width, height, pitch, Orthanc::PixelFormat_Grayscale8, &image[0]); ++ ++ std::string f, md5; ++ Orthanc::Toolbox::ReadFile(f, "Gray8Pattern.png"); ++ Orthanc::Toolbox::ComputeMD5(md5, f); ++ ASSERT_EQ("5a9b98bea3d0a6d983980cc38bfbcdb3", md5); + } + + TEST(PngWriter, Gray16Pattern) +@@ -66,6 +77,11 @@ TEST(PngWriter, Gray16Pattern) + } + + w.WriteToFile("Gray16Pattern.png", width, height, pitch, Orthanc::PixelFormat_Grayscale16, &image[0]); ++ ++ std::string f, md5; ++ Orthanc::Toolbox::ReadFile(f, "Gray16Pattern.png"); ++ Orthanc::Toolbox::ComputeMD5(md5, f); ++ ASSERT_EQ("0785866a08bf0a02d2eeff87f658571c", md5); + } + + TEST(PngWriter, EndToEnd) +--- orthanc-0.6.1.orig/Core/FileFormats/PngWriter.cpp ++++ orthanc-0.6.1/Core/FileFormats/PngWriter.cpp +@@ -174,15 +174,18 @@ namespace Orthanc + { + case PixelFormat_Grayscale16: + case PixelFormat_SignedGrayscale16: +- png_set_rows(pimpl_->png_, pimpl_->info_, &pimpl_->rows_[0]); +- ++ { ++ int transforms = 0; + if (Toolbox::DetectEndianness() == Endianness_Little) + { +- // Must swap the endianness!! +- png_write_png(pimpl_->png_, pimpl_->info_, PNG_TRANSFORM_SWAP_ENDIAN, NULL); ++ transforms = PNG_TRANSFORM_SWAP_ENDIAN; + } + ++ png_set_rows(pimpl_->png_, pimpl_->info_, &pimpl_->rows_[0]); ++ png_write_png(pimpl_->png_, pimpl_->info_, transforms, NULL); ++ + break; ++ } + + default: + png_write_image(pimpl_->png_, &pimpl_->rows_[0]); diff -Nru orthanc-0.6.1/debian/patches/series orthanc-0.6.1/debian/patches/series --- orthanc-0.6.1/debian/patches/series 2013-09-16 07:39:57.000000000 -0600 +++ orthanc-0.6.1/debian/patches/series 2013-11-05 14:36:43.000000000 -0700 @@ -0,0 +1,2 @@ +detect-endian.patch +fix-endian-png.patch _______________________________________________ Debian-med-packaging mailing list debian-med-packag...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging ----- End forwarded message ----- -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org