More compilation problems ..

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

More compilation problems ..

Bradley Arsenault
I'm having some more compilation problems. The downgrade to 5.0.2
indeed solved a variety of the errors, but I'm still getting one,
curious error, its almost as if you guys are sending me a message:

link_compatibility.o: In function
`luabind::detail::not_threadsafe_not_defined_conflict()':luabind/src/link_compatibility.cpp:31:
multiple definition of
`luabind::detail::not_threadsafe_not_defined_conflict()'
link_compatibility.o:luabind/src/link_compatibility.cpp:31: first defined here
link_compatibility.o: In function
`luabind::detail::no_error_checking_not_defined_conflict()':luabind/src/link_compatibility.cpp:37:
multiple definition of
`luabind::detail::no_error_checking_not_defined_conflict()'
link_compatibility.o:luabind/src/link_compatibility.cpp:37: first defined here
collect2: ld returned 1 exit status

I couldn't find any documentation arround it and examining the header
file makes me think its intentional.

Worse though, when trying to compile a file that #includes luabind and
does some luabind operations, the luabind headerfiles generated more
than 500 lines of errors, overflowing my terminal buffer. I'll
summarrize the lines causing them:


./luabind/detail/signature_match.hpp:252: error: expected
unqualified-id before '<' token
./luabind/detail/signature_match.hpp:252: error: 'converter3' has not
been declared
./luabind/detail/signature_match.hpp:252: error: 'mpl' has not been declared


./luabind/detail/call_function.hpp:359: error: 'object' is not a
member of 'luabind'

./luabind/detail/call_function.hpp:402: error: template declaration of
'typename boost::mpl::if_<boost::is_void<Ret>,
luabind::detail::proxy_function_void_caller<boost::tuples::tuple<boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >,
luabind::detail::proxy_function_caller<Ret,
boost::tuples::tuple<boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> > >::type luabind::resume_function'

./luabind/detail/call_function.hpp:402: error: expected
primary-expression before 'const'

./luabind/detail/call_function.hpp:359: error: template declaration of
'typename boost::mpl::if_<boost::is_void<Ret>,
luabind::detail::proxy_function_void_caller<boost::tuples::tuple<const
A0*, const A1*, const A2*, const A3*, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >,
luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<const
A0*, const A1*, const A2*, const A3*, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> > >::type luabind::call_function'

./luabind/function.hpp:359: error: expected `}' before 'BOOST_PP_ENUM_TRAILING'
./luabind/function.hpp:359: error: expected ',' or ';' before
'BOOST_PP_ENUM_TRAILING'

./luabind/function.hpp:389: error: expected `}' before 'BOOST_PP_ENUM_TRAILING'
./luabind/function.hpp:389: error: expected ',' or ';' before
'BOOST_PP_ENUM_TRAILING'

Most of these errors are repeated 50+ times.

Theres also a bunch of errors in my own file, but I want to clear up
the above ones before I work on it.


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: More compilation problems ..

Arvid Norberg-2

On Jul 14, 2006, at 20:32, Bradley Arsenault wrote:

> I'm having some more compilation problems. The downgrade to 5.0.2
> indeed solved a variety of the errors, but I'm still getting one,
> curious error, its almost as if you guys are sending me a message:
>
> link_compatibility.o: In function
> `luabind::detail::not_threadsafe_not_defined_conflict()':luabind/
> src/link_compatibility.cpp:31:
> multiple definition of
> `luabind::detail::not_threadsafe_not_defined_conflict()'
> link_compatibility.o:luabind/src/link_compatibility.cpp:31: first  
> defined here
> link_compatibility.o: In function
> `luabind::detail::no_error_checking_not_defined_conflict()':luabind/
> src/link_compatibility.cpp:37:
> multiple definition of
> `luabind::detail::no_error_checking_not_defined_conflict()'
> link_compatibility.o:luabind/src/link_compatibility.cpp:37: first  
> defined here
> collect2: ld returned 1 exit status
>
> I couldn't find any documentation arround it and examining the header
> file makes me think its intentional.

The link_compatibility.cpp will make sure you get a link error if the  
luabind library was built with compile-time settings that are  
incompatible with the project you're linking it against.

The idea is that (empty) functions are defined in the luabind  
library, their names depends on the settings (specifically the  
precense of the macros LUABIND_NOT_THREADSAFE and  
LUABIND_NO_ERROR_CHECKING). And in a header that is included by the  
application linking against luabind, it forward declares the same  
functions, whose names depend on the settings, and tries to call  
them. If the settings are not the same, the functions will be  
undefined, and generate a linker error.

But I don't understand why you would get multiple definitions of it.  
It's only defined in a single cpp file. Grepping for it gives the  
following results:

$ grep -r not_threadsafe_not_defined_conflict src luabind
src/link_compatibility.cpp:     void  
not_threadsafe_not_defined_conflict() {}
luabind/detail/link_compatibility.hpp:  LUABIND_API void  
not_threadsafe_not_defined_conflict();
luabind/detail/link_compatibility.hpp:          
not_threadsafe_not_defined_conflict();

--
Arvid Norberg




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user