Файл является блокировкой файла H2 из основанного на лифте (веб-) приложения. H2 использует интересный протокол захвата файла, файл будет воссоздан в значительной степени сразу, если та база данных будет использоваться.
(Имя файла соответствует имени базы данных персистентности по умолчанию для той платформы.)
Необходимо остановиться, любой сервер приложений выполняет ту базу данных для избавлений от того файла, если Вы хотите, который уводят. (Но Вы действительно?)
Ваш strace
вывод ясно показывает, что удаление связь успешно.
unlinkat(AT_FDCWD, "lift_proto.db.lock.db", 0) = 0
inode число может быть снова использовано. Файловые системы могли использовать любую стратегию выделения, которую они хотят, но ничто не препятствует тому, чтобы они перераспределили то же inode число.
В неактивной ext3 файловой системе:
$ touch a
$ stat -c %i a
593358
$ rm a
$ touch a
$ stat -c %i a
593358
$ touch a b
$ stat -c %i a b
593358
593362
$ rm a b
$ touch b a
$ stat -c %i a b
593362
593358
Если configure
говорит "MPFR> = 2.4.2 необходимых", существует, вероятно, серьезное основание для этого. Я не уверен, может ли система сборки GCC скомпилировать библиотеки, прежде чем она попытается связаться против них. Традиционный способ сделать это:
создайте необходимые библиотеки и установите их в Ваш корневой каталог или подкаталог этого, например. $HOME/tools
(это обычно достигается путем установки --prefix
опция для configure
сценарии) - который создает дерево bin
, include
, lib
/ lib64
и share
в соответствии с целевым каталогом.
скажите buildsystem GCC пользоваться библиотеками из своего предпочтительного каталога с помощью --with-mpfr=$HOME/tools
опция к configure
. Очевидно, необходимо будет добавить их для любой библиотеки, которой Вы захотите пользоваться от нестандартного местоположения - посмотрите configure --help
для всех доступных вариантов.
Тонкая настройка LD_LIBRARY_PATH
вероятно, не поможет Вам, поскольку это только изменяет поведение динамического компоновщика ld.so
и это (amlost) всегда изучает /lib
и /usr/lib
как последнее прибежище (см. man ld.so
для подробно объяснения).
Как примечание стороны, Вы могли бы хотеть захватить GCC 4.7.2 вместо более старых 4.6.3.
/home/myusername/gcc-temp/gcc-4.6.3/configure --prefix=/home/myusername/opt/gcc-4.6.3 --program-suffix=46 --enable-languages=c,c++ --enable-threads=posix --enable-shared --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --with-mpfr-include=$(pwd)/../gcc-4.6.3/mpfr/src --with-mpfr-lib=$(pwd)/../gcc-4.6.3/mpfr/src/.libs
– fpghost 03.12.2012, 01:04libtool: link: ranlib .libs/libmpc.a /bin/sed: can't read /opt/streamline-packages/gmp-5.0.0/lib64/libgmp.la: No such file or directory libtool: link:
/opt/streamline-packages/gmp-5.0.0/lib64/libgmp.la' не допустимый архив libtool, делают [5]: *** [libmpc.la] Ошибка 1' – fpghost 03.12.2012, 01:05--with-mpfr...
должен использоваться, когда Вы уже создали библиотеки. Документация GCC действительно требует, что, если источники присутствуют в подкаталогах, она создаст их вместе с собой. Можно попытаться готовить исходное дерево снова, на этот раз выполнив всеcp
,mv
и подобные команды с-v
так, чтобы Вы видели то, что действительно перемещается/копируется где. – peterph 03.12.2012, 01:48