Opened 10 years ago

Closed 10 years ago

#7221 closed Bugs (fixed)

Error compiling spring with boost 1.50 on Fedora 18

Reported by: Orion Poplawski <orion@…> Owned by: Daniel James
Milestone: To Be Determined Component: hash
Version: Boost 1.51.0 Severity: Problem
Keywords: Cc:

Description

In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp: In member function 'double boost::hash_detail::call_ldexp<Float>::operator()(double, int) const':
/usr/include/boost/functional/hash/detail/float_functions.hpp:59:34: error: call of overloaded 'ldexp(double&, int&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:59:34: note: candidates are:
In file included from /usr/include/math.h:70:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:106:1: note: double ldexp(double, int)
In file included from /usr/include/boost/config/no_tr1/cmath.hpp:21:0,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:345:3: note: long double std::ldexp(long double, int)
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:341:3: note: float std::ldexp(float, int)
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:467:16: note: streflop::Double streflop::ldexp(streflop::Double, int)
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:259:16: note: streflop::Simple streflop::ldexp(streflop::Simple, int)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp: In member function 'double boost::hash_detail::call_frexp<Float>::operator()(double, int*) const':
/usr/include/boost/functional/hash/detail/float_functions.hpp:74:34: error: call of overloaded 'frexp(double&, int*&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:74:34: note: candidates are:
In file included from /usr/include/math.h:70:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:103:1: note: double frexp(double, int*)
In file included from /usr/include/boost/config/no_tr1/cmath.hpp:21:0,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:326:3: note: long double std::frexp(long double, int*)
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:322:3: note: float std::frexp(float, int*)
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:466:16: note: streflop::Double streflop::frexp(streflop::Double, int*)
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:258:16: note: streflop::Simple streflop::frexp(streflop::Simple, int*)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp: At global scope:
/usr/include/boost/functional/hash/detail/float_functions.hpp:188:1: error: call of overloaded 'ldexp(float&, int&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:188:1: note: candidates are:
In file included from /usr/include/math.h:70:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:106:1: note: double ldexp(double, int)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:88:58: note: boost::hash_detail::not_found boost_hash_detect_float_functions::ldexp(Float, int) [with Float = float]
In file included from /usr/include/boost/config/no_tr1/cmath.hpp:21:0,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:345:3: note: long double std::ldexp(long double, int)
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:341:3: note: float std::ldexp(float, int)
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:467:16: note: streflop::Double streflop::ldexp(streflop::Double, int)
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:259:16: note: streflop::Simple streflop::ldexp(streflop::Simple, int)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:188:1: error: call of overloaded 'ldexpf(float&, int&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:188:1: note: candidates are:
In file included from /usr/include/math.h:89:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:106:1: note: float ldexpf(float, int)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:188:1: note: boost::hash_detail::not_found boost_hash_detect_float_functions::ldexpf(Float, int) [with Float = float]
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:389:16: note: streflop::Simple streflop::ldexpf(streflop::Simple, int)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:200:1: error: call of overloaded 'frexp(float&, int*&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:200:1: note: candidates are:
In file included from /usr/include/math.h:70:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:103:1: note: double frexp(double, int*)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:89:58: note: boost::hash_detail::not_found boost_hash_detect_float_functions::frexp(Float, int*) [with Float = float]
In file included from /usr/include/boost/config/no_tr1/cmath.hpp:21:0,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:326:3: note: long double std::frexp(long double, int*)
/usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:322:3: note: float std::frexp(float, int*)
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:466:16: note: streflop::Double streflop::frexp(streflop::Double, int*)
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:258:16: note: streflop::Simple streflop::frexp(streflop::Simple, int*)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:200:1: error: call of overloaded 'frexpf(float&, int*&)' is ambiguous
/usr/include/boost/functional/hash/detail/float_functions.hpp:200:1: note: candidates are:
In file included from /usr/include/math.h:89:0,
                 from /usr/lib/gcc/i686-redhat-linux/4.7.1/../../../../include/c++/4.7.1/cmath:46,
                 from /usr/include/boost/config/no_tr1/cmath.hpp:21,
                 from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:15,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/locks.hpp:14,
                 from /usr/include/boost/thread/pthread/recursive_mutex.hpp:12,
                 from /usr/include/boost/thread/recursive_mutex.hpp:16,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.h:10,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:3:
/usr/include/bits/mathcalls.h:103:1: note: float frexpf(float, int*)
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp:200:1: note: boost::hash_detail::not_found boost_hash_detect_float_functions::frexpf(Float, int*) [with Float = float]
In file included from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop.h:93:0,
                 from /builddir/build/BUILD/spring_89.0/rts/lib/streflop/streflop_cond.h:13,
                 from /builddir/build/BUILD/spring_89.0/rts/System/float3.h:9,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/IAudioChannel.h:7,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:11:
/builddir/build/BUILD/spring_89.0/rts/lib/streflop/SMath.h:388:16: note: streflop::Simple streflop::frexpf(streflop::Simple, int*)
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/spring_89.0/CMakeFiles 
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/spring_89.0/CMakeFiles 
[  8%] [  8%] Building CXX object test/CMakeFiles/test_RectangleOptimizer.dir/__/rts/System/Log/Backend.cpp.o
Building CXX object test/CMakeFiles/test_LuaSocketRestrictions.dir/__/rts/System/Log/StreamSink.cpp.o
cd /builddir/build/BUILD/spring_89.0/test && /usr/bin/c++   -DSPRING_DATADIR=\"/usr/share/spring\" -DSYNCCHECK -DSTREFLOP_SSE -DBOOST_NO_FENV_H -DBOOST_TEST_DYN_LINK -DSYNCCHECK -DUNIT_TEST -DTEST -fopenmp -march=i686 -msse -mfpmath=sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4 -mno-sse4a -mno-avx -mno-fma -mno-fma4 -mno-xop -mno-lwp -mno-avx2 -fsingle-precision-constant -frounding-math -mieee-fp -pipe -fno-strict-aliasing  -fvisibility=hidden  -fvisibility-inlines-hidden -pthread  -O2      -DNDEBUG -g -I/usr/include/SDL -I/builddir/build/BUILD/spring_89.0/rts    -o CMakeFiles/test_RectangleOptimizer.dir/__/rts/System/Log/Backend.cpp.o -c /builddir/build/BUILD/spring_89.0/rts/System/Log/Backend.cpp
cd /builddir/build/BUILD/spring_89.0/test && /usr/bin/c++   -DSPRING_DATADIR=\"/usr/share/spring\" -DSYNCCHECK -DSTREFLOP_SSE -DBOOST_NO_FENV_H -DBOOST_TEST_DYN_LINK -DSYNCCHECK -DUNIT_TEST -DTEST -fopenmp -march=i686 -msse -mfpmath=sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4 -mno-sse4a -mno-avx -mno-fma -mno-fma4 -mno-xop -mno-lwp -mno-avx2 -fsingle-precision-constant -frounding-math -mieee-fp -pipe -fno-strict-aliasing  -fvisibility=hidden  -fvisibility-inlines-hidden -pthread  -O2      -DNDEBUG -g -I/usr/include/SDL -I/builddir/build/BUILD/spring_89.0/rts    -o CMakeFiles/test_LuaSocketRestrictions.dir/__/rts/System/Log/StreamSink.cpp.o -c /builddir/build/BUILD/spring_89.0/rts/System/Log/StreamSink.cpp
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:14:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/float_functions.hpp: In instantiation of 'struct boost::hash_detail::select_hash_type<float>':
/usr/include/boost/functional/hash/detail/hash_float_generic.hpp:81:70:   required from 'std::size_t boost::hash_detail::float_hash_impl(T) [with T = float; std::size_t = unsigned int]'
/usr/include/boost/functional/hash/detail/hash_float.hpp:74:41:   required from 'std::size_t boost::hash_detail::float_hash_value(T) [with T = float; std::size_t = unsigned int]'
/usr/include/boost/functional/hash/hash.hpp:329:54:   required from here
/usr/include/boost/functional/hash/detail/float_functions.hpp:239:16: error: no type named 'float_type' in 'struct boost::hash_detail::call_ldexp<float>'
In file included from /usr/include/boost/functional/hash/detail/hash_float.hpp:30:0,
                 from /usr/include/boost/functional/hash/hash.hpp:15,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/thread/detail/thread.hpp:31,
                 from /usr/include/boost/thread/thread.hpp:22,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/Sound.h:14,
                 from /builddir/build/BUILD/spring_89.0/rts/System/Sound/SoundSource.cpp:17:
/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: In instantiation of 'std::size_t boost::hash_detail::float_hash_impl(T) [with T = float; std::size_t = unsigned int]':
/usr/include/boost/functional/hash/detail/hash_float.hpp:74:41:   required from 'std::size_t boost::hash_detail::float_hash_value(T) [with T = float; std::size_t = unsigned int]'
/usr/include/boost/functional/hash/hash.hpp:329:54:   required from here
/usr/include/boost/functional/hash/detail/hash_float_generic.hpp:81:70: error: no type named 'type' in 'struct boost::hash_detail::select_hash_type<float>'

gcc 4.7.1 glibc 2.16 boost 1.50.0

Change History (7)

comment:1 by viboes, 10 years ago

Component: Nonehash
Owner: set to Daniel James

comment:2 by Daniel James, 10 years ago

It looks like calling ldexp is ambiguous because you've used using namespace streflop in the global namespace (otherwise I don't see how that namespace would be considered). That's a pretty dubious thing to do since ldexp is defined in the global namespace and this makes it ambiguous. I can possibly fix this, but it's an annoying complexity to deal with for something that you probably shouldn't do. Looking at the streflop documentation, it's intended to be protected by a namespace so that it won't affect third party code.

comment:3 by orion@…, 10 years ago

Sounds good. It's been a bit tedious making the changes to the spring code, but it does seem to be the right path.

comment:4 by orion@…, 10 years ago

Component: hashgraph
Milestone: To Be DeterminedWebsite 1.X
Owner: changed from Daniel James to Jeremiah Willcock
Version: Boost 1.50.0Boost 1.51.0

Looks like this has been resolved upstream in spring, so this can be closed.

comment:5 by Jeremiah Willcock, 10 years ago

Component: graphhash
Owner: changed from Jeremiah Willcock to Daniel James

comment:6 by Daniel James, 10 years ago

Milestone: Website 1.XTo Be Determined

Thanks for doing that, although I might fix it eventually anyway. The code that causes the problem is used to automatically detect which floating point functions are available. For the more popular compilers, it might be better to avoid that and just use what we know they support.

comment:7 by Daniel James, 10 years ago

Resolution: fixed
Status: newclosed

I think this was fixed in trunk in r81677 and release in r81920. Only for recent compilers though.

Note: See TracTickets for help on using tickets.