[GiNaC-list] build problems with ver.1.3.3

Richard B. Kreckel kreckel at ginac.de
Sat Nov 26 22:02:27 CET 2005


Hi!

Sheplyakov Alexei wrote:

>  
>
>if g++-4.1 -DHAVE_CONFIG_H -I. -I. -I../config -I./../ginac -I../ginac    -O2 -g -finline-limit=1000 -pipe -MT exam_structure.o -MD -MP -MF ".deps/exam_structure.Tpo" -c -o exam_structure.o exam_structure.cpp; \
>then mv -f ".deps/exam_structure.Tpo" ".deps/exam_structure.Po"; else rm -f ".deps/exam_structure.Tpo"; exit 1; fi
>exam_structure.cpp:50: error: specialization of ‘void GiNaC::structure<T, ComparisonPolicy>::print(const GiNaC::print_context&, unsigned int) const [with T = sprod_s, ComparisonPolicy = GiNaC::compare_std_less]’ in different namespace
>exam_structure.cpp:50: error:   from definition of ‘void GiNaC::structure<T, ComparisonPolicy>::print(const GiNaC::print_context&, unsigned int) const [with T = sprod_s, ComparisonPolicy = GiNaC::compare_std_less]’
>exam_structure.cpp:56: error: specialization of ‘GiNaC::ex GiNaC::structure<T, ComparisonPolicy>::eval(int) const [with T = sprod_s, ComparisonPolicy = GiNaC::compare_std_less]’ in different namespace
>exam_structure.cpp:56: error:   from definition of ‘GiNaC::ex GiNaC::structure<T, ComparisonPolicy>::eval(int) const [with T = sprod_s, ComparisonPolicy = GiNaC::compare_std_less]’
>  
>

Are you sure this is not the latest GCC whim which will disappear again? 
(We've seen quite a few of these, lately.)

If yes, the specialization of bar::f() below must really be wrapped in 
namespace A?

namespace A {
template<class T>
class foo {
public:
void f();
};
} // namespace A
namespace B {
typedef A::foo<int> bar;
template<> void bar::f();
} // namespace B

Oouw, sucks...

-richy.

-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>



More information about the GiNaC-list mailing list