WarwickMicroscopy / Felix

Felix: Bloch wave method diffraction pattern simulation software
16 stars 10 forks source link

Error in linking lapack on tinis - Cannot compile #171

Closed AJMHubert closed 7 years ago

AJMHubert commented 7 years ago

I've tried to compile the master branch of felix on tinis and I'm thrown this error:

--- LINKING felix code                                                                                              
/csc/tinis/software/Compiler/GCC/4.9.3/binutils/2.25/bin/ld.gold: error: cannot find -lblas                         
/csc/tinis/software/Compiler/GCC/4.9.3/binutils/2.25/bin/ld.gold: error: cannot find -llapack 

I've used Module load intel impi imkl FFTW which works with the old makefile, do we use different modules now?

Cheers,

Alex

JacobJoseph-gu commented 7 years ago

I've applied for a tinis account and will hopefully get to work on this shortly.

RudoRoemer commented 7 years ago

Hi Alex, you will have noticed that I removed you from the "collaborators" list in RudoRoemer/felix. The preferred mode of working now is for other developers to "fork" RudoRoemer/felix into their own git repository, make changes there and then ask for a pull-request when you think that your changes are ready to be pulled back into the RudoRoemer/felix master. This just gives more control about changes.

JacobJoseph-gu commented 7 years ago

I have solved this and got tinis to compile without errors. Sorry it took a while, I will submit a pull request shortly.

JacobJoseph-gu commented 7 years ago

With the new makefile structure you have to edit user.mk to match which compiler settings you are using. For tinis, comment out 'PLATFORM=INT64NGNU' and bring out 'PLATFORM=INT64Nifort'. Indeed, load Module load intel impi imkl FFTW and that should work.

For future referance, the corresponding flag and compiler information is in makefile.includeINT64Nifort which is what is selected from user.mk. In this case I have updated that to use ifort and put the tinis compiler flags as default. It may be that other ifort machines require different flags in this file