new URL: https://github.com/procinproc
This repo is no longer maintained. Refer to the above new repo.
PiP package installing program
pip-pip is the program to build and install (new URLs)
PiP,
PiP-glibc and
PiP-gdb.
This program is written in Python.
Required software packages:
- Python (mandatory, version 2.7.5 or higher)
- Git (mandatory)
- Docker [optional]
- Spack [optional]
Supported architectures:
- x86_64
- AArch64
Supported Linux (RHEL and CentOS are the guaranteed distributions):
- RHLE/CentOS 7
- RHEL/CentOS 8
$ [<PYTHON>] ./pip-pip <OPTIONS>
pip-pip is designed to work and tested on both Python 2.7.5 and
3.7.4. When ./pip-pip does not work, try explicitly specifying
python[2|3] when invoking pip-pip.
-
--how=<HOW>Specifying how to install PiP. Choice is one ofdocker,spackandgithub.dockerinstallation requires the root privilege. Refer to the--sudooption below.spackwill be installed automatically ifspackis not yet installed (or not in the PATH). Default is--how=github. -
--prefix=<PREFIX_DIR>Specifying install directory. Relative, absolute and tilde slash paths are all valid. Default is--prefix=install. -
--work=<BUILD_DIR>Specifying build directory. Relative, absolute and tilde slash paths are all valid. Default is--work=work. When installing from a github repo, all required source trees will be downloaded into the specified work directory. And the specified work directory must not exist, otherwisegitwill get mad. All installing operations will be logged into a file (namedpip-pip.log) under this directory. -
--version=<PIP_VERSION>Specifying PiP version number. Currently, "2" (PiP-v2) and "3" (PiP-v3) are valid. Default is--version=2. PiP-v1 ("1") is deprecated and unable to specify. Refer to PiP for the version differences. -
--sudoAllowsudowhen installing withdocker. To enable this option, user must be a sudoer. -
--yesThis option stops asking if the installing (prefix) directory will be re-used when it already exists, and/or if the work directory will be deleted when it already exists. -
--noglibcDo not install PiP-(patched-)glibc and PiP-(patched-)gdb. This option is only effective with the--how=githuboption. (refer to the next section for more details) -
--nogdbDo not install PiP-(patched-)gdb. This option is only effective with the--how=githuboption. (refer to the next section for more details) -
--noupdateDo not update PiP lib. if it is already installed (dockerandspack) -
--nosubdirDo not create subdirectory(ies) in the prefix (install) directory. See below. -
--notestDo not run PiP testsuite after installed -
--keepDo not remove the work directory(ies) when the installation succeeds. If the build directory is the same with the prefix directory, or the build directory is somewhere above the prefix directory, then the deletion is disabled. -
--dryrunDryrun. No actual actions will take place. -
--quietRun quietly. -
--helpDisplay help message.
The --how and/or --version options may have mutiple values. To
handle this case, pip-pip will try to install all possible
combinations of the two options. pip-pip will create subdirectories
right under the install directory (--prefix) named in the
<ARCH>-<LINUX>-<HOW>-<PIP-VERSION>
e.g) x86_64_centos-7_spack_pip-3, aarch64_centos-8_github_pip-2, ..
style and each installation of the combinations will be installed in
one of those subdirectries. The --nosubdir option supresses this
subdirectory creation.
PiP itself can run without the patched PiP-glibc, however, it can create up to around 10 PiP tasks (actual number depends on the PiP program) at the same time in the same virtual address space. This limitation comes from the current glibc implementation. PiP-glibc relaxes this limitation up to 300 PiP tasks. In addition to this, PiP-glibc allows PiP-gdb to access symbols defined in the PiP tasks. This implies PiP-gdb depends on PiP-glibc.
On CentOS/RedHat 8, PiP will not work at all without having PiP-glibc.
If you have any questions or comments on PiP-pip and/or PiP iteself, send e-mails to;
Or, join our PiP users' mailing list;
Atsushi Hori
National Institute for Informatics
(formerly Riken Center for Commputational Science)
Japan