Page 2 of 2

Compile error yambo-5.0.2

Posted: Wed Jun 09, 2021 9:14 am
by Fariba
Hi
I wish to compile yambo-5.0.2 . It crashes with the following error

Fatal Error: petsc/finclude/petscsys.h: No such file or directory

I would appreciate you comments

Thank you
Fariba
IASBS

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Wed Jun 09, 2021 9:48 am
by Daniele Varsano
Dear Fariba,
in order to spot the problem we would need you to attach the config.log file.
Anyway, petsc are needed if you want to link slepc libraries, are you sure you need them?
If not, you can avoid to include the --enable-slepc-linalg command line when configuring the code.

Best,
Daniele

Compile error yambo-5.0.2

Posted: Wed Jun 09, 2021 1:38 pm
by Fariba
Hi Daniele
Thank you for the comment.
please find the two log files from different systems in the attachment.

Regards
Fariba
IASBS

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Wed Jun 09, 2021 1:48 pm
by Daniele Varsano
Dear Fariba,
as suggested before try to reconfigure yambo without the slepc support.

So remove the --enable-slepc-linalg.
Note, that it's repeated twice in your command line.

If the problem persist, post here the error and config.log file.
Best,
Daniele

Compile error yambo-5.0.2

Posted: Wed Jun 09, 2021 2:22 pm
by Fariba
Hi Daniele
I have compiled yambo in one of the systems. In the other system the error is as following. The log file is in the attachment.
""<command-line>:0:14: warning: ISO C99 requires whitespace after the macro name
make[1]: Entering directory '/data/home/nazari/yambo-5.0.2/lib/qe_pseudo'
Makefile:102: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
make[1]: Leaving directory '/data/home/nazari/yambo-5.0.2/lib/qe_pseudo'
make: *** [config/mk/actions/compile_yambo.mk:2: yambo] Error 2""

Regards
Fariba

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Wed Jun 09, 2021 2:46 pm
by Daniele Varsano
Dear Fariba,
it seems you have a pre-processor problem.
You can try to set it as CPP="gcc -E"

Best,
Daniele

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Wed Jun 09, 2021 3:37 pm
by Fariba
Hi Daniele

I have still faced with the following error after using CPP='gcc -E'.

>>>[Making qe_pseudo]<<<
<command-line>:0:14: warning: ISO C99 requires whitespace after the macro name
make[1]: Entering directory '/data/home/nazari/yambo-5.0.2/lib/qe_pseudo'
Makefile:102: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
make[1]: Leaving directory '/data/home/nazari/yambo-5.0.2/lib/qe_pseudo'
make: *** [config/mk/actions/compile_yambo.mk:2: yambo] Error 2
Regards
Fariba
IASBS

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Fri Jun 11, 2021 10:28 pm
by andrea.ferretti
Dear Andrew,

eventually I was able to compile yambo-4.2.1 on a workstation with CentOS, using gfortran 7.3.1, after having fixed a few issues, as detailed below.
* I configured without any flag, as plain as ./configure
* the first error came when trying to download the iotk library. Apparently yambo 4.2.1 had an issue that was later fixed

edit the file yambo/lib/archive/package.list and change the lines corresponding to iotk as follows:

Code: Select all

#tarball_iotk=iotk-y1.2.1.tar.gz
tarball_iotk=iotk-y1.2.2.tar.gz

#url_iotk=https://github.com/yambo-code/yambo/files/783147/$(tarball_iotk)
url_iotk=https://github.com/yambo-code/yambo/files/962173/$(tarball_iotk)
* compilation then goes well until linking, which in my case failed (scripting issue?)

I had to fix around lines 120 of yambo/sbin/make_makefile.sh according to:

Code: Select all

cat << EOF >> $cdir/Makefile
\$(target): \$(dep_file) \$(objs)
        \$(driver)
        \$(link)
        \$(modmove)
        \$(dircheck)
        @mv \$@ \$(exec_prefix)
EOF
(basically I had some extra \$ symbols I had to remove)

SIDE NOTE:
yambo 4.2.1 is a quite old version, I strongly recommend to use either 4.5.x or 5.0.x
unless you have some good reasons to do otherwise (perhaps you've already mentioned)

take care
Andrea

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Sat Jun 12, 2021 8:30 am
by Daniele Varsano
Dear Andrea,

the post asking from help is from Fariba who's trying to compile yambo-5.0.x I guess.
You answered to an old post by Andrew of more than 4 years old.

This confusion happens when posting question on the wrong subform or as a reply of old posts where the problem is not exactly the same as in this case when an old release of the code is indicated.

Best,
Daniele

Re: 4.2.1 can't compile on seemingly any system (linux)

Posted: Sat Jun 12, 2021 10:38 am
by andrea.ferretti
good point :-)
moving to the next question now
(indeed, it would have been definitely more effective to have a new forum thread)

now, coming to the Fariba's question, I tend to agree with Daniele, the offending lines are those related to CPP, in particular these lines look suspicious to me:

CPP='gcc -E'
CPPFLAGS=''
CPPFLAGS_yambo='-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /data/home/nazari/anaconda3/include'

CPP is ok, but CPPFLAGS seems to get some values from the environment.
I would try to unset the variable before configuring...

Something like the following works in my case:

export CPPFLAGS=""

Code: Select all

./configure \
   --disable-mpi \
   --enable-open-mp \
   --enable-msgs-comps \
   --enable-time-profile \
   --enable-memory-profile \
   --with-blas-libs="-L/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" \
   --with-lapack-libs="-L/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" \
   FC=gfortran CC=gcc F77=gfortran CPP="gcc -E" 
 
Andrea