Opened 5 years ago
Last modified 5 years ago
#13449 new Bugs
Execution of boost_mpl_preprocess.py fails if $(boost_root) path contains the string "linux"
Reported by: | Owned by: | Aleksey Gurtovoy | |
---|---|---|---|
Milestone: | To Be Determined | Component: | mpl |
Version: | Boost 1.63.0 | Severity: | Problem |
Keywords: | Cc: |
Description
How to reproduce:
Build System: Ubuntu 16.04.0 LTS GCC: all
Let's say that we have the boost sources in /tmp/boost-linux/boost_1_X_X
The important thing is to have the string linux
in the boost-root
variable.
Error log:
python boost_mpl_preprocess.py In file included from /tmp/boost-linux/boost_1_63_0/libs/mpl/preprocessed/vector/vector40.cpp:15:0: /tmp/boost-linux/boost_1_63_0/boost/config.hpp:30:29: fatal error: /tmp/boost-1/boost_1_63_0/libs/mpl/preprocessed/include/plain/user.hpp: No such file or directory compilation terminated. In file included from /tmp/boost-linux/boost_1_63_0/libs/mpl/preprocessed/vector/vector70.cpp:15:0: /tmp/boost-linux/boost_1_63_0/boost/config.hpp:30:29: fatal error: /tmp/boost-1/boost_1_63_0/libs/mpl/preprocessed/include/plain/user.hpp: No such file or directory compilation terminated. In file included from /tmp/boost-linux/boost_1_63_0/libs/mpl/preprocessed/vector/vector30.cpp:15:0: /tmp/boost-linux/boost_1_63_0/boost/config.hpp:30:29: fatal error: /tmp/boost-1/boost_1_63_0/libs/mpl/preprocessed/include/plain/user.hpp: No such file or directory compilation terminated.
Problem:
This appears because in preprocess.cmd
gcc is invoked with include files included with angle brackets, so if we have the string linux
it will be evaluated to 1
because it is a macro
Note:
See TracTickets
for help on using tickets.
linux is a macro defined to 1. In <> case the macro is expanded while in "" case, the token is a string.