For the record: The error below has been resolved. As Professor Ripley said, it was a compiler problem. Upgrading to a more recent gcc rpm (gcc-3.4.5-2) and its dependencies made the errors go away. Thanks, Dan
On 6/14/06, Dan Lipsitt <danlipsitt at gmail.com> wrote:
I am unable to install the gmp package on an x86_64 (Xeon) machine. I have had the same problem with other packages (eg. MCMCpack) as well. I am running Red Hat Enterprise Linux 4.1. I get the following error: g++ -shared -L/usr/local/lib64 -o gmp.so biginteger.o biginteger_operator.o bigintegerR.o bigrational.o bigrational_operator.o bigrationalR.o factor.o -L/usr/local/lib/ -lgmp /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/3.4.3/libstdc++.a(functexcept.o): relocation R_X86_64_32 against `std::bad_exception::~bad_exception()' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-redhat-linux/3.4.3/libstdc++.a: could not read symbols: Bad value However, I have found that if I run "R CMD SHLIB" twice in the src/ directory, once to build the .o files, and once to link, I can build the shared library. If I run it on the .o files instead of the .cc files it uses gcc instead of g++. This appears to be the change that allows the lib to build. "-fPIC" seems to have nothing to do with it. So my question is: How do I get "R CMD INSTALL" to link with gcc instead of g++? I have tried adding "LINK.cc = $(LINK.c)" to the top of src/Makevars.in and then running "R CMD check" in the top dir of the package, but it uses g++ anyway. Any other fix or workaround suggestions would be appreciated as well.