Hello,
I am getting the following error when trying to install phc optional package from a script:
...
Error: package 'phc' not found
Assuming it is an old-style package... (this is deprecated: use -p instead of -i to install old-style packages)
Found package phc in /home/sc_serv/sage/upstream/phc-2.3.65.p0.spkg
phc-2.3.65.p0
====================================================
Extracting package /home/sc_serv/sage/upstream/phc-2.3.65.p0.spkg
-rw-r--r-- 1 sc_serv sagecell 21614221 Oct 24 05:41 /home/sc_serv/sage/upstream/phc-2.3.65.p0.spkg
Finished extraction
/home/sc_serv/sage/build/bin/sage-spkg: line 628: cd: src: No such file or directory
No patch files found in ../patches
Error: There is no spkg-install script, no setup.py, and no configure
script, so I do not know how to install /home/sc_serv/sage/upstream/phc-2.3.65.p0.spkg.
...
When I try the same command from a terminal, it proceeds fine, because apparently only the first one fails. On a freshly built Sage-7.5.rc1 I get:
...
novoselt@sage:~/sage$ sage -i -y phc
make -j8 build/make/Makefile
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/home/novoselt/sage'
make[1]: 'build/make/Makefile' is up to date.
make[1]: Leaving directory '/home/novoselt/sage'
build/bin/sage-logger \
"cd build/make && ./install 'all-toolchain'" logs/install.log
Nothing to (re)build / all up-to-date.
Error: package 'phc' not found
Assuming it is an old-style package... (this is deprecated: use -p instead of -i to install old-style packages)
Attempting to download package phc
>>> Checking online list of optional packages.
>>> Found phc-2.3.65.p0
>>> Trying to download
http://mirrors.mit.edu/sage//spkg/optional/phc-2.3.65.p0.spkg[......................................................................]
phc-2.3.65.p0
====================================================
Extracting package /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg
-rw-r--r-- 1 novoselt novoselt 21614221 Jan 1 13:47 /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg
Finished extraction
/home/novoselt/sage/build/bin/sage-spkg: line 628: cd: src: No such file or directory
No patch files found in ../patches
Error: There is no spkg-install script, no setup.py, and no configure
script, so I do not know how to install /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg.
novoselt@sage:~/sage$ sage -i -y phc
make -j8 build/make/Makefile
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/home/novoselt/sage'
make[1]: 'build/make/Makefile' is up to date.
make[1]: Leaving directory '/home/novoselt/sage'
build/bin/sage-logger \
"cd build/make && ./install 'all-toolchain'" logs/install.log
Nothing to (re)build / all up-to-date.
Error: package 'phc' not found
Assuming it is an old-style package... (this is deprecated: use -p instead of -i to install old-style packages)
Found package phc in /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg
phc-2.3.65.p0
====================================================
Extracting package /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg
-rw-r--r-- 1 novoselt novoselt 21614221 Jan 1 13:47 /home/novoselt/sage/upstream/phc-2.3.65.p0.spkg
Finished extraction
/home/novoselt/sage/build/bin/sage-spkg: line 628: cd: src: No such file or directory
No patch files found in ../patches
****************************************************
Host system:
Linux sage 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
****************************************************
C compiler: gcc
C compiler version:
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)
****************************************************
WARNING: spkg-install is not executable, making it executable
real 0m0.004s
user 0m0.000s
sys 0m0.000s
Successfully installed phc-2.3.65.p0
Deleting temporary build directory
/home/novoselt/sage/local/var/tmp/sage/build/phc-2.3.65.p0
Finished installing phc-2.3.65.p0.spkg
Warning: it might be needed to update the Sage library before
installed packages work: you should run 'make' from $SAGE_ROOT
before running Sage.
novoselt@sage:~/sage$
...
For now I'll deal with it by dropping phc on SageMathCell servers, better fixes are welcome!
Andrey