Your message dated Thu, 27 Nov 2014 18:34:23 +0000
with message-id <e1xu3tx-0000hc...@franck.debian.org>
and subject line Bug#770670: fixed in libsdl2 2.0.2+dfsg1-6
has caused the Debian Bug report #770670,
regarding libsdl2-dev - SDL.h includes altivec.h, breaks c++ code
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.)
--
770670: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770670
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: g++
Version: 4.9.2-2
Severity: normal
Hi,
I'm trying to solve the build failure of my package vcmi on ppc64el:
https://buildd.debian.org/status/fetch.php?pkg=vcmi&arch=ppc64el&ver=0.97%2Bdfsg-2&stamp=1416356066
The issue seems to only appear when compiling with c++. It does not
happen when compiling with clang++. Thus I'm reporting this bug against
g++. Please reassign if this was the wrong conclusion.
The relevant first error message is:
[ 68%] Building CXX object AI/StupidAI/CMakeFiles/StupidAI.dir/main.cpp.o
cd /«BUILDDIR»/vcmi-0.97+dfsg/build/AI/StupidAI && /usr/bin/c++ -DFL_CPP11
-DM_BIN_DIR=\"/usr/games\" -DM_DATA_DIR=\"/usr/share/vcmi\"
-DM_LIB_DIR=\"/usr/lib/powerpc64le-linux-gnu/vcmi\" -DStupidAI_EXPORTS
-DUSE_SYSTEM_MINIZIP -g -O2 -fPIE -fstack-protector-strong -Wformat
-Werror=format-security -D_FORTIFY_SOURCE=2 -std=c++0x -Wall -Wextra
-Wpointer-arith -Wno-strict-aliasing -Wno-switch -Wno-sign-compare
-Wno-unused-local-typedefs -Wno-unused-parameter -Wuninitialized
-Wno-overloaded-virtual -Wno-type-limits -fvisibility=hidden -O2 -g -DNDEBUG
-fPIC -I/«BUILDDIR»/vcmi-0.97+dfsg -I/«BUILDDIR»/vcmi-0.97+dfsg/AI/StupidAI
-I/«BUILDDIR»/vcmi-0.97+dfsg/lib -Winvalid-pch -include
"/«BUILDDIR»/vcmi-0.97+dfsg/build/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx"
-o CMakeFiles/StupidAI.dir/main.cpp.o -c
/«BUILDDIR»/vcmi-0.97+dfsg/AI/StupidAI/main.cpp
/«BUILDDIR»/vcmi-0.97+dfsg/client/mapHandler.h:32:7: error: expected
unqualified-id before '__attribute__'
std::vector < std::pair<const CGObjectInstance*,SDL_Rect> > objects;
//pointers to objects being on this tile with rects to be easier to blit this
tile on screen
^
This only happens on ppc64el. I was able to track this issue down to a
combination of including SDL.h, using std::vector and compiling with
-std=c++0x. In the following I will post some code and how I compile it and
the results on ppc64el (on the left) and amd64 (on the right).
Test 1
======
$ cat test.cc
#include "SDL.h"
#include <vector>
std::vector<int> foo;
$ c++ -I/usr/include/SDL2 -c test.cc
ppc64el | amd64
---------------------------------------|---------------------------------------
success | success
Test 2
======
$ cat test.cc
#include "SDL.h"
#include <vector>
std::vector<int> foo;
$ c++ -std=c++0x -I/usr/include/SDL2 -c test.cc
ppc64el | amd64
---------------------------------------|---------------------------------------
(failure log attached) | success
Test 3
======
$ cat test.cc
#include "SDL.h"
std::vector<int> foo;
$ c++ -std=c++0x -I/usr/include/SDL2 -c test.cc
ppc64el | amd64
---------------------------------------|---------------------------------------
test.cc:4:6: error: expected | test.cc:4:6: error: ‘vector’ in
unqualified-id before ‘__attribute__’ | namespace ‘std’ does not name a
std::vector<int> foo; | template type
^ |
Test 4
======
$ cat test.cc
#include "SDL.h"
#include <vector>
std::vector<int> foo;
$ clang++ -std=c++0x -I/usr/include/SDL2 -c test.cc
ppc64el | amd64
---------------------------------------|---------------------------------------
success | success
The error in test 3 is what I see on ppc64el in the build log entry
above. It is probably just due to a missing "#include <vector>". But as
you can see, even if I "#include <vector>" I get an error as you can see
in test 2. It only seems to compile fine on ppc64el if I do not pass
-std=c++0x (test 1) or if one uses clang++ (test 4).
One lead that I have is the following. When compiling on ppc64el with
g++ and -std=c++0x, then the line:
std::vector<int> foo
gets turned into
std::__attribute__((altivec(vector__)))<int> foo
by the preprocessor (I checked with g++ -E).
This does not happen on amd64. It does also not happen with clang on
either architecture. It does also not happen without passing -std=c++0x.
Thanks!
cheers, josch
/usr/include/c++/4.9/bits/cpp_type_traits.h:98:24: error: expected
primary-expression before ‘__attribute__’
enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:98:24: error: expected ‘}’ before
‘__attribute__’
In file included from /usr/include/c++/4.9/bits/stl_algobase.h:61:0,
from /usr/include/c++/4.9/vector:60,
from test.cc:2:
/usr/include/c++/4.9/bits/cpp_type_traits.h:98:41: error: invalid use of
qualified-name ‘_Sp::__value’
enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:98:41: error: expected ‘;’ at end
of member declaration
/usr/include/c++/4.9/bits/cpp_type_traits.h:98:43: error: expected
unqualified-id before ‘||’ token
enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:99:37: error: ‘__value’ was not
declared in this scope
typedef typename __truth_type<__value>::__type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:99:44: error: template argument 1
is invalid
typedef typename __truth_type<__value>::__type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:99:60: error: invalid type in
declaration before ‘;’ token
typedef typename __truth_type<__value>::__type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:107:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:114:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:122:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:129:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:139:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:149:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:156:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:163:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:170:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:178:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:187:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:194:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:202:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:209:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:216:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:223:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:230:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:237:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:244:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:251:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:261:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:269:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:276:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:283:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:293:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:300:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:310:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:318:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:326:23: error: expected
template-name before ‘<’ token
: public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:326:23: error: expected ‘{’ before
‘<’ token
/usr/include/c++/4.9/bits/cpp_type_traits.h:326:23: error: expected
unqualified-id before ‘<’ token
/usr/include/c++/4.9/bits/cpp_type_traits.h:334:23: error: expected
template-name before ‘<’ token
: public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:334:23: error: expected ‘{’ before
‘<’ token
/usr/include/c++/4.9/bits/cpp_type_traits.h:334:23: error: expected
unqualified-id before ‘<’ token
/usr/include/c++/4.9/bits/cpp_type_traits.h:344:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:351:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:359:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:367:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:374:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:381:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:388:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:398:15: error: ‘__false_type’ does
not name a type
typedef __false_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:409:15: error: ‘__true_type’ does
not name a type
typedef __true_type __type;
^
/usr/include/c++/4.9/bits/cpp_type_traits.h:414:1: error: expected declaration
before ‘}’ token
} // namespace
^
--- End Message ---
--- Begin Message ---
Source: libsdl2
Source-Version: 2.0.2+dfsg1-6
We believe that the bug you reported is fixed in the latest version of
libsdl2, which is due to be installed in the Debian FTP archive.
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 770...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Dominique Dumont <d...@debian.org> (supplier of updated libsdl2 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...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Thu, 27 Nov 2014 18:52:50 +0100
Source: libsdl2
Binary: libsdl2-2.0-0 libsdl2-dev libsdl2-dbg
Architecture: source amd64
Version: 2.0.2+dfsg1-6
Distribution: unstable
Urgency: medium
Maintainer: Debian SDL packages maintainers
<pkg-sdl-maintain...@lists.alioth.debian.org>
Changed-By: Dominique Dumont <d...@debian.org>
Description:
libsdl2-2.0-0 - Simple DirectMedia Layer
libsdl2-dbg - Simple DirectMedia Layer debug files
libsdl2-dev - Simple DirectMedia Layer development files
Closes: 770670
Changes:
libsdl2 (2.0.2+dfsg1-6) unstable; urgency=medium
.
* rules: disable activec for ppc64el build (Closes: #770670)
Checksums-Sha1:
f1099537fd35b246d7d9cbb43c51c1c1b5424e9a 2626 libsdl2_2.0.2+dfsg1-6.dsc
1a4bf0820bc0399051d9561e42da8c9f24b28b2c 14180
libsdl2_2.0.2+dfsg1-6.debian.tar.xz
24841b2360033167096e854133618c4eedbb4276 322114
libsdl2-2.0-0_2.0.2+dfsg1-6_amd64.deb
fbf20922f840afc46a090868ef49d084f2049bf3 1114128
libsdl2-dev_2.0.2+dfsg1-6_amd64.deb
b25245e4f1b3b6140fda046dcba192f2b484bb55 1267846
libsdl2-dbg_2.0.2+dfsg1-6_amd64.deb
Checksums-Sha256:
dba583b7a064fb3d4be2abc455ac7f4c3e08fa6039be650814fa8058c45639c0 2626
libsdl2_2.0.2+dfsg1-6.dsc
b38c964e31ee59183f7066064cc851be1cf605e4c5dd59008c2fc7e1dc332191 14180
libsdl2_2.0.2+dfsg1-6.debian.tar.xz
f072b5680178d2c2979ca6994d48821c662ad9ddfd093f1bca5a2d56a3622acb 322114
libsdl2-2.0-0_2.0.2+dfsg1-6_amd64.deb
b7df760bb1826193da79562f8610c071cf66be4f5a8b414a60ba938d97092f37 1114128
libsdl2-dev_2.0.2+dfsg1-6_amd64.deb
efbf49e76b7df0d41a36884d82420d58ea3dc70593624651aefb687fe045d69a 1267846
libsdl2-dbg_2.0.2+dfsg1-6_amd64.deb
Files:
10d5441d0bd3ceb2053dc1dce55f5ac7 2626 libs optional libsdl2_2.0.2+dfsg1-6.dsc
ebe333e5c8594bcd833047463354aa86 14180 libs optional
libsdl2_2.0.2+dfsg1-6.debian.tar.xz
25c2280a973ac7604e77f9bab89f9f56 322114 libs optional
libsdl2-2.0-0_2.0.2+dfsg1-6_amd64.deb
cbd0104fb6cfa4991525a2ec8b3dcca5 1114128 libdevel optional
libsdl2-dev_2.0.2+dfsg1-6_amd64.deb
3b2bd7ad28a9b671dc0a5a843f587916 1267846 debug extra
libsdl2-dbg_2.0.2+dfsg1-6_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJUd2owAAoJEMMfT9lJqytsn3cQAJRRgwdoTf3dKT1iqHS06E+y
qzLd/HwLzyXhbGVKUZ4LEQu5UOxdDi2h02xwXGdn2b4jWz/GXspuHtjAXQsiPJ91
KKq4QDD1W3GcLVPtIIvMNR3Gv9hOZLi+6sab1Muxg5HHX0ZrW9Ypq8r7Gh6Dm53J
/iQ2r09Z0UwKUnsnG//jVdniO5QQuedW+i9WgwaxxRJ+S62rql/5w/eKtrPQe6br
wNr7SRVSRvtiJZ5j+lfmmdpv6QdOP4a8r4UHmAqYemxIgJ1Sz1jpq2JKCzFgAR1Z
u/FIikmra+HxXMIfyyYInJK7pwSdOH0XkjPfSz333ybnV47dJzcW90brb9W3VAWW
Zbs/6iO+7oM0t2WONrsrle+6jPRz55tAqYN3BTFfwS0jyLQsSAp44bh/RtN/kH9o
BsbQFrGgClvopA2BZpaobMfuF/tUqG9BJZxRHGA8d75z7ICmFuYw2yJZ5GJvGow1
WuWRh/SICoWDdDue2/rqer9Axm3Ur26h7nJLksGMPAZrGraGiawYsuJ2N0U1ynR7
EPGTe4mIYGWDXuu4oJiPGoabDcFFpyUHbMv8jAdiuOvegp2nhUeN3QCUiPvny9bJ
p6BTB6Ol2CZl6ljtnU1WNHkOIHEEBEsJVs/V9lt0Lv1VfY06gCLJxUIDOpj+ldrY
LWBm2DIffr6yJxdi7Vyc
=RB/F
-----END PGP SIGNATURE-----
--- End Message ---