Comment 0 for bug 1172600

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Compiz fails to build with boost 1.53

[ 48%] Building CXX object compizconfig/integration/gnome/gsettings/tests/CMakeFiles/compizconfig_test_ccs_gnome_gsettings_integrated_setting.dir/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp.o
In file included from /usr/include/gtest/gtest.h:57:0,
                 from /home/mcr2010/src/bzr/compiz.fix_1171364/compizconfig/libcompizconfig/tests/compizconfig_test_ccs_mock_backend_conformance.cpp:1:
/home/mcr2010/src/bzr/compiz.fix_1171364/compizconfig/tests/compizconfig_backend_concept_test.h: In member function ‘void CCSBackendConformanceSpawnObjectsTestFixtureBase::SpawnSetting(const string&, CCSSettingType, const boost::shared_ptr<_CCSPlugin>&, boost::shared_ptr<_CCSSetting>&)’:
/home/mcr2010/src/bzr/compiz.fix_1171364/compizconfig/tests/compizconfig_backend_concept_test.h:372:6: error: no matching function for call to ‘testing::AssertionResult::AssertionResult(const boost::shared_ptr<_CCSPlugin>&)’
      ASSERT_TRUE (plugin);
      ^
/home/mcr2010/src/bzr/compiz.fix_1171364/compizconfig/tests/compizconfig_backend_concept_test.h:372:6: note: candidates are:
In file included from /home/mcr2010/src/bzr/compiz.fix_1171364/compizconfig/libcompizconfig/tests/compizconfig_test_ccs_mock_backend_conformance.cpp:1:0:
/usr/include/gtest/gtest.h:271:12: note: testing::AssertionResult::AssertionResult(bool)
   explicit AssertionResult(bool success) : success_(success) {}
            ^
/usr/include/gtest/gtest.h:271:12: note: no known conversion for argument 1 from ‘const boost::shared_ptr<_CCSPlugin>’ to ‘bool’
/usr/include/gtest/gtest.h:269:3: note: testing::AssertionResult::AssertionResult(const testing::AssertionResult&)
   AssertionResult(const AssertionResult& other);
   ^
/usr/include/gtest/gtest.h:269:3: note: no known conversion for argument 1 from ‘const boost::shared_ptr<_CCSPlugin>’ to ‘const testing::AssertionResult&’
Scanning dependencies of target compizconfig_test_ccs_gnome_integration
[ 48%] Building CXX object compizconfig/integration/gnome/tests/CMakeFiles/compizconfig_test_ccs_gnome_integration.dir/compizconfig_test_ccs_gnome_integration.cpp.o
Linking CXX shared library libcompiz_core.so
Linking CXX executable compiz_test_opengl_double_buffer
At global scope:
cc1plus: error: unrecognized command line option "-Wno-unused-private-field" [-Werror]
cc1plus: error: unrecognized command line option "-Wno-unused-private-field" [-Werror]
cc1plus: error: unrecognized command line option "-Wno-unused-private-field" [-Werror]
cc1plus: error: unrecognized command line option "-Wno-unused-private-field" [-Werror]
cc1plus: error: unrecognized command line option "-Wno-unused-private-field" [-Werror]
cc1plus: all warnings being treated as errors
make[2]: *** [compizconfig/libcompizconfig/tests/CMakeFiles/compizconfig_test_ccs_mock_backend_conformance.dir/compizconfig_test_ccs_mock_backend_conformance.cpp.o] Error 1
make[1]: *** [compizconfig/libcompizconfig/tests/CMakeFiles/compizconfig_test_ccs_mock_backend_conformance.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Boost changed operator bool () in shared_ptr <> to explicit operator bool () - that means that if you want to convert a shared_ptr <> to bool () by value you have to explicitly do either !!p or p != NULL