odr violations in x3/string/literal_string.hpp

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

odr violations in x3/string/literal_string.hpp

Orient
Lately I updated my boost installation checkouting the boost-1.58.0 tag and checkouting x3-devel branch in libs/spirit. I tried to build my old project and got an error:
clang++ -ccc-gcc-name g++ -stdlib=libc++ -o ../../../bin/meta_testd /tmp/skipper.o /tmp/parser.o /tmp/assembler.o /tmp/compiler.o /tmp/meta_test.o    
/usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard_wide::lit(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)'
/usr/local/bin/ld: /tmp/skipper.o: previous definition here
/usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard_wide::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)'
/usr/local/bin/ld: /tmp/skipper.o: previous definition here
/usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::ascii::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)'
/usr/local/bin/ld: /tmp/skipper.o: previous definition here
/usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard::string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/local/bin/ld: /tmp/skipper.o: previous definition here
/usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::iso8859_1::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)'
/usr/local/bin/ld: /tmp/skipper.o: previous definition here
clang-3.6: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [../../../bin/meta_testd] Error 1
I looked through headers and find out pointed functions is not inline-ed. I am not familiar with how to send a patch, therefore I posted the problem here.
Reply | Threaded
Open this post in threaded view
|

Re: odr violations in x3/string/literal_string.hpp

Joel de Guzman
On 5/14/15 12:34 PM, Orient wrote:
> Lately I updated my boost installation checkouting the boost-1.58.0 tag and
> checkouting x3-devel branch in libs/spirit. I tried to build my old project
> and got an error:
>
> I looked through headers and find out pointed functions is not *inline*-ed.
> I am not familiar with how to send a patch, therefore I posted the problem
> here.

Could you tell me which function (file, line) is not inlined? BTW, the
latest X3 is in the develop branch of boost.

Regards,
--
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|

Re: odr violations in x3/string/literal_string.hpp

Orient

Code avoided again. I posted via web: http://boost.2283326.n4.nabble.com/odr-violations-in-x3-string-literal-string-hpp-td4675499.html

clang++ -ccc-gcc-name g++ -stdlib=libc++ -o ../../../bin/meta_testd /tmp/skipper.o /tmp/parser.o /tmp/assembler.o /tmp/compiler.o /tmp/meta_test.o /usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard_wide::lit(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)' /usr/local/bin/ld: /tmp/skipper.o: previous definition here /usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard_wide::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)' /usr/local/bin/ld: /tmp/skipper.o: previous definition here /usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::ascii::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)' /usr/local/bin/ld: /tmp/skipper.o: previous definition here /usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::standard::string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)' /usr/local/bin/ld: /tmp/skipper.o: previous definition here /usr/local/bin/ld: error: /tmp/parser.o: multiple definition of 'boost::spirit::x3::iso8859_1::string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)' /usr/local/bin/ld: /tmp/skipper.o: previous definition here clang-3.6: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [../../../bin/meta_testd] Error 1

On 5/14/15 12:34 PM, Orient wrote:
> Lately I updated my boost installation checkouting the boost-1.58.0 tag and
> checkouting x3-devel branch in libs/spirit. I tried to build my old project
> and got an error:
>
> I looked through headers and find out pointed functions is not *inline*-ed.
> I am not familiar with how to send a patch, therefore I posted the problem
> here.

Could you tell me which function (file, line) is not inlined? BTW, the
latest X3 is in the develop branch of boost.

Regards,
--
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general



If you reply to this email, your message will be added to the discussion below:
http://boost.2283326.n4.nabble.com/odr-violations-in-x3-string-literal-string-hpp-tp4675499p4675505.html
To unsubscribe from odr violations in x3/string/literal_string.hpp, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: odr violations in x3/string/literal_string.hpp

Joel de Guzman
On 5/14/15 8:03 PM, Orient wrote:
> Code avoided again. I posted via
> web:http://boost.2283326.n4.nabble.com/odr-violations-in-x3-string-literal-string-hpp-td4675499.html
> <http://boost.2283326.n4.nabble.com/odr-violations-in-x3-string-literal-string-hpp-td4675499.html>
>
[...]

Which branch are you working on? The functions listed are inlined in the develop
branch. E.g: boost::spirit::x3::iso8859_1::string

Regards,
--
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|

Re: odr violations in x3/string/literal_string.hpp

Orient
My mistake. I really used outdated version of library (x3-devel, as I understand, is historical branch),