mass error compiling in recent updates

Discussion and help for Compilation problems and platform portability.

Moderator: coordinators

Re: mass error compiling in recent updates

Postby bat3a » Mon Apr 16, 2012 10:36 pm

Have you updated the project files correctly
i updated repositories only.
i'll re-download, re-extract the deps and compile again (if Allah wishes) then i'll report, thanks.
bat3a
 
Posts: 50
Joined: Fri Jul 09, 2010 8:21 am

Re: mass error compiling in recent updates

Postby bat3a » Tue Apr 17, 2012 9:47 pm

hi again
i re-downloaded the deps and extracted and compiled it OK, i pulled todays rev. then:
x64 compiles ok, but x86 does not compile and i get this error:
Code: Select all
1>------ Build started: Project: liblux, Configuration: Release Win32 ------
2>------ Build started: Project: smallluxgpu, Configuration: Release Win32 ------
2>Linking...
1>Compiling...
1>rendererstatistics.cpp
1>sppmstatistics.cpp
1>samplerstatistics.cpp
1>hybridsamplerstatistics.cpp
1>Z:\Development\luxrender\deps\x86\boost_1_47_0\boost/bind/bind.hpp(1709) : error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'
1>        with
1>        [
1>            Pm=std::basic_string<char,std::char_traits<char>,std::allocator<char>> (lux::RendererStatistics::FormattedLong::* )(void),
1>            I=1
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(339) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
1>        with
1>        [
1>            Pm=std::string (__thiscall lux::RendererStatistics::FormattedLong::* )(void),
1>            A1=boost::reference_wrapper<lux::RendererStatistics::FormattedLong>
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(181) : see reference to function template instantiation 'void lux::Queryable::AddAttrib<lux::QueryableStringAttribute,T,std::string>(T &,const std::string &,const std::string &,D (__thiscall lux::RendererStatistics::FormattedLong::* )(void),void (__thiscall lux::RendererStatistics::FormattedLong::* )(D))' being compiled
1>        with
1>        [
1>            T=lux::RendererStatistics::FormattedLong,
1>            D=std::string
1>        ]
1>        ..\..\..\lux\core\rendererstatistics.cpp(155) : see reference to function template instantiation 'void lux::AddStringAttribute<lux::RendererStatistics::FormattedLong>(T &,const std::string &,const std::string &,std::string (__thiscall lux::RendererStatistics::FormattedLong::* )(void),void (__thiscall lux::RendererStatistics::FormattedLong::* )(std::string))' being compiled
1>        with
1>        [
1>            T=lux::RendererStatistics::FormattedLong
1>        ]
1>samplerrenderer.cpp
1>Z:\Development\luxrender\deps\x86\boost_1_47_0\boost/bind/bind.hpp(1709) : error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'
1>        with
1>        [
1>            Pm=std::basic_string<char,std::char_traits<char>,std::allocator<char>> (lux::HSRStatistics::FormattedLong::* )(void),
1>            I=1
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(339) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
1>        with
1>        [
1>            Pm=std::string (__thiscall lux::HSRStatistics::FormattedLong::* )(void),
1>            A1=boost::reference_wrapper<lux::HSRStatistics::FormattedLong>
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(181) : see reference to function template instantiation 'void lux::Queryable::AddAttrib<lux::QueryableStringAttribute,T,std::string>(T &,const std::string &,const std::string &,D (__thiscall lux::HSRStatistics::FormattedLong::* )(void),void (__thiscall lux::HSRStatistics::FormattedLong::* )(D))' being compiled
1>        with
1>        [
1>            T=lux::HSRStatistics::FormattedLong,
1>            D=std::string
1>        ]
1>        ..\..\..\lux\renderers\statistics\hybridsamplerstatistics.cpp(228) : see reference to function template instantiation 'void lux::AddStringAttribute<lux::HSRStatistics::FormattedLong>(T &,const std::string &,const std::string &,std::string (__thiscall lux::HSRStatistics::FormattedLong::* )(void),void (__thiscall lux::HSRStatistics::FormattedLong::* )(std::string))' being compiled
1>        with
1>        [
1>            T=lux::HSRStatistics::FormattedLong
1>        ]
1>Z:\Development\luxrender\deps\x86\boost_1_47_0\boost/bind/bind.hpp(1709) : error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'
1>        with
1>        [
1>            Pm=std::basic_string<char,std::char_traits<char>,std::allocator<char>> (lux::SRStatistics::FormattedLong::* )(void),
1>            I=1
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(339) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
1>        with
1>        [
1>            Pm=std::string (__thiscall lux::SRStatistics::FormattedLong::* )(void),
1>            A1=boost::reference_wrapper<lux::SRStatistics::FormattedLong>
1>        ]
1>        z:\Development\luxrender\lux\core\queryable\queryable.h(181) : see reference to function template instantiation 'void lux::Queryable::AddAttrib<lux::QueryableStringAttribute,T,std::string>(T &,const std::string &,const std::string &,D (__thiscall lux::SRStatistics::FormattedLong::* )(void),void (__thiscall lux::SRStatistics::FormattedLong::* )(D))' being compiled
1>        with
1>        [
1>            T=lux::SRStatistics::FormattedLong,
1>            D=std::string
1>        ]
1>        ..\..\..\lux\renderers\statistics\samplerstatistics.cpp(213) : see reference to function template instantiation 'void lux::AddStringAttribute<lux::SRStatistics::FormattedLong>(T &,const std::string &,const std::string &,std::string (__thiscall lux::SRStatistics::FormattedLong::* )(void),void (__thiscall lux::SRStatistics::FormattedLong::* )(std::string))' being compiled
1>        with
1>        [
1>            T=lux::SRStatistics::FormattedLong
1>        ]
1>hybridsamplerrenderer.cpp
1>bidirectional.cpp
1>Z:\Development\luxrender\deps\x86\boost_1_47_0\boost/bind/bind.hpp(1709) : error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'
1>        with
1>        [
1>            Pm=std::basic_string<char,std::char_traits<char>,std::allocator<char>> (lux::SPPMRStatistics::FormattedLong::* )(void),
1>            I=1
1>        ]
1>        z:\development\luxrender\lux\core\queryable\queryable.h(339) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
1>        with
1>        [
1>            Pm=std::string (__thiscall lux::SPPMRStatistics::FormattedLong::* )(void),
1>            A1=boost::reference_wrapper<lux::SPPMRStatistics::FormattedLong>
1>        ]
1>        z:\development\luxrender\lux\core\queryable\queryable.h(181) : see reference to function template instantiation 'void lux::Queryable::AddAttrib<lux::QueryableStringAttribute,T,std::string>(T &,const std::string &,const std::string &,D (__thiscall lux::SPPMRStatistics::FormattedLong::* )(void),void (__thiscall lux::SPPMRStatistics::FormattedLong::* )(D))' being compiled
1>        with
1>        [
1>            T=lux::SPPMRStatistics::FormattedLong,
1>            D=std::string
1>        ]
1>        ..\..\..\lux\renderers\statistics\sppmstatistics.cpp(124) : see reference to function template instantiation 'void lux::AddStringAttribute<lux::SPPMRStatistics::FormattedLong>(T &,const std::string &,const std::string &,std::string (__thiscall lux::SPPMRStatistics::FormattedLong::* )(void),void (__thiscall lux::SPPMRStatistics::FormattedLong::* )(std::string))' being compiled
1>        with
1>        [
1>            T=lux::SPPMRStatistics::FormattedLong
1>        ]
1>Build log was saved at "file://z:\Development\luxrender\windows\Projects\luxrender\BuildTemp\liblux\SSE2\Release\BuildLog.htm"
1>liblux - 4 error(s), 0 warning(s)
3>------ Build started: Project: pylux3, Configuration: Release Win32 ------
3>Linking...
3>LINK : fatal error LNK1181: cannot open input file 'liblux.lib'
3>Build log was saved at "file://z:\Development\luxrender\windows\Projects\luxrender\BuildTemp\pylux3\SSE2\Release\BuildLog.htm"
3>pylux3 - 1 error(s), 0 warning(s)
2>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-1_47.lib'
2>Build log was saved at "file://z:\Development\luxrender\windows\Projects\luxrays\BuildTemp\smallluxgpu\SSE2\Release\BuildLog.htm"
2>smallluxgpu - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 3 failed, 1 up-to-date, 0 skipped ==========
bat3a
 
Posts: 50
Joined: Fri Jul 09, 2010 8:21 am

Re: mass error compiling in recent updates

Postby Lord Crc » Wed Apr 18, 2012 2:30 am

bat3a wrote:hi again
i re-downloaded the deps and extracted and compiled it OK, i pulled todays rev. then:
x64 compiles ok, but x86 does not compile and i get this error


I got that error, but from what I could find it was specific to building with VS2010 using the vc90 toolchain, but I get it now too using VS2008, argh!

It seems the workaround is to wrap the offending parameter in a boost::mem_fn(), ie
Code: Select all
   AddStringAttribute(*this, "passCount", "Number of completed passes", &FL::getPassCount);

to
Code: Select all
   AddStringAttribute(*this, "passCount", "Number of completed passes", boost::mem_fn(&FL::getPassCount));


However I'm curious why this is working for you Omniflux? Did you change any compiler settings?
May contain traces of nuts.
User avatar
Lord Crc
Developer
 
Posts: 4458
Joined: Sat Nov 17, 2007 2:10 pm

Re: mass error compiling in recent updates

Postby bat3a » Wed Apr 18, 2012 7:41 pm

It seems the workaround is to wrap the offending parameter in a boost::mem_fn(), ie

in what file!
these are my errors a gain:
Code: Select all
Error   1   fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-1_47.lib'   smallluxgpu
Error   2   error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'   Z:\Development\luxrender\deps\x86\boost_1_47_0\boost\bind\bind.hpp   1709
Error   3   error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'   Z:\Development\luxrender\deps\x86\boost_1_47_0\boost\bind\bind.hpp   1709
Error   4   error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'   Z:\Development\luxrender\deps\x86\boost_1_47_0\boost\bind\bind.hpp   1709
Error   5   error C2027: use of undefined type 'boost::_bi::add_cref<Pm,I>'   Z:\Development\luxrender\deps\x86\boost_1_47_0\boost\bind\bind.hpp   1709
Error   6   fatal error LNK1181: cannot open input file 'liblux.lib'   pylux3
bat3a
 
Posts: 50
Joined: Fri Jul 09, 2010 8:21 am

Re: mass error compiling in recent updates

Postby Omniflux » Wed Apr 18, 2012 9:00 pm

Lord Crc wrote:However I'm curious why this is working for you Omniflux? Did you change any compiler settings?


It is not working for me. I broke my x86 boost when I upgraded from 1.43 to 1.47 and have been testing the same old binary ever since.

bat3a wrote:in what file!


I will commit a fix for this shortly. I am just rebuilding my x86 boost right now to test it.
Omniflux
Developer
 
Posts: 51
Joined: Mon Nov 15, 2010 8:41 pm

Re: mass error compiling in recent updates

Postby Omniflux » Wed Apr 18, 2012 9:48 pm

Fixed in lux:d6255950ebd0 and windows:3d3400f80ca3
Omniflux
Developer
 
Posts: 51
Joined: Mon Nov 15, 2010 8:41 pm

Re: mass error compiling in recent updates

Postby bat3a » Thu Apr 19, 2012 8:00 pm

ok i pulled and the x86 builds again, thanks.
bat3a
 
Posts: 50
Joined: Fri Jul 09, 2010 8:21 am

Re: mass error compiling in recent updates

Postby bat3a » Thu May 17, 2012 11:16 pm

hi

i pulled today and get this error on x86 and x64:
Code: Select all
1>Compiling...
1>renderfarm.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\utility(44) : error C2512: 'lux::RenderFarm::CompiledFile::CompiledFile' : no appropriate default constructor available
1>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\utility(43) : while compiling class template member function 'std::pair<_Ty1,_Ty2>::pair(void)'
1>        with
1>        [
1>            _Ty1=std::string,
1>            _Ty2=lux::RenderFarm::CompiledFile
1>        ]
1>        ..\..\..\lux\core\renderfarm.cpp(313) : see reference to class template instantiation 'std::pair<_Ty1,_Ty2>' being compiled
1>        with
1>        [
1>            _Ty1=std::string,
1>            _Ty2=lux::RenderFarm::CompiledFile
1>        ]
1>Build log was saved at "file://z:\Development\luxrender\windows\Projects\luxrender\BuildTemp\liblux\x64\Release\BuildLog.htm"
1>liblux - 1 error(s), 0 warning(s)


and a question BTW :)
does building with cuda 4.2 work?
bat3a
 
Posts: 50
Joined: Fri Jul 09, 2010 8:21 am

Re: mass error compiling in recent updates

Postby Lord Crc » Fri May 18, 2012 1:44 am

bat3a wrote:i pulled today and get this error on x86 and x64:[/code]


You're not alone.

I've pushed a fix, I hope.

bat3a wrote:does building with cuda 4.2 work?

No idea, I've got AMD
May contain traces of nuts.
User avatar
Lord Crc
Developer
 
Posts: 4458
Joined: Sat Nov 17, 2007 2:10 pm

Re: mass error compiling in recent updates

Postby Omniflux » Fri May 18, 2012 10:47 pm

bat3a wrote:does building with cuda 4.2 work?

Just tested, and the answer is yes.
Omniflux
Developer
 
Posts: 51
Joined: Mon Nov 15, 2010 8:41 pm

PreviousNext

Return to Compilation & Portability

Who is online

Users browsing this forum: No registered users and 0 guests