Bug 1302924

Summary: Csound FTBFS in rawhide
Product: [Fedora] Fedora Reporter: Jonathan Wakely <jwakely>
Component: csoundAssignee: Peter Robinson <pbrobinson>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: paul, pbrobinson
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-16 10:52:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jonathan Wakely 2016-01-29 01:18:53 UTC
Using the new Boost 1.60.0 Csound fails to build, because it defines a macro "CB" which conflicts with tokens in boost headers:

In file included from /usr/include/boost/type_traits/detail/common_type_impl.hpp:14:0,
                 from /usr/include/boost/type_traits/common_type.hpp:17,
                 from /usr/include/boost/type_traits.hpp:22,
                 from /usr/include/boost/numeric/ublas/traits.hpp:27,
                 from /usr/include/boost/numeric/ublas/storage.hpp:26,
                 from /usr/include/boost/numeric/ublas/vector.hpp:21,
                 from /builddir/build/BUILD/Csound6.03.2/Opcodes/chua/ChuaOscillator.cpp:121:
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:89:25: error: expected identifier before '(' token
 template<class CT, class CB>
                         ^
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:89:26: error: expected ')' before numeric constant
 template<class CT, class CB>
                          ^
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:89:26: error: expected '>' before numeric constant
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:89:32: error: expected unqualified-id before ')' token
In file included from /usr/include/boost/type_traits/detail/common_type_impl.hpp:14:0,
                 from /usr/include/boost/type_traits/common_type.hpp:17,
                 from /usr/include/boost/type_traits.hpp:22,
                 from /usr/include/boost/numeric/ublas/traits.hpp:27,
                 from /usr/include/boost/numeric/ublas/storage.hpp:26,
                 from /usr/include/boost/numeric/ublas/vector.hpp:21,
                 from /builddir/build/BUILD/Csound6.03.2/Opcodes/chua/ChuaOscillator.cpp:121:
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:102:56: error: expected unqualified-id before numeric constant
     typedef typename common_member_class<C1, C2>::type CB;
                                                        ^
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:102:56: error: expected ')' before numeric constant
In file included from /usr/include/boost/type_traits/detail/common_type_impl.hpp:14:0,
                 from /usr/include/boost/type_traits/common_type.hpp:17,
                 from /usr/include/boost/type_traits.hpp:22,
                 from /usr/include/boost/numeric/ublas/traits.hpp:27,
                 from /usr/include/boost/numeric/ublas/storage.hpp:26,
                 from /usr/include/boost/numeric/ublas/vector.hpp:21,
                 from /builddir/build/BUILD/Csound6.03.2/Opcodes/chua/ChuaOscillator.cpp:121:
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:106:22: error: expected nested-name-specifier before 'common_member_class_pointer_to_member'
     typedef typename common_member_class_pointer_to_member<CT, CB>::type type;
                      ^
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:106:22: error: expected ';' at end of member declaration
/usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp:106:59: error: expected unqualified-id before '<' token
     typedef typename common_member_class_pointer_to_member<CT, CB>::type type;
                                                           ^
/builddir/build/BUILD/Csound6.03.2/Opcodes/chua/ChuaOscillator.cpp: In member function 'int ChuasOscillatorCubic::kontrol(CSOUND*)':
/builddir/build/BUILD/Csound6.03.2/Opcodes/chua/ChuaOscillator.cpp:242:14: warning: unused variable 'n' [-Wunused-variable]
     uint32_t n, nsmps = CS_KSMPS;
              ^
Opcodes/CMakeFiles/chua.dir/build.make:65: recipe for target 'Opcodes/CMakeFiles/chua.dir/chua/ChuaOscillator.cpp.o' failed


CB is used as a template parameter and typedef name in Boost, but is defined as a macro in csound:

/builddir/build/BUILD/Csound6.03.2/./include/interlocks.h:40:12: error: expected identifier before '(' token
 #define CB (0x0060)
            ^

Comment 1 Peter Robinson 2016-02-16 10:52:40 UTC
built fine in the mass rebuild 

http://koji.fedoraproject.org/koji/buildinfo?buildID=717347