Архив рубрики: Программирование

Сборка tmux’a под Solaris

Тестовый стенд: tmux-1.8, libevent-2.0.21

Сборка tmux’a под Solaris ещё тот квест с правкой исходников. И так, качаем свежую версию tmux’a, а так же libevent (как зависимость). libevent ставится без проблем:

root@skeletor:/export/home/skeletor/libevent-2.0.21-stable# CFLAGS="-m64 -O2" CPPFLAGS="-m64 -O2" CCASFLAGS="-m64 -O2" CXXFLAGS="-m64 -O2" LDFLAGS="-m64 -O2" ./configure --prefix=/usr --libdir=/lib/64 && gmake && gmake install && gmake clean

А теперь соберём tmux:

Читать далее

gmake — меняем директорию установки после сборки

Представим ситуацию, что ПО из исходников было собрано с указанием

$ ./configure --prefix=/usr/local ...

Но при этом, нужно его поставить в совершенно другое место. Для этого указываем параметр DESTDIR с нужной директорией:

$ gmake install DESTDIR=/var/tmp/garex

get запрос к сайту из консоли

Иногда бывают моменты, когда нужно протестировать работоспособность сайта из консоли. Для этого не нужно ставить X11, браузеры, а достаточно обычного telnet-клиента и openssl (для проверки https).

Проверка http

$ telnet XXX.XX.XX.XXX 80
...
GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
...

Проверка https

$ openssl s_client -connect XXX.XX.XX.XXX:443
... connection information will be displayed ...
GET / HTTP/1.1
Host: www.example.com
...

Сборка модуля imagick.so для php

Под Solaris как всегда всё приходится собирать вручную. И так, берём Solaris Studio и собираем.

Что бы получить модуль imagick.so для php, нужно сначала собрать сам ImageMagick, а потом на основе его собрать модуль imagick.so.

Тестовый стенд: Solaris 11, SolarisStudio 12.3

Читать далее

php-fpm и Solaris = не собирается их исходников

Если при компиляции php из исходников с поддержкой php-fpm вы получаете ошибку

cc: acomp failed for php-5.4.9/sapi/fpm/fpm/fpm.c
gmake: *** [sapi/fpm/fpm/fpm.lo] Error 1

то это известный баг https://bugs.php.net/bug.php?id=62708 решение которого довольно простое: в файле php-5.4.9/sapi/fpm/fpm/fpm_sockets.h меняем слово *sun на *s_un. Дело в том, что слово sun зарезервировано на Solaris-подобных ОСях.

Сборка модуля php pdo_mysql

Представим себе ситуацию: mysql у вас стоит на одной машине, а php — на другой. И вам нужно добавить поддержку pdo_mysql в php. Тянуть mysql на машину с php не надо, достаточно лишь создать каталог /usr/mysql и в нём такие каталоги:

lib/mysql — сюда скопировать либы libmysqlclient.so и libmysqlclient_r.so
bin — сюда скопировать mysql_config
include — сюда скопировать заголовочные файлы

Этого достаточно, что бы собрать pdo_mysql.

Тестовый стенд: Solaris 11, php-5.4.3 (php установлен в /usr/php54)

Читать далее