Previous Thread
Next Thread
Print Thread
/usr/bin/ld: cannot find -lfmpich
#8345 09/28/05 12:14 PM
Joined: Jan 2005
Posts: 86
M
mzzt Offline OP
Forum Member
OP Offline
Forum Member
M
Joined: Jan 2005
Posts: 86
Dear Charmm users,
I have been trying to compile charmm version c29b2 on a linux cluster 64 bit 2.4 GHZ Oeptron AMD machine.
The steps that I am following are:

1. Making the changes in c29b2/source/socket.c by introducing

#include lt errno.h gt

2. ./install.com gnu large M MPICH

gnu.log gives the error that -malign-double has problems with 64-bit machine.

3. I looked into the forum for a similar type of error and hence deleted -malign-double from the Makefile_gnu and ran the install command again.

4. This time I am getting the following error:

/usr/bin/ld: cannot find -lfmpich
collect2: ld returned 1 exit status

and the follwoing warning messages also occur in the gnu.log
mpicc -Dnographics -O -Dgnu -c /users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c: In function `initsock_':
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c:79: warning: passing arg 2 of `strcpy' makes pointer from integer without a cast
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c:98: warning: passing arg 2 of `bind' from incompatible pointer type
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c:102: warning: passing arg 2 of `getsockname' from incompatible pointer type
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c: In function `fconnect_':
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c:175: warning: passing arg 2 of `connect' from incompatible pointer type
/users/bsbe/phd/priyaps/charmm/c29b2/source/machdep/socket.c:202: warning: passing arg 2 of `accept' from incompatible pointer type
ar rucv /users/bsbe/phd/priyaps/charmm/c29b2/lib/gnu/machdep.a socket.o
a - socket.o
rm socket.o

Also, I have checked the mpi directory in the build/gnu and .h files as well as libmpi.a file is there and MSGLIB defined in the Makefile is as follows:

MSGLIB = -Lmpi -lfmpich -lmpich

I have searched the forum for the similar kind of error, if any and I found one too with the following subject
"/usr/bin/ld: cannot find -lmpi for c30b1 install " but that does not help me too!

I would be really grateful for any suggestions on this.

Eagerly waiting for the charmmers reply,
Priyanka.

Re: /usr/bin/ld: cannot find -lfmpich
mzzt #8346 09/28/05 06:32 PM
Joined: Sep 2003
Posts: 8,498
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,498
I suggest either reverting to a 32-bit OS, or else getting a more recent CHARMM version. That combination of c29b2, AMD64, and g77 can be problematic.


Rick Venable
computational chemist

Re: /usr/bin/ld: cannot find -lfmpich
rmv #8347 09/29/05 06:52 AM
Joined: Jan 2005
Posts: 86
M
mzzt Offline OP
Forum Member
OP Offline
Forum Member
M
Joined: Jan 2005
Posts: 86
Dear Prof Rick,
Thank you so much for your reply.
I apologize for troubling you again but could you please guide me a little bit as to how could I solve this problem? Right now I only have access to AMD opetron linux cluster.
Can I try changing the compiler if g77 is problematic?

Regards,
Priyanka.

Re: /usr/bin/ld: cannot find -lfmpich
mzzt #8348 09/29/05 01:59 PM
Joined: Feb 2004
Posts: 147
Forum Member
Offline
Forum Member
Joined: Feb 2004
Posts: 147
It's not compiler only, there are code changes as well. You'd have to make significant changes to c29 to add support for I8 as in the later versions. And you'd need the source for the later version as a basis anyway...

A 64bit system can usually execute 32bit code as well, if the 32bit system libraries are installed. So you could:
1. ask the sysadmin if the 32bit libraries are installed and what kind of Linux distribution is installed
2. try to find a 32bit system with the same Linux distribution or install one yourself
3. install on the 32bit system a MPI library in its own installation directory (don't use MPI packages that might come with the Linux distribution)
4. compile CHARMM on the 32bit system
5. copy the MPI installation directory to the same location on the 64bit system and copy the CHARMM executable as well (the location of the CHARMM executable doesn't matter)
6. run on the 64bit system the CHARMM executable using the startup mechanism from the MPI installation directory that you copied; this might invove setting PATH and/or LD_LIBRARY_PATH to point to this directory

The above recipe fails if the Opteron cluster has some hardware features that are not easily "reproducible" on the 32bit system, like GM libraries for use of Myrinet.

Re: /usr/bin/ld: cannot find -lfmpich
bogdan #8349 09/30/05 01:37 PM
Joined: Jan 2005
Posts: 86
M
mzzt Offline OP
Forum Member
OP Offline
Forum Member
M
Joined: Jan 2005
Posts: 86
Thank you so much for your prompt reply.

Actually, it appears that I have compiled Charmm successfully on the AMD Oeptron 64-bit machine.(by making modifications in the Makefile_gnu only very similar to the one which i have stated in my very first post)
Why I am not sure of this is because, I get a warning message in the gnu.log at the end which says:
make:warning: clock skew detected: your build may not be complete.

So, I am testing some jobs on the cluster so that i can compare the wait and comm time.Also, the speed has been increased tremendously (compared with the previous runs on other smaller machines) but this is true for those input files which uses spherical cutoffs. With the same cutoff if i submit the PME calculation then i get the following error:

VEHEAP> Expanding heap size by 163840 words.
p0_2392: p4_error: interrupt SIGSEGV: 11

Following the post on the forum with subject "Compilation error after increasing heap size" I have located the file heap.fcm which has the HEAPDM defined as 10240000. But i could not exactly follow what it means my -mcmodel. I am unable to locate this flag.

Kindly suggest me something on this.
Thanks in advance,
Eagerly waiting for you reply,
Priyanka.

Last edited by mzzt; 09/30/05 01:40 PM.
Re: /usr/bin/ld: cannot find -lfmpich
mzzt #8350 10/04/05 09:54 AM
Joined: Jan 2005
Posts: 86
M
mzzt Offline OP
Forum Member
OP Offline
Forum Member
M
Joined: Jan 2005
Posts: 86
Dear charmmers,
When I am trying to run PME on the AMD optron 64-bit there is some problem related to the heap storage. Earlier it gave me the error which is explained in my previous post in this thread only, so i made the following change in the heap.fcm.
HEAPDM=10240000 to HEAPDM=20480000 ( I am taking into consideration the 2**N rule and hence taking 1024*2 = 2048) I am getting the following error.

p2_21881: p4_error: : 12

***** LEVEL -5 WARNING FROM *****
***** non 2**N PE count in transpose
******************************************
BOMLEV ( 0) IS REACHED - TERMINATING. WRNLEV IS -5

ABNORMAL TERMINATION
MAXIMUM STACK SPACE USED IS 108024
STACK CURRENTLY IN USE IS 0
MOST SEVERE WARNING WAS AT LEVEL -5

$$$$$ JOB ACCOUNTING INFORMATION $$$$$
ELAPSED TIME: 1.02 SECONDS
CPU TIME: 0.00 SECONDS
p3_25832: p4_error: : 12

***** LEVEL -5 WARNING FROM *****
***** non 2**N PE count in transpose
******************************************
BOMLEV ( 0) IS REACHED - TERMINATING. WRNLEV IS -5

ABNORMAL TERMINATION
MAXIMUM STACK SPACE USED IS 108024
STACK CURRENTLY IN USE IS 0
MOST SEVERE WARNING WAS AT LEVEL -5

$$$$$ JOB ACCOUNTING INFORMATION $$$$$
ELAPSED TIME: 1.03 SECONDS
CPU TIME: 0.00 SECONDS
p5_27335: p4_error: : 12

Also I am getting the following warning messages in the gnu.log:

pif77 -O3 -ffast-math -funroll-loops -fugly-complex -fno-backslash -fno-globals -Wno-globals -DGNU -c space.f
space.f: In subroutine `veheap':
space.f:304: warning:
locheap=loc(heap)
^
Explicit type declaration for intrinsic `LOC' disagrees with invocation at (^)
space.f:336: warning:
B8=(B8-LOC(HEAP))/4+1
^
Explicit type declaration for intrinsic `LOC' disagrees with invocation at (^)



Probably I have to somehow stop calling the source/machdep/space.src VEHEAP subroutine. How can I avoid that subroutine?
Am I correct in saying that I have to stop calling the above-mentioned subroutine?
Kindly suggest me something.
It is running fine for the spherical cutoffs and PME with very small values.

Eagerly waiting for the reply,
Regards,
Priyanka.

Re: /usr/bin/ld: cannot find -lfmpich
mzzt #8351 10/05/05 01:21 AM
Joined: Sep 2003
Posts: 8,498
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,498
Upgrade your CHARMM version.


Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 5.6.33-0+deb8u1 Page Time: 0.014s Queries: 28 (0.007s) Memory: 0.9465 MB (Peak: 1.0520 MB) Data Comp: Off Server Time: 2020-09-20 05:06:38 UTC
Valid HTML 5 and Valid CSS