Hi,
the installation of "lpsymphony" with biocLite (biocLite("lpsymphony")
) consistently fails towards the end with the following error messages:
[...]
make[5]: Entering directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY'
PKG_CONFIG_PATH=/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/lib64/pkgconfig:/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/lib/pkgconfig:/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/share/pkgconfig::/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/lib64/pkgconfig \
pkg-config --libs symphony > /tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/share/coin/doc/SYMPHONY/sym_addlibs.txt
make[5]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY'
make[4]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY'
make[3]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY'
make[2]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY'
make[2]: Entering directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY'
make[3]: Entering directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY'
make[2]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY'
make[1]: Leaving directory `/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY'
touch SYMPHONY.ts
g++ -I/ibios/tbi_cluster/13.1/x86_64/R/R-3.4.0/lib64/R/include -DNDEBUG -ISYMPHONY/include -I/usr/local/include -fpic -g -O2 -c lp_symphony.cc -o lp_symphony.o
g++ -shared -L/ibios/tbi_cluster/13.1/x86_64/R/R-3.4.0/lib64/R/lib -L/usr/local/lib64 -o lpsymphony.so lp_symphony.o -LSYMPHONY/lib -lSym -lCgl -lOsiClp -lClp -lOsi -lCoinUtils -llapack -lblas -lgfortran -lm -lquadmath -L/ibios/tbi_cluster/13.1/x86_64/R/R-3.4.0/lib64/R/lib -lR
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lSym
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lCgl
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lOsiClp
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lClp
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lOsi
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lCoinUtils
collect2: error: ld returned 1 exit status
make: *** [lpsymphony.so] Error 1
ERROR: compilation failed for package ‘lpsymphony’
* removing ‘/ibios/tbi_cluster/13.1/x86_64/R/R-3.4.0/lib64/R/library/lpsymphony’
[...]
the problem as far as I can see is, that the pathes given in the pkgconfig files are wrong, hence the linker doesn't find the libraries to link into the application. From the pathes given in the $PKG_CONFIG_PATH variable, only /tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/lib/pkgconfig contains pkgconfig files and these contain wrong pathes:
$ cat /tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/lib/pkgconfig/symphony.pc
prefix=/tmp/RtmpMHWvJW/Rbuild6d5ce5c339e/lpsymphony/src/SYMPHONY
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/coin
Name: SYMPHONY
Description: SYMPHONY MILP Solver Framework
URL: https://projects.coin-or.org/SYMPHONY
Version: 5.6.10
Libs: -L${libdir} -lSym -lgomp
Cflags: -I${includedir} -fopenmp
Requires: cgl osi-clp coinutils osi
$
There are additional pkgconfig files in /tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY/
and these do contain the correct pathes:
$ cat /tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY/SYMPHONY/symphony.pc
prefix=/tmp/RtmpDgQW2c/R.INSTALL2f0e230a700c/lpsymphony/src/SYMPHONY
exec_prefix=${prefix}
libdir=${exec_prefix}/lib64
includedir=${prefix}/include/coin
Name: SYMPHONY
Description: SYMPHONY MILP Solver Framework
URL: https://projects.coin-or.org/SYMPHONY
Version: 5.6.10
Libs: -L${libdir} -lSym -lgomp
Cflags: -I${includedir} -fopenmp
Requires: cgl osi-clp coinutils osi
$
Unfortunately this pkgconfig directory is not referenced in $PKG_CONFIG_PATH. Any idea where this problem comes from and how to fix it? Spontaneously I'd classify this as a bug in the installer.
Cheers
frank