sabuffa Posted May 16, 2013 Share Posted May 16, 2013 When I compile the code I got fromhttps://github.com/mumble-voip/mumble (zipped version since I can't use Git where I currently am) thenfollowing the instructions onhttp://mumble.sourceforge.net/BuildingWindows thecompilation seems to fail when I am building MurmurIce.cpp.Could it be because I perhaps zipped up the latest dev codethat it doesn\'t compile? I\'m new to working with mumblesource and Ice so I\'m not quite sure as of yet and wouldn\'tbe surprised if the problem is some sort of dependency issue. C:\dev\mumble\src\murmur\Murmur.h(7852) : error C2040: 'ctx' : 'const Ice::Context &' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 8 C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 7 C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2535: 'Ice::AsyncResultPtr IceProxy::Murmur::Server::begin_addContextCallback(Ice::Int,const std::string &,const std::string &,const Murmur::ServerContextCallbackPrx &,Ice::Int,const IceInternal::Function &,const IceInternal::Function &,const IceInternal::Function &)' : member function already defined or declared with [ S=void (void) ] C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 7C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 8C:\dev\mumble\src\murmur\Murmur.h(7857) : error C2040: 'ctx' : 'const Ice::Context &' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 7 C:\dev\mumble\src\murmur\Murmur.h(7847) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2535: 'Ice::AsyncResultPtr IceProxy::Murmur::Server::begin_addContextCallback(Ice::Int,const std::string &,const std::string &,const Murmur::ServerContextCallbackPrx &,Ice::Int,const IceInternal::Function &,const IceInternal::Function &)' : member function already defined or declared with [ S=void (const Ice::AsyncResultPtr &) ] C:\dev\mumble\src\murmur\Murmur.h(7847) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 7C:\dev\mumble\src\murmur\Murmur.h(7864) : error C2040: 'ctx' : 'const Ice::Context *' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(10528) : fatal error C1903: unable to recover from previous error(s); stopping compilationMurmur.cppC:\dev\mumble\src\murmur\Murmur.h(7852) : error C2040: 'ctx' : 'const Ice::Context &' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 8 C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 7 C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2535: 'Ice::AsyncResultPtr IceProxy::Murmur::Server::begin_addContextCallback(Ice::Int,const std::string &,const std::string &,const Murmur::ServerContextCallbackPrx &,Ice::Int,const IceInternal::Function &,const IceInternal::Function &,const IceInternal::Function &)' : member function already defined or declared with [ S=void (void) ] C:\dev\mumble\src\murmur\Murmur.h(7842) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 7C:\dev\mumble\src\murmur\Murmur.h(7853) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 8C:\dev\mumble\src\murmur\Murmur.h(7857) : error C2040: 'ctx' : 'const Ice::Context &' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2572: 'IceProxy::Murmur::Server::begin_addContextCallback' : redefinition of default parameter : parameter 7 C:\dev\mumble\src\murmur\Murmur.h(7847) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2535: 'Ice::AsyncResultPtr IceProxy::Murmur::Server::begin_addContextCallback(Ice::Int,const std::string &,const std::string &,const Murmur::ServerContextCallbackPrx &,Ice::Int,const IceInternal::Function &,const IceInternal::Function &)' : member function already defined or declared with [ S=void (const Ice::AsyncResultPtr &) ] C:\dev\mumble\src\murmur\Murmur.h(7847) : see declaration of 'IceProxy::Murmur::Server::begin_addContextCallback'C:\dev\mumble\src\murmur\Murmur.h(7858) : error C2548: 'IceProxy::Murmur::Server::begin_addContextCallback' : missing default parameter for parameter 7C:\dev\mumble\src\murmur\Murmur.h(7864) : error C2040: 'ctx' : 'const Ice::Context *' differs in levels of indirection from 'Ice::Int'C:\dev\mumble\src\murmur\Murmur.h(10528) : fatal error C1903: unable to recover from previous error(s); stopping compilationNMAKE : fatal error U1077: 'cl' : return code '0x2'Stop.NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'Stop.NMAKE : fatal error U1077: 'cd' : return code '0x2'Stop. I am using the following dependencies, compiling for x86windows:- boost 1.53.0- latest mySQL- protobuf-2.5.0- openssl-1.0.1d- latest stable speex and opus code- latest ZeroC Ice- latest nasm (2.10.07)- latest activePerl 5.16.3 (x86)Any help would be appreciated. Link to comment Share on other sites More sharing options...
sabuffa Posted May 21, 2013 Author Share Posted May 21, 2013 After playing around with a bunch of settings I was never able to get it compile with the latest version of ICE (3.5.0) as specified in the building for windows instructions. The main issues with the 3.5.0 version of ICE was that in Murmur.ice line 597 there is the following: void addContextCallback(int session, string action, string text, ServerContextCallback *cb, int ctx) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; Ice 3.5.0 auto-generates a function that has another variable named ctx so it fails during compilation. Changing it to: void addContextCallback(int session, string action, string text, ServerContextCallback *cb, int ct) throws ServerBootedException, InvalidCallbackException, InvalidSecretException; fixed that problem. Next was the problem that there is no vc100 directory in ICE 3.5.0, only vc110. If I remember correctly, vc110 is for visual studio 2012, although on the Ice website they say that 3.5.0 is supposed to work with visual studio 2010 SP1, which I had installed. In any case, by uninstalling version 3.5.0 and instead installing version 3.4.2 (which is what the 1.2.4 rc is using) I was able to successfully build without issue. I suggest modifying the BuildingWindows page to note this since it currently says to get the latest one. Link to comment Share on other sites More sharing options...
Administrators kissaki Posted May 30, 2013 Administrators Share Posted May 30, 2013 Ice 3.5 is pretty new, and I’m not sure others actually tried to compile Mumble with Ice 3.5 up to now. I certainly did not. :)Thank you for reporting back, I changed the wiki page to not say "latest version of ice". Link to comment Share on other sites More sharing options...
Administrators hacst Posted June 2, 2013 Administrators Share Posted June 2, 2013 For now the simplest workaround is using gcc 4.6 to compile mumble. Ice <3.5, as you noted, won't properly compile with gcc 4.7. For that you have to have gcc 4.6 installed and explicitely tell qmake to use it:qmake-qt4 CONFIG-=sse2 QMAKE_CC=gcc-4.6 QMAKE_CXX=g++-4.6 QMAKE_LINK=g++-4.6 -recursive Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now