When building an application why do I get an error message “relocation R_X86_64_32S can not be used when making a shared object, recompile with -fPIC”?
Your application is trying to create a shared library. Shared libraries are not supported on HECToR compute nodes. You should find a way to build your application without shared libraries. If you have a configure script, check for the existence of a “–disable-shared” flag and use it if it’s there. If you have a Makefile, check the targets for references to “shared” objects and remove them. Always remember to use the compiler scripts ftn, cc, CC for code that will execute on the compute nodes. The native compilers gfortran, pgf90 etc will generate code for the login node, NOT the compute node.
Related Questions
- Why do I get the error message "ERROR while loading shared libraries: libg2c.so.0: cannot open shared object file: No such file or directory" when I try to start Gridgen on my OpenSuse machine?
- When building an application why do I get an error message "relocation R_X86_64_32S can not be used when making a shared object, recompile with -fPIC"?
- Under Linux, upon running my application, why do I get the error message "error while loading shared libraries: libwx_gtk-x.x.so"?