Compilation issue

I'm trying to compile an executable with the following command: g++ -Wall -pedantic -g -O3 -DDEBUG -march=native -std=c++0x -lboost_regex -o wrapCMCC wrapCMCC.cpp On an Ubuntu machine with GCC 4.5.2 and BOOST-1.42.0 I can compile without problems. But on a CentOS Linux using GCC 4.4.4 and BOOST-1.46.1 I obtain this error: In file included from /usr/include/boost/mpl/bind.hpp:27, from /usr/include/boost/mpl/lambda.hpp:18, from /usr/include/boost/mpl/iter_fold.hpp:20, from /usr/include/boost/variant/detail/initializer.hpp:27, from /usr/include/boost/variant/variant.hpp:28, from /usr/include/boost/variant.hpp:17, from cmdLine.cpp:31, from wrapCMCC.cpp:1: /usr/include/boost/mpl/apply_wrap.hpp:81:31: error: missing binary operator before token "(" /usr/include/boost/mpl/apply_wrap.hpp:173:31: error: missing binary operator before token "(" ... What does this message means? Thanks in advance... -- Alessandro Candini MEEO S.r.l. Via Saragat 9 I-44122 Ferrara, Italy Tel: +39 0532 1861501 Fax: +39 0532 1861637 http://www.meeo.it ======================================== "ATTENZIONE:le informazioni contenute in questo messaggio sono da considerarsi confidenziali ed il loro utilizzo è riservato unicamente al destinatario sopra indicato. Chi dovesse ricevere questo messaggio per errore è tenuto ad informare il mittente ed a rimuoverlo definitivamente da ogni supporto elettronico o cartaceo." "WARNING:This message contains confidential and/or proprietary information which may be subject to privilege or immunity and which is intended for use of its addressee only. Should you receive this message in error, you are kindly requested to inform the sender and to definitively remove it from any paper or electronic format."

On an Ubuntu machine with GCC 4.5.2 and BOOST-1.42.0 I can compile without problems.
But on a CentOS Linux using GCC 4.4.4 and BOOST-1.46.1 I obtain this error:
In file included from /usr/include/boost/mpl/bind.hpp:27, from /usr/include/boost/mpl/lambda.hpp:18, from /usr/include/boost/mpl/iter_fold.hpp:20, from /usr/include/boost/variant/detail/initializer.hpp:27, from /usr/include/boost/variant/variant.hpp:28, from /usr/include/boost/variant.hpp:17, from cmdLine.cpp:31, from wrapCMCC.cpp:1: /usr/include/boost/mpl/apply_wrap.hpp:81:31: error: missing binary operator before token "(" /usr/include/boost/mpl/apply_wrap.hpp:173:31: error: missing binary operator before token "(" ... What does this message means?
It means you've got a syntax error in the line 31 of cmdLine.cpp source file. You might want to look at the proprocessed source file.

I read the message but why can I compile even without a warning on the Ubuntu machine? Maybe is not a problem of my source but a problem of the combination of that GCC and BOOST version on CentOS machine. Do you have any idea on how to fix or at least investigate it, without update GCC or BOOST?
On an Ubuntu machine with GCC 4.5.2 and BOOST-1.42.0 I can compile without problems.
But on a CentOS Linux using GCC 4.4.4 and BOOST-1.46.1 I obtain this error:
In file included from /usr/include/boost/mpl/bind.hpp:27, from /usr/include/boost/mpl/lambda.hpp:18, from /usr/include/boost/mpl/iter_fold.hpp:20, from /usr/include/boost/variant/detail/initializer.hpp:27, from /usr/include/boost/variant/variant.hpp:28, from /usr/include/boost/variant.hpp:17, from cmdLine.cpp:31, from wrapCMCC.cpp:1: /usr/include/boost/mpl/apply_wrap.hpp:81:31: error: missing binary operator before token "(" /usr/include/boost/mpl/apply_wrap.hpp:173:31: error: missing binary operator before token "(" ... What does this message means?
It means you've got a syntax error in the line 31 of cmdLine.cpp source file. You might want to look at the proprocessed source file. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Alessandro Candini MEEO S.r.l. Via Saragat 9 I-44122 Ferrara, Italy Tel: +39 0532 1861501 Fax: +39 0532 1861637 http://www.meeo.it ======================================== "ATTENZIONE:le informazioni contenute in questo messaggio sono da considerarsi confidenziali ed il loro utilizzo è riservato unicamente al destinatario sopra indicato. Chi dovesse ricevere questo messaggio per errore è tenuto ad informare il mittente ed a rimuoverlo definitivamente da ogni supporto elettronico o cartaceo." "WARNING:This message contains confidential and/or proprietary information which may be subject to privilege or immunity and which is intended for use of its addressee only. Should you receive this message in error, you are kindly requested to inform the sender and to definitively remove it from any paper or electronic format."

I read the message but why can I compile even without a warning on the Ubuntu machine? Maybe is not a problem of my source but a problem of the combination of that GCC and BOOST version on CentOS machine.
Maybe it is. But do you really think anyone can *guess* what the problem is, without seeing even a single line of your source code?
Do you have any idea on how to fix or at least investigate it, without update GCC or BOOST?
I mentioned a possible direction to investigate: look at the preprocessed code. Perhaps, you've got a macro that messed up some variant or mpl code.

The problem is that at line 31 of my cmdLine.cpp I only have this:
#include
I read the message but why can I compile even without a warning on the Ubuntu machine? Maybe is not a problem of my source but a problem of the combination of that GCC and BOOST version on CentOS machine.
Maybe it is. But do you really think anyone can *guess* what the problem is, without seeing even a single line of your source code?
Do you have any idea on how to fix or at least investigate it, without update GCC or BOOST?
I mentioned a possible direction to investigate: look at the preprocessed code. Perhaps, you've got a macro that messed up some variant or mpl code. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Alessandro Candini
-
candini
-
Igor R