Здесь вы указываете только путь поиска включаемого файла, без -L
для связывания соответствующих библиотек:
g++ -I /home/dj/boost_1_65_1/boost script.cpp -o test -std=c++11 -lboost_filesystem -lboost_system
Если это компилируется, то компоновщик и среда выполнения используют библиотеки повышения Ubuntu. Теперь я понятия не имею, как это может привести к полученному эффекту, но при смешивании версий, подобных этой, могут происходить забавные вещи.
Попробуйте скомпилировать что-то вроде этого (исправьте пути по мере необходимости), чтобы компоновщик искал вашу собственную версию библиотек:
g++ -I /home/dj/boost_1_65_1/boost script.cpp -o test -std=c++11 -L/home/dj/boost_1_65_1/boost -lboost_filesystem -lboost_system
Затем, чтобы использовать правильную библиотеку во время выполнения, вы можете использовать это (примечание, одна командная строка):
LD_LIBRARY_PATH=/home/dj/boost_1_65_1/boost ./test
Или что-то подобное, вы поняли идею, я надеюсь.