Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trouble with installing on a PC #17

Closed
bforsbe opened this issue Jun 22, 2016 · 7 comments
Closed

Trouble with installing on a PC #17

bforsbe opened this issue Jun 22, 2016 · 7 comments

Comments

@bforsbe
Copy link
Contributor

bforsbe commented Jun 22, 2016

Originally reported by: yjin004 (Bitbucket: yjin004, GitHub: Unknown)


I am having trouble with installing relion 2.0 on a PC. I have installed relion 2.0 on a workstation without trouble.

It always shows error at this step

[ 52%] Linking CXX shared library ../../lib/librelion_lib.so
/usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libfftw3.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [lib/librelion_lib.so] Error 1
make[1]: *** [src/apps/CMakeFiles/relion_lib.dir/all] Error 2
make: *** [all] Error 2


@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 22, 2016

Original comment by Bjoern Forsberg (Bitbucket: bforsbe, GitHub: bforsbe):


I'll look into this, but in the meantime you could try to simply build the libraries statically by changing the cmake configuration command to

#!bash

cmake -DBUILD_SHARED_LIBS=OFF ..

In general however, you should of course be able to build shared as well. Could you give some details on you system for reference? Like operating system/version etc.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 23, 2016

Original comment by yjin004 (Bitbucket: yjin004, GitHub: Unknown):


Hi Bjoern, changing the shared library off let me pass the first stage, but further error occurred (as attached)

I am running CentOS7 with kernel build 3.10.0-327.13.1.el7.x86_64

My system specs are as follows:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 58
Model name: Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz
Stepping: 9
CPU MHz: 1683.687
BogoMIPS: 6192.51
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-3

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 23, 2016

Original comment by yjin004 (Bitbucket: yjin004, GitHub: Unknown):


I tried to fix by reinstalling fftw fltk but does not seems to fix the problem.
If i try to install by omitting the GUI, the installation completes.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 23, 2016

Original comment by Bjoern Forsberg (Bitbucket: bforsbe, GitHub: bforsbe):


If I understood things correctly, cmake finds you system-installed fftw and fltk-libraries. However, these are not compiled as shared libraries, and cannot be used to build a shared relion-library. I think we have good grip on what needs to happen, and there will be a fix for it. If you want the GUI right now, I would suggest using

#!bash

cmake -DFORCE_OWN_FFTW=ON -DFORCE_OWN_FLTK=ON ..

This should build shared fftw- and fltk-libraries which do not cause problems at linktime.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 23, 2016

Original comment by yjin004 (Bitbucket: yjin004, GitHub: Unknown):


Hi Bjoern,

I have already tried the command. When I force install both, the fltk fails to install with and error. patch command not found. The problem was fixed by reinstalling patch.

The problem is resolved. Thank you.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jun 27, 2016

Original comment by Dari Kimanius (Bitbucket: dkimanius, GitHub: dkimanius):


The only way I can think of to make sure that cmake can predict whether a static library is built the right way (in this case with the fPIC flag) is to try to do a trial build of a tiny binary that depends on the library. This can be done during build setup using try_compile, but is a rather advanced feature that we don't prioritize right now.

@bforsbe
Copy link
Contributor Author

bforsbe commented Jul 21, 2016

Original comment by Bjoern Forsberg (Bitbucket: bforsbe, GitHub: bforsbe):


Issue #60 was marked as a duplicate of this issue.

@bforsbe bforsbe closed this as completed Jan 26, 2017
biochem-fan pushed a commit that referenced this issue Oct 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant