LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 06-01-2012, 07:12 AM   #1
penghcp
LQ Newbie
 
Registered: Mar 2011
Posts: 6

Rep: Reputation: 0
Does the libblas.a exist at RHEL 6.0 with the non-commercial intel C++ and fortran ?


Hello guys;
Recently I compiled a molecular simulation software named LAMMPS at my Virtual machine successfully.
When I tried to compile it on pysical machine, but it was failed. Error: ld : cannot find -lblas.
Checking libblas.a or libblas.so whether exsited, I found both machines didn't content these two files. Is there something
wrong I did when installing compiler or some relationship between static library I didn't establish?
My OS is RHEL 6.0 with the latest non-commercial intel C++ and intel fortran. Looking forward to your reply.
 
Old 06-01-2012, 07:33 AM   #2
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,831
Blog Entries: 15

Rep: Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669
When searching for a file in a yum based OS like RHEL 6 you can run "yum provides" to see what rpm provides it.

"yum provides "*/libblas*"

Doing that on my RHEL 6 server shows it is from the "blas" package which is "The Basic Linear Algebra Subprograms library".

You could run "yum list blas" to see which versions of this are available and/or installed already. You can run "yum install blas" to install the latest one.

However you say the files don't exist on the first system you compiled this on so it seems that your error isn't due to missing file. Was there something else in the output of the compile before the ld failure?
 
1 members found this post helpful.
Old 06-03-2012, 03:40 AM   #3
penghcp
LQ Newbie
 
Registered: Mar 2011
Posts: 6

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by MensaWater View Post
When searching for a file in a yum based OS like RHEL 6 you can run "yum provides" to see what rpm provides it.

"yum provides "*/libblas*"

Doing that on my RHEL 6 server shows it is from the "blas" package which is "The Basic Linear Algebra Subprograms library".

You could run "yum list blas" to see which versions of this are available and/or installed already. You can run "yum install blas" to install the latest one.

However you say the files don't exist on the first system you compiled this on so it seems that your error isn't due to missing file. Was there something else in the output of the compile before the ld failure?
Thanks for your useful advice sincerely, problems have been solved successfully. It's my faults that I didn't check the relational librarys comprehensively.Some crucial librarys missed in the second machine, and I fixed it using your suggestion or commands.Could you recommend some books can be resolve question listed below:
Due to work request, I need compile some molecular simulation software. But how to understand or change the Makefile is a bother question. Many
symbols or abbreviations are beyond my knowledge. For example :


SHELL=/bin/sh

CC = g++
CCFLAGS = -g -O
LINK = g++
LINKFLAGS = -g -O
DEPFLAG = -MM
SIZE = size

SRC = main.cpp nanotube.cpp
OBJ = $(SRC:%.cpp=%.o)
EXE = NT
#--------------------------------------------
#Link target
$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(OBJ) -o $@
$(SIZE) $@
#Compile rulse
%.o: %.cpp
$(CC) $(CCFLAGS) -c $<
%.d: %.cpp
$(CC) $(CCFLAGS) $(DEPFLAG) $< > $@
clean:
-rm $(OBJ) *.d $(EXE)
#--------------------------------------------
#Individual dependence
DEPEDENCE = $(OBJ:%.o=%.d)
sinclude $(DEPEDENCE)


SUBDIRS = $(NW_CORE_SUBDIRS) $(NW_MODULE_SUBDIRS)
all: pre_build
@nmake -nologo foreach_subdir
nmake -nologo link

build:
@nmake -nologo foreach_subdir
nmake -nologo link

OBJ = $(OBJDIR)\nwchem.obj \
$(OBJDIR)\stubs_win32.obj

COMPILATION_DATE = (unknown)
CODE_BRANCH = (unknown)
!IFDEF PYTHONHOME
WITHPYTHON = -DWITHPYTHON
!ENDIF
LIB_DEFINES = -DCOMPILATION_DATE="'$(COMPILATION_DATE)'" \
-DCOMPILATION_DIR="'$(TOPDIR)'" \
-DNWCHEM_BRANCH="'$(CODE_BRANCH)'" $(WITHPYTHON)


OR some compiling Flags : icc -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DLMP_USER_OMP -I../../lib/atc -I../../lib/reax -I../../lib/poems -I../../lib/meam -DMPICH_SKIP_MPICXX -DFFT_FFTW3 -M angle_cg_cmm.cpp > angle_cg_cmm.d

Looking forward your reply!!!
 
Old 06-04-2012, 09:04 AM   #4
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,831
Blog Entries: 15

Rep: Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669Reputation: 1669
The best place to start is with "man" and "info" pages. UNIX/Linux have manual (man) pages for most commands and libraries. Linux also has info pages that may have more detail about some commands/libraries beyond what is shown in the man pages.

Typing "man cc" will give you information about the compiler (gcc is linked to cc - the g stands for Gnu which lets you know it is open source - there are also proprietary versions of C such as Ansi C on some platforms but nearly all are linked to cc where installed.)

Typing "man ld" will give you information about the linker.

Typing "man make" will give you information about that command.

I'm not really a "developer" so my knowledge of compiling/making is somewhat limited. If you run into a specific question about a feature/issue you run across you might want to open a new thread as it might get you better information than I could provide as it will have higher visibility than additions to this thread.
 
1 members found this post helpful.
Old 06-04-2012, 11:06 AM   #5
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
You don't say what it is you need to change in the makefile. If you're using Intel's compilers rather than the GNU ones, then the commands are icc and ifort for C++ or Fortran, respectively. Is it not possible for you to get help from the group that wrote LAMPPS, or others in your own research group (as I imagine some of them use it)? Also, the plural of "library" is "libraries", not "librarys".
 
Old 06-07-2012, 05:25 AM   #6
penghcp
LQ Newbie
 
Registered: Mar 2011
Posts: 6

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by MensaWater View Post
The best place to start is with "man" and "info" pages. UNIX/Linux have manual (man) pages for most commands and libraries. Linux also has info pages that may have more detail about some commands/libraries beyond what is shown in the man pages.

Typing "man cc" will give you information about the compiler (gcc is linked to cc - the g stands for Gnu which lets you know it is open source - there are also proprietary versions of C such as Ansi C on some platforms but nearly all are linked to cc where installed.)

Typing "man ld" will give you information about the linker.

Typing "man make" will give you information about that command.

I'm not really a "developer" so my knowledge of compiling/making is somewhat limited. If you run into a specific question about a feature/issue you run across you might want to open a new thread as it might get you better information than I could provide as it will have higher visibility than additions to this thread.
Thank you all the same
 
Old 06-07-2012, 05:30 AM   #7
penghcp
LQ Newbie
 
Registered: Mar 2011
Posts: 6

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by Nylex View Post
You don't say what it is you need to change in the makefile. If you're using Intel's compilers rather than the GNU ones, then the commands are icc and ifort for C++ or Fortran, respectively. Is it not possible for you to get help from the group that wrote LAMPPS, or others in your own research group (as I imagine some of them use it)? Also, the plural of "library" is "libraries", not "librarys".
Thanks for your advice, and I'll pay attention to the rules of English grammar.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
help regarding intel fortran compiler nishith17 Linux - Newbie 3 07-24-2010 09:34 AM
installing intel fortran on opensuse 11.0 saray Linux - Software 2 05-03-2009 06:28 AM
Gnu Fortran versus Intel Fortran tomatoefish Linux - Software 3 02-20-2006 01:31 PM
RHEL - Eval/Academic/Commercial, are they the same? sgbradley Linux - Enterprise 1 08-09-2005 12:25 PM
How can I PATH the intel fortran library? souaw Mandriva 1 04-27-2004 04:34 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 03:22 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration