Как исправить ошибку компиляции с помощью GCC, путь порядка поиска (ошибка ввода/вывода)?
Один из наших системы Ubuntu 16.04 (5.4.0 ССЗ) происходит сбой компиляции, в которой ранее удалось. Отказ:
$ g++ -c -std=c++14 -Wall -pedantic -m64 -march=native -I../Kernel -I/net/simdata/Hudson_OpenSourceLibs/Boost/ -fpic -O3
../StarLibs/StdStars/ArithmeticCoding.cpp -o _gnuRelease/ArithmeticCoding.o
cc1plus: fatal error:
/net/simdata/Hudson_OpenSourceLibs/Boost/stdc-predef.h: Input/output error
compilation terminated.
Если я исключаю -я/чистая/simdata ... (что подключенный диск) компиляция завершается успешно без сбоев.
В случае отказа, порядок поиска:
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
../Kernel
/net/simdata/Hudson_OpenSourceLibs/Boost/
/usr/include/c++/5
/usr/include/x86_64-linux-gnu/c++/5
/usr/include/c++/5/backward
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
(показано, добавив-V в командную ССЗ).
Файл не на подключенный диск, но нашли (как и ожидалось) по адресу:
$ ls /usr/include/stdc-predef.h
/usr/include/stdc-predef.h
Горе, кажется, работает нормально:
$ ls /net/simdata/Hudson_OpenSourceLibs/Boost/rel-1.69.0/boost/
accumulators dll.hpp make_unique.hpp random.hpp
align dynamic_bitset math range
etc.
Я не понимаю, почему ССАГПЗ отчетности сбой ввода-вывода на диск и не удается найти файл в /usr/включать.
Может кто-нибудь помочь пожалуйста?
0
0 ответов