0

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?

kobrien
  • 2,931
  • 2
  • 24
  • 33
  • 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 Oct 09 '12 at 12:32
  • I suspect you're correct. I've found libfl.a on my system. I'll try to correct the Makefile. – kobrien Oct 09 '12 at 12:33
  • 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 Oct 09 '12 at 13:06

1 Answers1

2

To fix this, edit line 298 in f_check to

"print MAKEFILE "FEXTRALIB=$linker_L   -lgfortran -lm -lquadmath -lm $linker_a\n";" 
kobrien
  • 2,931
  • 2
  • 24
  • 33