Installation of Bioconductor package: lpsymphony
2
0
Entering edit mode
Haiying.Kong ▴ 110
@haiyingkong-9254
Last seen 5.0 years ago
Germany

we are trying to install lpsymphony in a local installation of R-3.3.2. A large part of the build process runs without problems, but at some point the build process ends with a linker error:

... g++ -I/home/kong/lib/R-3.3.2/include -DNDEBUG -ISYMPHONY/include -I/usr/local/include -fpic -g -O2 -c lp_symphony.cc -o lp_symphony.o g++ -shared -L/usr/local/lib64 -o lpsymphony.so lp_symphony.o -LSYMPHONY/lib -lSym -lCgl -lOsiClp -lClp -lOsi -lCoinUtils -L/home/kong/lib/R-3.3.2/lib -lRlapack -L/home/kong/lib/R-3.3.2/lib -lRblas -lgfortran -lm -lquadmath /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 ‘/tmp/RtmpPpE9zD/Rinst108f25132dc6/lpsymphony’

The LD_LIBRARY_PATH variable is set to the installation directory of SYMPHONY-5.6.16:

$ echo $LD_LIBRARY_PATH /home/kong/lib/SYMPHONY-5.6.16/lib64/

and that path contains all the shared libraries reported to be missing in the linker error.

Unfortunately, I have not yet been able to tell R to keep the build-directory or report the exact option to the configure script, which hampers the analysis of the issue.

Can anyone please help me?

lpsymphony • 1.8k views
ADD COMMENT
0
Entering edit mode

Maybe I'm missing something, but isn't the point of lpsymphony to remove the need to have SYMPHONY already installed on the system.  From the package's DESCRIPTION file:

The main difference between this package and Rsymphony is that it includes the solver source code (SYMPHONY version 5.6), while Rsymphony expects to find header and library files on the users' system. Thus the intention of lpsymphony is to provide an easy to install interface to SYMPHONY.

I just installed the package on a Ubuntu 16.04 based system by running biocLite('lpsymphony') without any system installation or changes to my library path.  Maybe you're actually creating the conflict by specifying your own location in LD_LIBRARY_PATH?

ADD REPLY
0
Entering edit mode
Haiying.Kong ▴ 110
@haiyingkong-9254
Last seen 5.0 years ago
Germany

Thank you very much for your reply.

I believe you are right on that lpsymphony does not need to have SYMPHONY installed, this we later found out.

When I first tried to install lpsymphony with biocLite('lpsymphony'), I did not have SYMPHONY on my system, but the error message was exactly the same.

ADD COMMENT
0
Entering edit mode

If you're still trying to get hold of the complete output from the installation, you can try using the linux script command.  In a terminal you'd do something like:

$ script /my/logfile.txt
$ R
> BiocInstaller::biocLite("lpsymphony")
.......
> q()
$ exit

Everything that was printed to screen should also be saved /my/logfile.txt

ADD REPLY
0
Entering edit mode
rreck ▴ 20
@rreck-12488
Last seen 5.7 years ago
Fairfax County, VA

In the past to get g++ to get the correct value to install packages, I have also had to set LIBRARY_PATH.

I am not sure if you have root access but, to make the sure the linker finds .so files, I have added the directory to /etc/ld.so.conf and then run ldconfig.
 

ADD COMMENT

Login before adding your answer.

Traffic: 622 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6