如何在 OpenShift 上编译和安装源代码?
How do I compile and install the source code on OpenShift?
我正在尝试在 OpenShift 上在线安装 'whois',
由于权限问题,我无法使用 yum 安装
\> yum install whois
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
我不知道安装包的其他方法,所以考虑编译源代码。
制作可用。
\> make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-redhat-linux-gnu
那么如何在 OpenShift 上通过 SSH 编译源代码?
非常感谢!
编辑:
我可以 make
包裹但不能 install
包裹。
更新:
添加环境变量和相关数据。
$PATH
[app-domain.rhcloud.com whois-5.2.7]\> echo $PATH
/var/lib/openshift/{{ directory_hash }}/python//virtenv/bin:/var/lib/openshift/{{ directory_hash }}/python//bin:/opt/rh/python27/root/usr/bin:/bin:/usr/bin:/usr/sbin
install
[app-domain.rhcloud.com whois-5.2.7]\> which install
/var/lib/openshift/{{ directory_hash }}/python/bin/install
make install
期间的错误消息
[app-domain.rhcloud.com whois-5.2.7]\> make install BASEDIR=./destdir/
install -d ./destdir//usr/bin/
/var/lib/openshift/{{ directory_hash }}/python//bin/install: line 10: version: unbound variable
make: *** [install-whois] Error 1
make /path/to/install
期间的错误消息
[app-domain.rhcloud.com whois-5.2.7]\> make /var/lib/openshift/{{ directory_hash }}/python/bin/install BASEDIR=./destdir/
make: Nothing to be done for `/var/lib/openshift/{{ directory_hash }}/python/bin/install'.
首先你应该获取 'whois':
的源代码
wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
那就需要解压了:
tar -xf whois_5.2.7.tar.xz
现在你有了一个包含源代码的目录,所以最后一步是用'make'编译它。
我认为所有这些都可以通过 OpenShift 上的 SSH 完成。
更新:
您发布的环境 $PATH
变量表明系统的 install
命令可能被 python
的 install
命令取代。这就是 make 命令在尝试安装二进制文件时失败的原因。
你有两个解决方案。
暂时从 $PATH
变量中删除 python
路径。下次登录OpenShift时会恢复原值:
export PATH=/bin:/usr/bin:/usr/sbin
编辑 Makefile
和 po/Makefile
文件并将 install
命令的固定路径设置为 /usr/bin/install
。 Makefile
s 中的行:
INSTALL = install
应改为:
INSTALL = /usr/bin/install
要解决安装到 /usr
时的权限问题,您必须将 whois
安装到自定义目录。此示例将其安装到 destdir
子目录。
$ wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
$ tar xf whois_5.2.7.tar.xz
$ cd whois-5.2.7/
$ mkdir destdir
$ make
$ make install BASEDIR=./destdir/
$ ./destdir/usr/bin/whois --version
Version 5.2.7.
Report bugs to <md+whois@linux.it>.
我正在尝试在 OpenShift 上在线安装 'whois', 由于权限问题,我无法使用 yum 安装
\> yum install whois
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
我不知道安装包的其他方法,所以考虑编译源代码。
制作可用。
\> make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-redhat-linux-gnu
那么如何在 OpenShift 上通过 SSH 编译源代码? 非常感谢!
编辑:
我可以 make
包裹但不能 install
包裹。
更新: 添加环境变量和相关数据。
$PATH
[app-domain.rhcloud.com whois-5.2.7]\> echo $PATH
/var/lib/openshift/{{ directory_hash }}/python//virtenv/bin:/var/lib/openshift/{{ directory_hash }}/python//bin:/opt/rh/python27/root/usr/bin:/bin:/usr/bin:/usr/sbin
install
[app-domain.rhcloud.com whois-5.2.7]\> which install
/var/lib/openshift/{{ directory_hash }}/python/bin/install
make install
[app-domain.rhcloud.com whois-5.2.7]\> make install BASEDIR=./destdir/
install -d ./destdir//usr/bin/
/var/lib/openshift/{{ directory_hash }}/python//bin/install: line 10: version: unbound variable
make: *** [install-whois] Error 1
make /path/to/install
[app-domain.rhcloud.com whois-5.2.7]\> make /var/lib/openshift/{{ directory_hash }}/python/bin/install BASEDIR=./destdir/
make: Nothing to be done for `/var/lib/openshift/{{ directory_hash }}/python/bin/install'.
首先你应该获取 'whois':
的源代码wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
那就需要解压了:
tar -xf whois_5.2.7.tar.xz
现在你有了一个包含源代码的目录,所以最后一步是用'make'编译它。
我认为所有这些都可以通过 OpenShift 上的 SSH 完成。
更新:
您发布的环境 $PATH
变量表明系统的 install
命令可能被 python
的 install
命令取代。这就是 make 命令在尝试安装二进制文件时失败的原因。
你有两个解决方案。
暂时从
$PATH
变量中删除python
路径。下次登录OpenShift时会恢复原值:export PATH=/bin:/usr/bin:/usr/sbin
编辑
Makefile
和po/Makefile
文件并将install
命令的固定路径设置为/usr/bin/install
。Makefile
s 中的行:INSTALL = install
应改为:
INSTALL = /usr/bin/install
要解决安装到 /usr
时的权限问题,您必须将 whois
安装到自定义目录。此示例将其安装到 destdir
子目录。
$ wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz
$ tar xf whois_5.2.7.tar.xz
$ cd whois-5.2.7/
$ mkdir destdir
$ make
$ make install BASEDIR=./destdir/
$ ./destdir/usr/bin/whois --version
Version 5.2.7.
Report bugs to <md+whois@linux.it>.