Bug#831139: cal3d: FTBFS with GCC 6: loader.cpp:889:12: error: cannot convert 'bool' to 'CalCoreKeyframe*' in return
Source: cal3d
Version: 0.11.0-6
Severity: serious
Tags: stretch sid
User: debian-qa@lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64
Hi,
During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg00007.html
Relevant part (hopefully):
> /bin/bash ../../libtool --tag=CXX --mode=compile x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -I../../src -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -fPIC -fno-rtti -c -o loader.lo loader.cpp
> libtool: compile: x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -Wdate-time -D_FORTIFY_SOURCE=2 -I../../src -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -fPIC -fno-rtti -c loader.cpp -fPIC -DPIC -o .libs/loader.o
> loader.cpp: In static member function 'static CalCoreKeyframe* CalLoader::loadCoreKeyframe(CalDataSource&)':
> loader.cpp:889:12: error: cannot convert 'bool' to 'CalCoreKeyframe*' in return
> return false;
> ^~~~~
> loader.cpp: In static member function 'static CalCoreSkeletonPtr CalLoader::loadXmlCoreSkeleton(const string&)':
> loader.cpp:1341:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1347:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1356:10: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1362:10: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1368:10: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1386:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1398:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1407:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1413:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1425:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1434:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1440:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1453:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1462:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1468:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1480:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1489:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1495:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1507:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1517:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1523:11: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1569:12: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1577:12: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp:1584:12: error: could not convert 'false' from 'bool' to 'CalCoreSkeletonPtr {aka cal3d::RefPtr<CalCoreSkeleton>}'
> return false;
> ^~~~~
> loader.cpp: In static member function 'static CalCoreAnimationPtr CalLoader::loadXmlCoreAnimation(const string&, CalCoreSkeleton*)':
> loader.cpp:1636:10: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp:1644:11: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp:1650:11: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp:1659:10: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp:1665:10: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp:1671:10: error: could not convert 'false' from 'bool' to 'CalCoreAnimationPtr {aka cal3d::RefPtr<CalCoreAnimation>}'
> return false;
> ^~~~~
> loader.cpp: In static member function 'static CalCoreMeshPtr CalLoader::loadXmlCoreMesh(const string&)':
> loader.cpp:1883:10: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1891:11: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1897:11: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1905:10: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1911:10: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1917:10: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1940:11: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1989:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:1999:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2007:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2014:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2025:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2033:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2040:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2054:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2061:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2070:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2078:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2085:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2109:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2117:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2124:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2164:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2172:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2179:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2205:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2212:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2219:13: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2244:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp:2269:12: error: could not convert 'false' from 'bool' to 'CalCoreMeshPtr {aka cal3d::RefPtr<CalCoreMesh>}'
> return false;
> ^~~~~
> loader.cpp: In static member function 'static CalCoreMaterialPtr CalLoader::loadXmlCoreMaterial(const string&)':
> loader.cpp:2339:16: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2347:18: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2353:18: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2362:14: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2368:16: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2374:16: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2388:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2396:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2402:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2415:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2423:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2429:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2444:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2452:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2458:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2472:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2480:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2486:12: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2505:14: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2513:14: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> loader.cpp:2520:14: error: could not convert 'false' from 'bool' to 'CalCoreMaterialPtr {aka cal3d::RefPtr<CalCoreMaterial>}'
> return false;
> ^~~~~
> In file included from ../../src/cal3d/platform.h:82:0,
> from ../../src/cal3d/global.h:24,
> from ../../src/cal3d/loader.h:21,
> from loader.cpp:19:
> ../../src/cal3d/refptr.h: In instantiation of 'T* cal3d::RefPtr<T>::get() const [with T = CalCoreSkeleton]':
> loader.cpp:710:50: required from here
> ../../src/cal3d/refptr.h:100:55: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
> assert(!m_ptr || m_ptr->getRefCount() > 0 &&
>
> ../../src/cal3d/refptr.h: In instantiation of 'T* cal3d::RefPtr<T>::get() const [with T = CalCoreAnimation]':
> ../../src/cal3d/refptr.h:95:24: required from 'cal3d::RefPtr<T>::operator cal3d::RefPtr<T>::unspecified_bool_type() const [with T = CalCoreAnimation; cal3d::RefPtr<T>::unspecified_bool_type = CalCoreAnimation* cal3d::RefPtr<CalCoreAnimation>::*]'
> loader.cpp:89:14: required from here
> ../../src/cal3d/refptr.h:100:55: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
> ../../src/cal3d/refptr.h: In instantiation of 'T* cal3d::RefPtr<T>::get() const [with T = CalCoreMaterial]':
> ../../src/cal3d/refptr.h:95:24: required from 'cal3d::RefPtr<T>::operator cal3d::RefPtr<T>::unspecified_bool_type() const [with T = CalCoreMaterial; cal3d::RefPtr<T>::unspecified_bool_type = CalCoreMaterial* cal3d::RefPtr<CalCoreMaterial>::*]'
> loader.cpp:131:13: required from here
> ../../src/cal3d/refptr.h:100:55: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
> ../../src/cal3d/refptr.h: In instantiation of 'T* cal3d::RefPtr<T>::get() const [with T = CalCoreMesh]':
> ../../src/cal3d/refptr.h:95:24: required from 'cal3d::RefPtr<T>::operator cal3d::RefPtr<T>::unspecified_bool_type() const [with T = CalCoreMesh; cal3d::RefPtr<T>::unspecified_bool_type = CalCoreMesh* cal3d::RefPtr<CalCoreMesh>::*]'
> loader.cpp:174:14: required from here
> ../../src/cal3d/refptr.h:100:55: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
> make[4]: *** [loader.lo] Error 1
The full build log is available from:
http://people.debian.org/~lucas/logs/2016/07/13/cal3d_0.11.0-6_unstable_gcc6.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
Reply to: