cp: cannot stat 'ltmain.sh': No such file or directory
Dec 15, 2016 18:05 · 190 words · 1 minute read
После обновления дистрибутива с Debian Wheezy до Debian Jessie при установке php-расширения twig
столкнулся с проблемой cp: cannot stat 'ltmain.sh': No such file or directory
. Давайте разберемся!
Действия выполнялись на:
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
Установка необходимого php-расширения (шаблонизатора) twig
:
git clone git://github.com/fabpot/Twig.git
cd Twig/ext/twig/
phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
cp: cannot stat 'ltmain.sh': No such file or directory
Как оказалось — это баг. Дело в том, что в каталоге /usr/lib/php5/build/
находится ltmain.sh
в виде ссылки на ../../../../share/libtool/confg/ltmain.sh
. Но, как оказалось, в действительности такого файла не существует, и при выполнении phpize
получаем ошибку.
Для исправления этой досадной ситуации необходимо исправить ссылку, делаем это так:
cd /usr/lib/php5/build/
sudo rm ltmain.sh
ln -s ../../../share/libtool/build-aux/ltmain.sh
или то же самое, но одной строкой:
sudo rm /usr/lib/php5/build/ltmain.sh && sudo ln -s /usr/share/libtool/build-aux/ltmain.sh /usr/lib/php5/build/ltmain.sh
Пытаемся еще раз установить расширение:
cd ~/Twig/ext/twig/
phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
./configure
make && make install
На этот раз все сработало без ошибок!