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 ---

Reply via email to