Your message dated Sat, 07 Jul 2012 07:17:22 +0000
with message-id <e1snpgc-0003p1...@franck.debian.org>
and subject line Bug#680509: fixed in openexr 1.6.1-6
has caused the Debian Bug report #680509,
regarding openexr: FTBFS on non-linux (or when disabling large stacks)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
680509: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680509
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: openexr
Version: 1.6.1-5
Severity: serious
Tags: patch
Justification: fails to build from source (but built successfully in the past)

Hi,

most probably due to GCC 4.7, openexr does not compile when large
stacks are disabled, which is done by default on any non-Linux
architecture (see also configure.ac).
The problem can also be seen in a recent rebuild on hurd-i386[1],
or just when trying to compile it on e.g. kfreebsd; for example on
kfreebsd-amd64:

|  g++ -DHAVE_CONFIG_H -I. -I. -I../config -I/usr/include/OpenEXR -I.. 
-I../config -D_FORTIFY_SOURCE=2 -pipe -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -c ImfHuf.cpp  -fPIC 
-DPIC -o .libs/ImfHuf.o
| In file included from ImfHuf.cpp:50:0:
| ./ImfAutoArray.h: In instantiation of 'Imf::AutoArray<T, size>::AutoArray() 
[with T = int; int size = 65537]':
| ImfHuf.cpp:298:34:   required from here
| ./ImfAutoArray.h:60:39: error: 'memset' was not declared in this scope, and 
no declarations were found by argument-dependent lookup at the point of 
instantiation [-fpermissive]
| In file included from /usr/include/string.h:642:0,
|                  from ImfHuf.cpp:52:
| /usr/include/x86_64-kfreebsd-gnu/bits/string3.h:77:1: note: 'void* 
memset(void*, int, size_t)' declared here, later in the translation unit
| In file included from ImfHuf.cpp:50:0:
| ./ImfAutoArray.h: In instantiation of 'Imf::AutoArray<T, size>::AutoArray() 
[with T = long unsigned int*; int size = 65537]':
| ImfHuf.cpp:299:38:   required from here
| ./ImfAutoArray.h:60:39: error: 'memset' was not declared in this scope, and 
no declarations were found by argument-dependent lookup at the point of 
instantiation [-fpermissive]
| In file included from /usr/include/string.h:642:0,
|                  from ImfHuf.cpp:52:
| /usr/include/x86_64-kfreebsd-gnu/bits/string3.h:77:1: note: 'void* 
memset(void*, int, size_t)' declared here, later in the translation unit
| In file included from ImfHuf.cpp:50:0:
| ./ImfAutoArray.h: In instantiation of 'Imf::AutoArray<T, size>::AutoArray() 
[with T = long unsigned int; int size = 65537]':
| ImfHuf.cpp:361:36:   required from here
| ./ImfAutoArray.h:60:39: error: 'memset' was not declared in this scope, and 
no declarations were found by argument-dependent lookup at the point of 
instantiation [-fpermissive]
| In file included from /usr/include/string.h:642:0,
|                  from ImfHuf.cpp:52:
| /usr/include/x86_64-kfreebsd-gnu/bits/string3.h:77:1: note: 'void* 
memset(void*, int, size_t)' declared here, later in the translation unit
| In file included from ImfHuf.cpp:50:0:
| ./ImfAutoArray.h: In instantiation of 'Imf::AutoArray<T, size>::AutoArray() 
[with T = Imf::{anonymous}::HufDec; int size = 16384]':
| ImfHuf.cpp:1050:37:   required from here
| ./ImfAutoArray.h:60:39: error: 'memset' was not declared in this scope, and 
no declarations were found by argument-dependent lookup at the point of 
instantiation [-fpermissive]
| In file included from /usr/include/string.h:642:0,
|                  from ImfHuf.cpp:52:
| /usr/include/x86_64-kfreebsd-gnu/bits/string3.h:77:1: note: 'void* 
memset(void*, int, size_t)' declared here, later in the translation unit
| make[3]: *** [ImfHuf.lo] Error 1

Attached there is a patch that fixes the issue, by including <cstring>
in ImfAutoArray.h only with no large stacks enabled, and making sure
to call memset from the std namespace.
(Note: it seems openexr 1.7.0 will no more memset() the data array
in the "no large stacks" implementation.)

[1] 
https://buildd.debian.org/status/fetch.php?pkg=openexr&arch=hurd-i386&ver=1.6.1-5%2Bb1&stamp=1337862561

Thanks,
-- 
Pino
--- a/IlmImf/ImfAutoArray.h
+++ b/IlmImf/ImfAutoArray.h
@@ -46,6 +46,10 @@
 
 #include "OpenEXRConfig.h"
 
+#if !defined (HAVE_LARGE_STACK)
+#include <cstring>
+#endif
+
 namespace Imf {
 
 
@@ -57,7 +61,7 @@
     {
       public:
 
-	 AutoArray (): _data (new T [size]) {memset(_data, 0, size * sizeof(T));}
+	 AutoArray (): _data (new T [size]) {::std::memset(_data, 0, size * sizeof(T));}
 	~AutoArray () {delete [] _data;}
 
 	operator T * ()			{return _data;}

--- End Message ---
--- Begin Message ---
Source: openexr
Source-Version: 1.6.1-6

We believe that the bug you reported is fixed in the latest version of
openexr, which is due to be installed in the Debian FTP archive:

libopenexr-dev_1.6.1-6_i386.deb
  to main/o/openexr/libopenexr-dev_1.6.1-6_i386.deb
libopenexr6_1.6.1-6_i386.deb
  to main/o/openexr/libopenexr6_1.6.1-6_i386.deb
openexr_1.6.1-6.debian.tar.gz
  to main/o/openexr/openexr_1.6.1-6.debian.tar.gz
openexr_1.6.1-6.dsc
  to main/o/openexr/openexr_1.6.1-6.dsc
openexr_1.6.1-6_i386.deb
  to main/o/openexr/openexr_1.6.1-6_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 680...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Metzler <ametz...@debian.org> (supplier of updated openexr package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Format: 1.8
Date: Sat, 07 Jul 2012 08:58:08 +0200
Source: openexr
Binary: openexr libopenexr-dev libopenexr6
Architecture: source i386
Version: 1.6.1-6
Distribution: unstable
Urgency: low
Maintainer: Debian PhotoTools Maintainers 
<pkg-phototools-de...@lists.alioth.debian.org>
Changed-By: Andreas Metzler <ametz...@debian.org>
Description: 
 libopenexr-dev - development files for the OpenEXR image library
 libopenexr6 - runtime files for the OpenEXR image library
 openexr    - command-line tools and docs for the OpenEXR image format
Closes: 680509
Changes: 
 openexr (1.6.1-6) unstable; urgency=low
 .
   * nonlinuxlargestack.diff Fix FTBFS when large stacks are disabled.
     Bug-report, diagnosis and patch by Pino Toscano. Closes: #680509
Checksums-Sha1: 
 dce26cc2a67e2610dd3fa69447620118b262f28a 1477 openexr_1.6.1-6.dsc
 f7b79be6c744565ec1ffc0851eecac84ff25e56f 13099 openexr_1.6.1-6.debian.tar.gz
 afcfc740307f50433311c8d0e239e195ee6fd050 2771232 openexr_1.6.1-6_i386.deb
 40fd552c54c93a4d0dd99fe6e6433316be7dee02 374836 libopenexr-dev_1.6.1-6_i386.deb
 8f362a397418dbb077c9fbeb35e6309ed9b913ac 255786 libopenexr6_1.6.1-6_i386.deb
Checksums-Sha256: 
 7d392d9615b41f1709bf57764440be6ae5bcc7b228f3a64b45ec5c82a2a2420f 1477 
openexr_1.6.1-6.dsc
 4ca2e5cbd91db849485416f8475e71a544869572185cc0731a57084ff1922e3e 13099 
openexr_1.6.1-6.debian.tar.gz
 562de69b9e618b7decc4519cb05912494240fb3a087b6a00311158c3e325a2ad 2771232 
openexr_1.6.1-6_i386.deb
 b6a73a35758fe7a3e43f6f629746861c411740ee55f2fc4a2e6d5b037a706016 374836 
libopenexr-dev_1.6.1-6_i386.deb
 84653425cd762e90cf140e2be4e1d13700f6418adf8fdabee0f86cb2629d651e 255786 
libopenexr6_1.6.1-6_i386.deb
Files: 
 fe18688e242b15400bfdb4d957847bb2 1477 graphics optional openexr_1.6.1-6.dsc
 7d059feaa4cb4355677b2b5bece218f5 13099 graphics optional 
openexr_1.6.1-6.debian.tar.gz
 6e5631c7577060e5c58b743030c85f24 2771232 graphics optional 
openexr_1.6.1-6_i386.deb
 d954f2c271d60f09a83fbd33c684c5ef 374836 libdevel optional 
libopenexr-dev_1.6.1-6_i386.deb
 67be87ceddfb512f397bd4f098a3228d 255786 libs optional 
libopenexr6_1.6.1-6_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEAREDAAYFAk/34SYACgkQHTOcZYuNdmMu1ACgmX+FNyVK3BljktYq+u3EubJz
PW8An1NZGkq+4FFUTeM7slLivGUwMsSg
=0I1k
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to