Page 1 of 1

Undefined reference to `dgesvd_' issue  [SOLVED]

Posted: Fri Aug 14, 2020 5:38 am
by dikapandu
Hi.

Recently I installed a fresh Ubuntu 18.04 and start Abinit 9.0.4 compilation with the configuration as stated in here.

After I installed the fallbacks, do ./configure, and make, I got this error:

Code: Select all

../../src/28_numeric_noabirule/lib28_numeric_noabirule.a(m_numeric_tools.o): In function `__m_numeric_tools_MOD_llsfit_svd':
/home/dika/abinit-9.0.4/build/shared/common/src/28_numeric_noabirule/../../../../../shared/common/src/28_numeric_noabirule/m_numeric_tools.F90:2303: undefined reference to `dgesvd_'
collect2: error: ld returned 1 exit status
Makefile:4247: recipe for target 'abinit' failed
make[3]: *** [abinit] Error 1
make[3]: Leaving directory '/home/dika/abinit-9.0.4/build/src/98_main'
Makefile:1227: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/dika/abinit-9.0.4/build/src'
Makefile:1430: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/dika/abinit-9.0.4/build'
Makefile:1354: recipe for target 'all' failed
make: *** [all] Error 2
Is there something to do to fix this problem?

Thank you.
Dika.

Re: Undefined reference to `dgesvd_' issue

Posted: Sun Aug 16, 2020 6:00 pm
by jbeuken
Hi,

I noticed that under Ubuntu >=18, the python command doesn't exist even if a python package ( 2.x or 3.x ) is installed... :shock:

you have to manually create a symbolic link or use the os script :

Code: Select all

update-alternatives

Code: Select all

cd /usr/bin
ln -s python3.6 python
during the ./configure, there is a python script that is executed .

Re: Undefined reference to `dgesvd_' issue

Posted: Thu Aug 20, 2020 5:12 am
by dikapandu
Sorry for my late response.

The problem was still not been solved sir. Here is the output of the program after I applied your solution:

Code: Select all

../../src/28_numeric_noabirule/lib28_numeric_noabirule.a(m_hide_lapack.o): In function `__m_hide_lapack_MOD_wrap_cheev':
/home/dika/abinit/abinit-9.0.4/build/shared/common/src/28_numeric_noabirule/../../../../../shared/common/src/28_numeric_noabirule/m_hide_lapack.F90:241: undefined reference to `cheev_'
../../src/28_numeric_noabirule/lib28_numeric_noabirule.a(m_numeric_tools.o): In function `__m_numeric_tools_MOD_llsfit_svd':
/home/dika/abinit/abinit-9.0.4/build/shared/common/src/28_numeric_noabirule/../../../../../shared/common/src/28_numeric_noabirule/m_numeric_tools.F90:2303: undefined reference to `dgesvd_'
collect2: error: ld returned 1 exit status
Makefile:4247: recipe for target 'abinit' failed
make[3]: *** [abinit] Error 1
make[3]: Leaving directory '/home/dika/abinit/abinit-9.0.4/build/src/98_main'
Makefile:1227: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/dika/abinit/abinit-9.0.4/build/src'
Makefile:1430: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/dika/abinit/abinit-9.0.4/build'
Makefile:1354: recipe for target 'all' failed
make: *** [all] Error 2

Re: Undefined reference to `dgesvd_' issue

Posted: Thu Aug 20, 2020 3:13 pm
by jbeuken
I'm sorry, my mistake...

it seems it's a problem with the linalg librairy !

I need more information

which options do you use for the ./configure?
if you use an ac file, what is the content?
the output at the end of the configure

jmb

Re: Undefined reference to `dgesvd_' issue

Posted: Fri Aug 21, 2020 4:42 am
by dikapandu
Sir, fortunately I successfully built the program.

After I installed

Code: Select all

sudo apt-get install libatlas-base-dev liblapack-dev libblas-dev
Then I did ./configure in top-level directory of Abinit, not in working directory as stated in here.

The problem when I ../configure --with-config-file="dika.ac9" on user-created build folder, the program still mentioned about installing hdf5 using fallbacks (even though I've already built fallbacks and copy the output of ./build-abinit-fallbacks.sh to the configuration file). When I tried to ./configure in top level of abinit directory, the program worked like a charm. :D

Thank you for your kind reply Sir.
Dika