複数のマシンで1 つのスクリプトを使用https://github.com/reddit/reddit/blob/master/install-reddit.sh
しましたが、毎回完全に機能しました。現在、Ubuntu 64 ビットを搭載した 1 台のサーバーで、スクリプトの一部で問題が発生しています。
###############################################################################
# Configure PostgreSQL
###############################################################################
SQL="SELECT COUNT(1) FROM pg_catalog.pg_database WHERE datname = 'reddit';"
IS_DATABASE_CREATED=$(sudo -u postgres psql -t -c "$SQL")
if [ $IS_DATABASE_CREATED -ne 1 ]; then
cat <<PGSCRIPT | sudo -u postgres psql
CREATE DATABASE reddit WITH ENCODING = 'utf8' TEMPLATE template0;
CREATE USER reddit WITH PASSWORD 'password';
PGSCRIPT
fi
sudo -u postgres psql reddit < $REDDIT_HOME/reddit/sql/functions.sql
これは基本的に、インストールプロセス全体を壊しています。スクリプトから手動で行を実行しようとしましたsudo -u postgres psql
が、出力がまったく得られません。POSTGRESQL を手動でセットアップするためのガイドに従うと、コマンドが次のsudo -u postgres initdb -D /usr/local/pgsql/data
出力で失敗するため、データベースの作成が完了していないようです。
sudo: initdb: command not found
私もパスに何かを追加しようとしましたexport PATH=$PATH:/usr/lib/postgresql/bin
が、助けがなければinitdbは起動しません。Postgresql がインストールされているので、何が原因なのかよくわかりません。
の出力/etc/init.d/postgresql status
はRunning clusters: 9.1/main
、サービスが実行されているためです。
ia32-libs と libc6-i386 をインストールしてみましたが、どちらも大きな違いはありませんでした。
更新: コメントで説明されているように、その問題に対処した後、別の問題に遭遇しました。これも関係が深いと思うので載せておきます。次に、次のエラーが表示されます。
+ sudo -u reddit make pyx
[+] including definitions from Makefile.py
python setup.py build_ext --inplace
/home/reddit/reddit/r2/ez_setup.py:101: UserWarning: Module ez_setup was already imported from /home/reddit/reddit/r2/ez_setup.pyc, but /usr/lib/pymodules/python2.7 is being added to sys.path
import pkg_resources
running build_ext
skipping './r2/models/_builder.c' Cython extension (up-to-date)
building 'r2.models._builder' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c ./r2/models/_builder.c -o build/temp.linux-x86_64-2.7/./r2/models/_builder.o
unable to execute gcc: Permission denied
error: command 'gcc' failed with exit status 1
そのため、この gcc が問題を引き起こしています。この行はこれをトリガーしています: cd $REDDIT_HOME/reddit/r2 sudo -u $REDDIT_OWNER make pyx # .pyx から .c ファイルを生成します
$REDDIT_OWNER は reddit であるため、そのユーザーとして実行され、それらのエラーが発生します。誰でもこれに対する潜在的な解決策を提案できますか? make: * [build/pyx-buildstamp] エラー 1
ご協力いただきありがとうございます!