Tags: yeblya make mac configure osx
Published : 10 months ago (Wed, 10 Sep 2008 04:48:57 PDT) Searched: osx http://jahson.livejournal.com/15958.html 0 links Related posts
Да, это секс, детка. Это настоящий секс с макосью, когда ты хочешь откомпилировать модуль mysql для php, но ./configure выдаёт тебе это самое сообщение. Я отдаю себе отчёт ,что это скорее всего из-за того, что мускул поставлен из макпортов. На самом деле, конечно, потому, что некоторые конфигуры пытаются определить путь к мускулу из строки configure для php, которая у меня выгялдит вот так - ./configure' '--enable-fastcgi' '--enable-fpm. Да, nginx + php-fpm, спасибо ещё трём часам неписуемого секса. А сколько его было до того…
Описания решения, по крайней мере для макоси, я не нашёл. Но на этот раз сильно разозлило, и я решил побороться.
Для начало пришлось найти в configure строчки, которые отвечают за вывод этого сообщения. Сообщение это выводится, как ни странно, на 4001 строке. Чуть выше видно, где скрипт пытается найти хидеры мускула - это $PHP_MYSQL, /usr/local и /usr. На первый я забил, а второй решил использовать. Но для этого нужно найти mysql.h, что очень просто делается с помощью locate mysql.h. Нашёлся засранец в /opt/local/include/mysql5/mysql/ (/opt - это от портов бывает). Соответственно, делаем sudo ln -s /opt/local/include/mysql5/mysql/ /usr/local/include/mysql.
Уличная магия! Теперь мы видим configure: error: Cannot find libmysqlclient under /usr/local. Это уже проще. Товарищ сообщает нам, что хотел бы видеть также и библиотеки от мускула. Нет ничего проще, особенно после того, как нашёл эти библиотеки (locate libmysqlclient). Вуаля: sudo ln -s /opt/local/lib/mysql5/mysql/* /usr/local/lib/. Пробуем снова — работает!
После этого были make и make install. Но ничего уже не сравнится с тем кульминационным моментом, когда ./configure заработало.
Так, помаленьку, люди и превращаются в извращенцев. |