gcc: fatal error: cannot execute 'f951': execvp: no such...

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.

Moderators: Moderator, Global Moderator

Post Reply
Message
Author
shehnaz
Newbie
Newbie
Posts: 4
Joined: Wed Jun 19, 2024 3:37 pm

gcc: fatal error: cannot execute 'f951': execvp: no such...

#1 Post by shehnaz » Tue Jun 25, 2024 4:14 pm

Dear VASP Team,

I am installing VASP.6.3.0 on Ubuntu 20.04 using OracleVM VirtualBox. When I compile VASP giving command 'make DEPS=1 -j', following error occured.

gcc: fatal error: cannot execute 'f951': execvp: No such file or directory compilation terminated

I have updated gcc and gfortran compilers but no change.

My makefile is following

# Default precompiler options
CPP_OPTIONS = -DHOST=\"LinuxGNU\" \
-DMPI -DMPI_BLOCK=8000 -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf \
-D_OPENMP

CPP = gcc -E -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)

FC = mpif90 -fopenmp
FCL = mpif90 -fopenmp

FREE = -ffree-form -ffree-line-length-none

FFLAGS = -w -ffpe-summary=invalid,zero,overflow

OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0

OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

# For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = gcc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)

OBJECTS_LIB = linpack_double.o

# For the parser library
CXX_PARS = g++
LLIBS = -lstdc++

##
## Customize as of this point! Of course you may change the preceding
## part of this file as well if you like, but it should rarely be
## necessary ...
##

# When compiling on the target machine itself, change this to the
# relevant target when cross-compiling for another architecture
FFLAGS += -march=native

# For gcc-10 and higher (comment out for older versions)
#FFLAGS += -fallow-argument-mismatch

# BLAS and LAPACK (mandatory)
#OPENBLAS_ROOT ?= /path/to/your/openblas/installation
BLASPACK = -lopenblas

# scaLAPACK (mandatory)
#SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
SCALAPACK = -lscalapack-openmpi

LLIBS += $(SCALAPACK) $(BLASPACK)

# FFTW (mandatory)
#FFTW_ROOT ?= /path/to/your/fftw/installation
LLIBS += -lfftw3 -lfftw3_omp
INCS += -I/usr/include

# HDF5-support (optional but strongly recommended)
CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT ?= /path/to/your/hdf5/installation
#LLIBS += -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ -lhdf5_fortran
#INCS += -I/usr/include/hdf5/openmpi/

# For the VASP-2-Wannier90 interface (optional)
#CPP_OPTIONS += -DVASP2WANNIER90
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier

# For the fftlib library (experimental)
#CPP_OPTIONS+= -Dsysv
#FCL += fftlib.o
#CXX_FFTLIB = g++ -fopenmp -std=c++11 -DFFTLIB_THREADSAFE
#INCS_FFTLIB = -I./include -I$(FFTW_ROOT)/include
#LIBS += fftlib
#LLIBS += -ldl



I have attached error image. Please help me in this regard. Thank you




Best regards,
Hafiz
You do not have the required permissions to view the files attached to this post.

pedro_melo
Global Moderator
Global Moderator
Posts: 111
Joined: Thu Nov 03, 2022 1:03 pm

Re: gcc: fatal error: cannot execute 'f951': execvp: no such...

#2 Post by pedro_melo » Wed Jun 26, 2024 9:54 am

Dear shehnaz,

This seems to be an issue with your gcc installation. Are you sure the mpif90 and gcc aliases are correct? Could you try running

Code: Select all

find /usr/local/ -name f951
and show me what it returns?

Kind regards,
Pedro

shehnaz
Newbie
Newbie
Posts: 4
Joined: Wed Jun 19, 2024 3:37 pm

Re: gcc: fatal error: cannot execute 'f951': execvp: no such...

#3 Post by shehnaz » Thu Jun 27, 2024 1:32 pm

Dear Pedro,

I had found that gfortran was older version.

so I have updated to Ubuntu 22.04 and install latest version of vasp 6.4.3 and is successfully compiled following simply VASP wiki steps using gnu and i have all three executables in bin folder. but now how to run VASP?
There is no any export Path, whereas in some tutorials, there is an export path for bin folder at the end of .bashrc file. Would you please guide? Thank you very much.

Here is my .bashrc file

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi


Best regards,
hafiz

pedro_melo
Global Moderator
Global Moderator
Posts: 111
Joined: Thu Nov 03, 2022 1:03 pm

Re: gcc: fatal error: cannot execute 'f951': execvp: no such...

#4 Post by pedro_melo » Fri Jun 28, 2024 2:03 pm

Dear shehnaz,

There are several ways to call the VASP executables. I have used one of the following three below:

1) You can call them directly using the path to your installation with (here I'm giving an example where you run vasp_std with 4 mpi tasks)

Code: Select all

$ mpirun -np 4 $PATH_TO_VASP_INSTALLATION/bin/vasp_std
where $PATH_TO_VASP_INSTALLATION is the full path to where the directory where you compiled VASP is. From the picture you posted in your case it should be PATH_TO_VASP_INSTALLATION=/home/shehnaz/DFT/vasp.6.3.0

2) you can declare an alias in your .bashrc file

Code: Select all

alias vasp_std="/home/shehnaz/DFT/vasp.6.3.0/bin/vasp_std"
3) you can add /home/shehnaz/DFT/vasp.6.3.0/bin to your path, and have access to all executables. In your .bashrc file add

Code: Select all

export PATH="/home/shehnaz/DFT/vasp.6.3.0/bin/:$PATH"
Then you can call vasp_gam, vasp_std, and vasp_ncl as you would any other command.

Kind regards,
Pedro

Post Reply