検索条件
全14件
(1/2ページ)
# setenv CPPFLAGS '-I/usr/local/include -I/usr/include' # setenv LDFLAGS '-L/usr/local/lib -liconv -L/usr/lib' # ./configure --with-readline=gnu # gmake # gmake installで、済むようです。FreeBSD 11.1R-p5 (amd64) の環境で確認しました。
--with-pg-config=/usr/local/pgsql/bin/pg_configこれだけでいけるようになったようです。
# ./configure --enable-libsodium --with-pg-config=/usr/local/pgsql/bin/pg_config --enable-perl=yes --with-modules="bind gpgsql random"(実際には改行せず、1行で入力)のようにして構築しています。
# cp mod_wsgi-4.5.20.tar.gz /usr/local/src # cd /usr/local/src # tar xvzf mod_wsgi-4.5.20.tar.gz # cd mod_wsgi-4.5.20 # ./configure --with-python=/usr/local/bin/python3.5 --with-apxs=/usr/local/apache2/bin/apxs # make # make install--with-apxs を指定することで、お使いのサーバにおける環境に合わせた構築が出来ます。 通常、mod_wsgi は、上記の場合、/usr/local/apache2/modules/ 配下に動的リンクでインストールされます。 Apache への mod_wsgi に対する設定は、以下を参考にどうぞ:
LoadModule wsgi_module modules/mod_wsgi.so WSGIDaemonProcess cgi-bin user=webadmin group=webuser processes=1 threads=5 WSGIScriptAlias / /home/webroot/hoge/cgi/app.wsgi <Directory "/home/webroot/hoge/cgi"> WSGIProcessGroup cgi-bin WSGIApplicationGroup %{GLOBAL} </Directory>ちなみに WSGIインタフェース自体は、Python に特化する目的を持つものではありません。 この辺りは勘違いされている諸氏が結構多いようです。 Perl だと mod_perl という Apache に組み込む形での有名な高速化拡張モジュールがありますが、それと同じようなものでしょうか。 Python 以外では導入メリットが見えにくいです。 最近のPerl はそれ自身が高速化してきているので、mod_perl 導入のメリットが見えにくくなってきているのと、mod_perl を組み込んだ状態にてCGIをスレッド動作させると原因不明の不安定な動作になったり、Perl 5.26 にすると、静的モジュールでは何故かインストールできないなど、色々問題があり、筆者のサーバでは mod_perl の利用は見合わせている状況です。 次に、Python から、PostgreSQL インタフェースを扱うモジュールをインストールするのですが、このインストールに先立ち、pip というサポートツール(?)を導入する必要があります。 Perl で言うところの CPAN に該当するものですね。
# python3.5 -m ensurepipあれ? と思った諸氏も居られるかもしれません。 多くのサイトには「Python 3.4 以降では、pip は同時にインストールされる」と説明されているからですが、FreeBSD11 にて Ports から Python を導入した場合、pip は導入されません。FreeBSD11 にて Ports から Python を導入した場合、pip は手動操作で導入しないと駄目らしいです。 でも、pip は今後のメンテナンスで必須になるものの、今回は使いません。 最後に Python の PostgreSQLインタフェースモジュールをインストールするのですが、これもpip では環境誤認識をするため、ソースコードを持ってきて、下記の手順が確実です。 事前に、PostgreSQL 本体をインストールしておくことは言うまでもありませんね。
# cp psycopg2-2.7.3.1.tar.gz /usr/local/src
# tar xvzf psycopg2-2.7.3.1.tar.gz
# cd psycopg2-2.7.3.1
# setenv PATH '/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/pgsql/bin'
# python3.5 setup.py build
# python3.5 setup.py install
ここで重要なのは、pg_config コマンドのパスを、環境変数 PATH に含めることにあります。
Python の psycopg2 は、Perl における DBI と DBD::Pg の組み合わせに相当します。
ext/json11/json11.cpp:153:24: error: invalid operands to binary expression ('nullptr_t' and 'nullptr_t') return m_value < static_cast<const Value<tag, T> *>(other)->m_value; ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ext/json11/json11.cpp:209:5: note: in instantiation of member function 'json11::Value<json11::Json::Type::NUL, nullptr_t>::less' requested here JsonNull() : Value(nullptr) {} ^のようなエラーを吐いて構築不能になります。
% /usr/bin/clang -v FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0) Target: x86_64-unknown-freebsd11.1 Thread model: posix InstalledDir: /usr/bin日本語の情報が殆ど無いですね。
json11 fixes from upstream via pdns #135それにしても日本人の感覚だと、この修正量と内容だとバージョンアップしてソースコード一式を再リリースするものですが、開発元であるオランダ人の感覚は違うようです。
https://github.com/PowerDNS/weakforced/pull/135/commits/9e4d9bd48663e849be13e2cb5fcf64f917aec608