![OpenSSL 1.0.1 を搭載した Solaris 10 に PHP7 をインストールする方法](https://rvso.com/image/134422/OpenSSL%201.0.1%20%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9F%20Solaris%2010%20%E3%81%AB%20PHP7%20%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
Solaris 10 に php7 をインストールしようとしています。
OpenSSL 1.0.1は以下からインストールされました詳しくはこちら
インストールされたSSLを確認するために
pkginfo -i | grep -i "ssl"
そして、次のような出力が得られました:
application CSWlibssl1-0-0 libssl1_0_0 - Openssl 1.0 runtime libraries
GNOME2 SUNWopenjade DSSSL-Engine for SGML documents
GNOME2 SUNWopenjade-devel DSSSL-Engine for SGML documents - developer files
GNOME2 SUNWopenjade-root DSSSL-Engine for SGML documents - platform independent files, / filesystem
GNOME2 SUNWopenjade-share DSSSL-Engine for SGML documents - platform independent files, /usr/share
system SUNWopenssl-commands OpenSSL Commands (Usr)
system SUNWopenssl-include OpenSSL Header Files
system SUNWopenssl-libraries OpenSSL Libraries (Usr)
system SUNWopenssl-man OpenSSL Manual Pages
system SUNWopensslr OpenSSL (Root)
utility openssl openssl 1.0.1j SPARC 64bit Solaris 10
次に、インストールパスを確認するために、
pkgchk -l CSWlibssl1-0-0 | egrep '^(Pathname|Type)'
それは
Pathname: /opt/csw/lib/libcrypto.so.1.0.0
Type: regular file
Pathname: /opt/csw/lib/libssl.so.1.0.0
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0
Type: directory
Pathname: /opt/csw/lib/openssl-1.0.0/engines
Type: directory
Pathname: /opt/csw/lib/openssl-1.0.0/engines/lib4758cca.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libaep.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libatalla.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libcapi.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libchil.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libcswift.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libgmp.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libgost.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libnuron.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libpadlock.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libpk11.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libsureware.so
Type: regular file
Pathname: /opt/csw/lib/openssl-1.0.0/engines/libubsec.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/libcrypto.so.1.0.0
Type: regular file
Pathname: /opt/csw/lib/sparcv9/libssl.so.1.0.0
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0
Type: directory
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines
Type: directory
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/lib4758cca.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libaep.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libatalla.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libcapi.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libchil.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libcswift.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libgmp.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libgost.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libnuron.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libpadlock.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libpk11.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libsureware.so
Type: regular file
Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libubsec.so
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0
Type: directory
Pathname: /opt/csw/share/doc/libssl1_0_0/CHANGES
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/CHANGES.SSLeay
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/FAQ
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/INSTALL
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/NEWS
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/PROBLEMS
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/README
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/README.ASN1
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/README.CSW
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/README.ENGINE
Type: regular file
Pathname: /opt/csw/share/doc/libssl1_0_0/license
Type: regular file
それから私はこうしました:
#CC="/opt/gcc-4.9.0/bin/gcc" \
#export CC
#CFLAGS="-std=gnu99 -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
# export CFLAGS
# LDFLAGS="-L/opt/gcc-4.9.0/lib -L/usr/local/lib -R/opt/gcc-4.9.0/lib"
# export LDFLAGS
# cd /php-7.2.4
したがって、php ディレクトリ内の configure スクリプトは次のようになります。
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-apxs2=/usr/apache2.4.3/bin/apxs --with-ldap=/opt/gcc-4.9.0/lib \
--with-mysql --with-mysqli --with-pdo-mysql --with-pdo-mysql --with-zlib --with-zlib-dir=/usr/local \
--with-iconv-dir=/usr/local --with-pcre-dir=/usr/local --with-gettext=/usr/local --with-libxml-dir=/usr/local --with-curl --with-openssl \
--with-openssl-dir=/opt/csw/lib/ --with-gd --with-freetype-dir=/usr/local --with-gnu-ld --enable-shared --enable-mbstring \
--with-oci8=instantclient,/ebsproddb/oracle/11.2.0/instantclient \
--enable-exif --enable-sockets --enable-soap --enable-zip --enable-ftp --enable-mysqlnd --disable-zend-signals --disable-static
しかし、何度か試行した後、構成は失敗します。
checking for pkg-config... /usr/bin/pkg-config
configure: error: OpenSSL version 1.0.1 or greater required.
何が間違っているのでしょうか?
答え1
openssl ヘッダー ファイルを指定していないようです。
--with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)
つまり、次のようになるだろう
./configure --with-openssl=/path_to_header_files --with-openssl-dir=/opt/csw/lib....etc
オプションを指定した configure スクリプトの出力を確認してください--help
。