On 05/03/2011 07:23 PM, Erik van Pienbroek wrote:
Archambault Fabien schreef op di 03-05-2011 om 13:14 [+0200]:
> For both architectures it ends with:
> perl ./gensymbol win2k x86 dummy 0 0> libgoto2.def
> i686-w64-mingw32-gcc -O2 -Wall -m32 -DF_INTERFACE_GFORT -DSMP_SERVER
> -DMAX_CPU_NUMBER=24 -DASMNAME=dllinit -DASMFNAME=dllinit_
> -DNAME=dllinit_ -DCNAME=dllinit -DCHAR_NAME=\"dllinit_\"
> -DCHAR_CNAME=\"dllinit\" -DNO_AFFINITY -I.. -c -o dllinit.obj -s dllinit.c
> i686-w64-mingw32-ranlib ../libgoto2_nehalemp-r1.13.lib
> i686-w64-mingw32-dllwrap -o libgoto2.dll --def libgoto2.def \
> --entry _dllinit@12 -s dllinit.obj --dllname libgoto2.dll
> ../libgoto2_nehalemp-r1.13.lib -L/usr/lib64/gcc/i686-w64-mingw32/4.6.0
> -L/usr/lib64/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/lib/../lib
> -L/usr/i686-w64-mingw32/sys-root/mingw/lib/../lib
> -L/usr/lib64/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/lib
> -L/usr/i686-w64-mingw32/sys-root/mingw/lib -l -lgfortran -lmingw32
> -lmoldname -lmingwex -lmsvcrt -lquadmath -lm -lmingw32 -lmoldname
> -lmingwex -lmsvcrt -lmingw32 -lmoldname -lmingwex -lmsvcrt
> /usr/lib64/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/bin/ld:
> cannot find -l-lgfortran
> collect2: ld returned 1 exit status
> i686-w64-mingw32-dllwrap: i686-w64-mingw32-gcc exited with status 1
> make[1]: *** [libgoto2.dll] Error 1
> make[1]: Leaving directory `/PATH/GotoBLAS2/exports'
> make: *** [shared] Error 2
Hi Fabien,
My guess is that there's an issue in the Makefile used by this project.
There is an '-l' argument given but without an library to link against:
-l -lgfortran
As gcc expects an argument after the '-l' it thinks that the library to
link against is named '-lgfortran' (which doesn't exist), hence you get
the error that a library named '-lgfortran' could not be found.
Kind regards,
Erik van Pienbroek
_______________________________________________
mingw mailing list
mingw(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/mingw
Hi Erik,
thanks for your judicious remark and support. Thanks to it I tried to
understand more the Makefiles and figured out that this was defined in
FEXTRALIB so I tried:
make BINARY=32 CC=i686-w64-mingw32-gcc FC=i686-w64-mingw32-gfortran
FEXTRALIB="-L/usr/i686-w64-mingw32/sys-root/mingw/lib -lgfortran
-lmingw32 -lmoldname -lmingwex -lmsvcrt -lquadmath -lm -lmingw32
-lmoldname -lmingwex -lmsvcrt -lmingw32 -lmoldname -lmingwex -lmsvcrt"
But it ends like:
i686-w64-mingw32-ranlib ../libgoto2_nehalemp-r1.13.lib
i686-w64-mingw32-dllwrap -o libgoto2.dll --def libgoto2.def \
--entry _dllinit@12 -s dllinit.obj --dllname libgoto2.dll
../libgoto2_nehalemp-r1.13.lib
-L/usr/i686-w64-mingw32/sys-root/mingw/lib -lgfortran -lmingw32
-lmoldname -lmingwex -lmsvcrt -lquadmath -lm -lmingw32 -lmoldname
-lmingwex -lmsvcrt -lmingw32 -lmoldname -lmingwex -lmsvcrt
../libgoto2_nehalemp-r1.13.lib(memory.obj):memory.c:(.text+0x3a5):
undefined reference to `_cpuid'
../libgoto2_nehalemp-r1.13.lib(parameter.obj):parameter.c:(.text+0x2b):
undefined reference to `_cpuid'
collect2: ld returned 1 exit status
i686-w64-mingw32-dllwrap: i686-w64-mingw32-gcc exited with status 1
make[1]: *** [libgoto2.dll] Error 1
I cannot understand where is defined the FEXTRALIB using grep it seems
to be defined with the compiler but I am not enough used to Makefiles.
Also the new error I do not know from where could "cpuid" arise?
Thanks a lot,
Fabien