[FLASH-USERS] Problem with HYPRE library

Klaus Weide klaus at flash.uchicago.edu
Thu Oct 26 14:03:22 EDT 2017


On Thu, 26 Oct 2017, ascenzi wrote:

> Dear All,
> 
> After the installation of the HYPRE library I am trying to compile a
> simulation that requires the Diffuse module.

Hi Stefano,

Which version of HYPRE are you trying to use?

> Unfortunately I obtain the following error:
> 
> 
> 
> -L/usr/local/Hypre/lib -lHYPRE

What is the contents of the directory /usr/local/Hypre/lib ?


> Undefined symbols for architecture x86_64:
>   "_hypre_boomeramgcreate_", referenced from:
>       _gr_hypresetupsolver_ in gr_hypreSetupSolver.o
>   "_hypre_boomeramgdestroy_", referenced from:
>       _gr_hypredestroysolver_ in gr_hypreDestroySolver.o
>   "_hypre_boomeramggetfinalreltvres_", referenced from:
>       _gr_hypresolve_ in gr_hypreSolve.o
> 
>>> 
>   "_hypre_sstructvectorsetboxvalues_", referenced from:
>       _grid_solvepoisson_ in Grid_solvePoisson.o
>       _gr_hypresetiniguess_ in gr_hypreSetIniGuess.o
>       _gr_hypreupdatesoln_ in gr_hypreUpdateSoln.o
>   "_hypre_sstructvectorsetobjecttyp_", referenced from:
>       _gr_hypresetupgrid_ in gr_hypreSetupGrid.o
> ld: symbol(s) not found for architecture x86_64
> collect2: error: ld returned 1 exit status
> make: *** [flash4] Error 1

How have you configured your HYPRE library?

In particular, was the --enable-fortran flag enabled when you ran 
configure for HYPRE? This is necessary for FLASH to use HYPRE.


> 
> In the Makefile.h I created the following library macro:
> 
> LIB_HYPRE = -L${HYPRE_PATH}/lib    -lHYPRE
> 
> where HYPRE_PATH = /usr/local/Hypre, which should be the correct path.
> 
> In order to fix some previous problem I added in the makefile also the
> following line:
> CFLAGS_HYPRE = -I ${HYPRE_PATH}/include

You should also have another line:

FFLAGS_HYPRE = -I ${HYPRE_PATH}/include


Hope this helps,

Klaus


More information about the flash-users mailing list