[log][phoenix][spirit] Cygwin compiler crashes in actor_operator_10.hpp

All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3. The line that crashes compiling his code is: $ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -fno-strict-aliasing -ftemplate-depth-1024 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_SETUP_BUILDING_THE_LIB=1 -DBOOST_LOG_USE_NATIVE_SYSLOG=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2\libs\log\build\gcc-4.5.3\release\link-static\threading-multi\formatt er_parser.o" ./libs/log/src/formatter_parser.cpp The result is: ...
./libs/log/src/formatter_parser.cpp:447:95: instantiated from here ./boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:2307: internal compiler error: Segmentation fault
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix. Could somebody please have a look at this? Thank you so much, -- Bernd

On 1/29/13 12:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is: [snip]
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
It's a compiler problem. It's neither a problem of Spirit nor Phoenix ;-) Is there any chance you can use a newer version of GCC? Also, have you tried not defining -DBOOST_SPIRIT_USE_PHOENIX_V3? Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com

On Tuesday 29 January 2013 00:52:04 Joel de Guzman wrote:
On 1/29/13 12:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is: [snip]
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
It's a compiler problem. It's neither a problem of Spirit nor Phoenix ;-) Is there any chance you can use a newer version of GCC? Also, have you tried not defining -DBOOST_SPIRIT_USE_PHOENIX_V3?
Boost.Log uses Boost.Phoenix v3 for its expressions, and as I understand Boost.Spirit will not compile if this macro is not defined.

On 1/29/13 1:47 AM, Andrey Semashev wrote:
On Tuesday 29 January 2013 00:52:04 Joel de Guzman wrote:
On 1/29/13 12:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is: [snip]
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
It's a compiler problem. It's neither a problem of Spirit nor Phoenix ;-) Is there any chance you can use a newer version of GCC? Also, have you tried not defining -DBOOST_SPIRIT_USE_PHOENIX_V3?
Boost.Log uses Boost.Phoenix v3 for its expressions, and as I understand Boost.Spirit will not compile if this macro is not defined.
I see. I'll look into it as soon as I can (quite busy at the moment). It would be best of the op adds a trac ticket so this won't be missed. Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com

On Mon, Jan 28, 2013 at 10:28 PM, Joel de Guzman <djowel@gmail.com> wrote:
On 1/29/13 1:47 AM, Andrey Semashev wrote:
On Tuesday 29 January 2013 00:52:04 Joel de Guzman wrote:
On 1/29/13 12:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is:
[snip]
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
It's a compiler problem. It's neither a problem of Spirit nor Phoenix ;-) Is there any chance you can use a newer version of GCC? Also, have you tried not defining -DBOOST_SPIRIT_USE_PHOENIX_V3?
Boost.Log uses Boost.Phoenix v3 for its expressions, and as I understand Boost.Spirit will not compile if this macro is not defined.
I see. I'll look into it as soon as I can (quite busy at the moment). It would be best of the op adds a trac ticket so this won't be missed.
I've created a ticket: https://svn.boost.org/trac/boost/ticket/7946

On Tuesday 29 January 2013 00:52:04 Joel de Guzman wrote:
On 1/29/13 12:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is: [snip]
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
It's a compiler problem. It's neither a problem of Spirit nor Phoenix ;-)
Do you have any insights on what might be breaking the compiler? Some workaround perhaps? 4.5 is not that old, it's a shame that Boost.Log doesn't compile with it.

On 01/28/2013 08:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is:
$ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -fno-strict-aliasing -ftemplate-depth-1024 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_SETUP_BUILDING_THE_LIB=1 -DBOOST_LOG_USE_NATIVE_SYSLOG=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2\libs\log\build\gcc-4.5.3\release\link-static\threading-multi\formatt er_parser.o" ./libs/log/src/formatter_parser.cpp
The result is: ...
./libs/log/src/formatter_parser.cpp:447:95: instantiated from here ./boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:2307: internal compiler error: Segmentation fault
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
Thank you so much, -- Bernd
Hi Bernd - Where can I find the Boost.Log version you are using? Which Boost version is it being paired with? Thanks - michael -- Michael Caisse ciere consulting ciere.com

On Tue, Jan 29, 2013 at 7:14 AM, Michael Caisse <mcaisse-lists@ciere.com> wrote:
Where can I find the Boost.Log version you are using? Which Boost version is it being paired with?
You can checkout Boost.Log from svn trunk: svn co https://boost-log.svn.sourceforge.net/svnroot/boost-log/trunk/boost-log boost-log Just copy or link the relevant directories to Boost tree and compile the library to see the problem. I'm not sure what Boost version the OP uses but I've experienced the problem on branches/release revision 82348. I can try again with a newer revision later.

On 01/28/2013 08:19 PM, Andrey Semashev wrote:
On Tue, Jan 29, 2013 at 7:14 AM, Michael Caisse <mcaisse-lists@ciere.com> wrote:
Where can I find the Boost.Log version you are using? Which Boost version is it being paired with?
You can checkout Boost.Log from svn trunk:
svn co https://boost-log.svn.sourceforge.net/svnroot/boost-log/trunk/boost-log boost-log
Just copy or link the relevant directories to Boost tree and compile the library to see the problem.
I'm not sure what Boost version the OP uses but I've experienced the problem on branches/release revision 82348. I can try again with a newer revision later.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Thanks Andrey -- Michael Caisse ciere consulting ciere.com

On Tue, Jan 29, 2013 at 8:19 AM, Andrey Semashev <andrey.semashev@gmail.com> wrote:
On Tue, Jan 29, 2013 at 7:14 AM, Michael Caisse <mcaisse-lists@ciere.com> wrote:
Where can I find the Boost.Log version you are using? Which Boost version is it being paired with?
You can checkout Boost.Log from svn trunk:
svn co https://boost-log.svn.sourceforge.net/svnroot/boost-log/trunk/boost-log boost-log
Just copy or link the relevant directories to Boost tree and compile the library to see the problem.
I'm not sure what Boost version the OP uses but I've experienced the problem on branches/release revision 82348. I can try again with a newer revision later.
The problem is still present in branches/release rev.82662.

On 1/28/2013 10:14 PM, Michael Caisse wrote:
On 01/28/2013 08:38 AM, Bernd Prager wrote:
All, I am trying to compile the trunk version of Andrey Semashev's great Boost.Log library in Cygwin 1.7.17 with g++ 4.5.3.
The line that crashes compiling his code is:
$ "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -fno-strict-aliasing -ftemplate-depth-1024 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_SETUP_BUILDING_THE_LIB=1 -DBOOST_LOG_USE_NATIVE_SYSLOG=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2\libs\log\build\gcc-4.5.3\release\link-static\threading-multi\formatt
er_parser.o" ./libs/log/src/formatter_parser.cpp
The result is: ...
./libs/log/src/formatter_parser.cpp:447:95: instantiated from here
./boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp:31:2307:
internal compiler error: Segmentation fault
Andrey suggests it might be related to the Boost.Spirit parser rather then Boost.Phoenix.
Could somebody please have a look at this?
Thank you so much, -- Bernd
Hi Bernd -
Where can I find the Boost.Log version you are using? Which Boost version is it being paired with?
Thanks - michael
Michael, I am using the svn repository in both cases and just link the log directories into the boost path: $ svn info ../boost-log/ Path: /home/bernd_prager/Software/boost-log Working Copy Root Path: /home/bernd_prager/Software/boost-log URL: https://boost-log.svn.sourceforge.net/svnroot/boost-log Repository Root: https://boost-log.svn.sourceforge.net/svnroot/boost-log Repository UUID: ab6a8de6-4e00-4c3d-a860-8899c17d353f Revision: 815 Node Kind: directory Schedule: normal Last Changed Author: andysem Last Changed Rev: 815 Last Changed Date: 2013-01-25 13:03:14 -0500 (Fri, 25 Jan 2013) $ svn info ../boost-trunk/ Path: . Working Copy Root Path: /home/bernd_prager/Software/boost-trunk URL: http://svn.boost.org/svn/boost/trunk Repository Root: http://svn.boost.org/svn/boost Repository UUID: b8fc166d-592f-0410-95f2-cb63ce0dd405 Revision: 82625 Node Kind: directory Schedule: normal Last Changed Author: viboes Last Changed Rev: 82624 Last Changed Date: 2013-01-26 11:20:05 -0500 (Sat, 26 Jan 2013) $ file boost/log libs/log boost/log: symbolic link to `/home/bernd_prager/Software/boost-log/trunk/boost-log/boost/log/' libs/log: symbolic link to `/home/bernd_prager/Software/boost-log/trunk/boost-log/libs/log/'
participants (4)
-
Andrey Semashev
-
Bernd Prager
-
Joel de Guzman
-
Michael Caisse