我在几台机器上使用过一个脚本https://github.com/reddit/reddit/blob/master/install-reddit.sh
,并且每次都完美运行。现在,一个服务器有Ubuntu 64bit,我遇到了脚本的一部分问题。
###############################################################################
# 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
感谢您的帮助!