Ваша проблема со сборкой, вероятно, связана с разрешениями, унаследованными от C:\Users\franc
, которые привинчивают разрешение на выполнение, необходимое для процесса сборки.
Используйте каталоги /home/franc
или /usr/src
или другие подобные.
Do NOT
сборка под Windows Домашними каталогами.
К сожалению, вы не можете собрать программу на Cygwin по другой причине, см. Ниже:
В правильном каталоге у вас будет:
$ ./configure
Configuring extundelete 0.2.4
Writing generated files to disk
Чтобы избежать некоторой ошибки области видимости Вы можете удалить ограничивающий вызов из make-файлов
$ find . -name Makefile -exec sed -e "s/-std=c99//" -i {} \;
$ find . -name Makefile -exec sed -e "s/-std=c++0x -std=c++11//" -i {} \;
, а затем build
$ make
make -s all-recursive
Making all in src
...
insertionops.cc: In function ‘std::ostream& operator<<(std::ostream&, const ext2_inode&)’:
insertionops.cc:36:36: error: ‘const struct ext2_inode’ has no member named ‘i_dir_acl’; did you mean ‘i_file_acl’?
36 | os << "Directory ACL: " << inode.i_dir_acl << std::endl;
| ^~~~~~~~~
| i_file_acl
make[2]: *** [Makefile:437: extundelete-insertionops.o] Error 1
make[1]: *** [Makefile:268: all-recursive] Error 1
make: *** [Makefile:208: all] Error 2
и не можете преодолеть отсутствие расширенного свойства в структуре inode Cygwin ext2.
Поскольку Cygwin является Windows программой пользовательского режима, она не может смонтировать файловую систему, не распознаваемую Windows, так как ее поддержка ext2 очень ограничена и в основном сосредоточена на создании файловой системы на внешнем диске, но на самом деле она не может используй это.