0
votes

While building GotoBlas2 on my x86_64 by using the default make file, I encounter the following build error:

gcc -O2 -DEXPRECISION -m128bit-long-double -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DMAX_CPU_NUMBER=8 -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -I.. -w -o linktest linktest.c ../libgoto2_nehalemp-r1.13.so -L/usr/lib64/gcc/x86_64-suse-linux/4.7 -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../.. -l -l -lgfortran -lm -lquadmath -lm -lc && echo OK. /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: cannot find -l-l collect2: error: ld returned 1 exit status make[1]: * [../libgoto2_nehalemp-r1.13.so] Error 1 make[1]: Leaving directory `/home/ken/bin/build/GotoBLAS2/exports' make: * [shared] Error 2

In an attempt to remedy the problem I searched my package manager for a library to satisfy -l-l, looking for things like libl, liblex, libflex, etc but I can't find anything to satisfy the link.

Any ideas?

1
This looks like a makefile error. It would require a wicked sense of humor to call a library "-l". It probably just expanded two empty variables from -l $(emptyvar1) -l $(emptyvar2)Art
I suspect you're correct. I've found libfl.a on my system. I'll try to correct the Makefile.kobrien
Ah yes, you were right. It has no dependancy on libfl, it's just two empty variables expanded. I'll mail the developers now. Thanks. Build is successful.kobrien

1 Answers

2
votes

To fix this, edit line 298 in f_check to

"print MAKEFILE "FEXTRALIB=$linker_L   -lgfortran -lm -lquadmath -lm $linker_a\n";"