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.