Я использую Pop! _OS (производная от ubuntu) и могу установить boost (libboost-all-dev) из репозиториев по умолчанию. Я знаю, что он установлен правильно, так как я могу скомпилировать и запустить простой пример boost odeint с помощью G CC.
Однако, когда я попытался запустить тот же пример в ноутбуке jupyter с использованием ядра zeus-cling, я получил ошибка при включении заголовка odeint. Я могу воссоздать ошибку при выполнении этого кода:
#pragma cling add_include_path("/usr/include")
#include <boost/numeric/odeint.hpp>
Я получаю сообщение об ошибке:
In file included from input_line_8:1:
In file included from /usr/include/boost/numeric/odeint.hpp:22:
In file included from /usr/include/boost/numeric/odeint/config.hpp:44:
In file included from /usr/include/boost/config.hpp:48:
In file included from /usr/include/boost/config/stdlib/libstdcpp3.hpp:78:
/usr/include/unistd.h:756:28: error: expected function body after function declarator
extern __pid_t fork (void) __THROWNL;
^
/usr/include/unistd.h:869:11: fatal error: 'bits/getopt_posix.h' file not found
# include <bits/getopt_posix.h>
^~~~~~~~~~~~~~~~~~~~~
Interpreter Error:
Из того, что я понимаю bits/getopt_posix.h
- это заголовок только G CC Таким образом, я думаю, что проблема может заключаться в том, что заголовки boost настраиваются так, как если бы они компилировались в G CC вместо cling / clang.
Итак, как правильно включить boost в ноутбуке xeus-cling jupyter?