# Trouble compiling Ardour 2 - slot.h

Ok, so I checked out the latest svn version that I can (1430 according to my svn client) but I can't get it to compile. I had some problems with a configure script that I resolved, but now the problem seems to be with the file libs/sigc++2/sigc++/functors/slot.h. If anyone could offer some assistance, I would certainly appreciate it. I'm using scons VST=1 as my build command. The output from this is below. Hopefully someone can use it to help me get up and running. Thanks. :)

g++ -o libs/sigc++2/sigc++/connection.os -c -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -fno-strict-aliasing -DARCH_X86 -mmmx -m3dnow -msse -mfpmath=sse -DBUILD_SSE_OPTIMIZATIONS -DUSE_X86_64_ASM -Wall -DHAVE_LIBLO -DENABLE_NLS -Woverloaded-virtual -fPIC -Ilibs/sigc++2 libs/sigc++2/sigc++/connection.cc

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take)’:

libs/sigc++2/sigc++/functors/slot.h:136: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call2<T_functor, T_return, T_arg1, T_arg2>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take)’:

libs/sigc++2/sigc++/functors/slot.h:172: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:172: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call3<T_functor, T_return, T_arg1, T_arg2, T_arg3>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take, typename sigc::type_trait<T_arg5>::take)’:

libs/sigc++2/sigc++/functors/slot.h:210: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:210: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:210: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call4<T_functor, T_return, T_arg1, T_arg2, T_arg3, T_arg4>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take, typename sigc::type_trait<T_arg5>::take, typename sigc::type_trait<T_arg6>::take)’:

libs/sigc++2/sigc++/functors/slot.h:250: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:250: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:250: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:250: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call5<T_functor, T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take, typename sigc::type_trait<T_arg5>::take, typename sigc::type_trait<T_arg6>::take, typename sigc::type_trait<T_arg7>::take)’:

libs/sigc++2/sigc++/functors/slot.h:292: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:292: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:292: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:292: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:292: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call6<T_functor, T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take, typename sigc::type_trait<T_arg5>::take, typename sigc::type_trait<T_arg6>::take, typename sigc::type_trait<T_arg7>::take, typename sigc::type_trait<T_arg6>::take)’:

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:336: error: expected `(' before ‘>’ token

libs/sigc++2/sigc++/functors/slot.h: In static member function ‘static T_return sigc::internal::slot_call7<T_functor, T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::call_it(sigc::internal::slot_rep*, typename sigc::type_trait<T_arg3>::take, typename sigc::type_trait<T_arg4>::take, typename sigc::type_trait<T_arg5>::take, typename sigc::type_trait<T_arg6>::take, typename sigc::type_trait<T_arg7>::take, typename sigc::type_trait<T_arg6>::take, typename sigc::type_trait<T_arg7>::take)’:

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘,’ token

libs/sigc++2/sigc++/functors/slot.h:382: error: expected `(' before ‘>’ token

scons: *** [libs/sigc++2/sigc++/connection.os] Error 1

scons: building terminated because of errors.

I got some help from the guys in the #ardour IRC channel and got this resolved (Thanks! :). In case anyone has a similar problem, I went into the libs/sigc++2 dir and ran scons -uc, then tried again.

I also had a problem with vst_plugin.cc because I'm on AMD64. I corrected it by changing the cast on line 485 from int to long, but apparently 32-bit VSTs won't work on AMD64 anyway.