[RFC] Full float128, third iteration

Angelo Graziosi angelo.graziosi@alice.it
Fri Sep 10 22:59:00 GMT 2010


Il 10/09/2010 17.31, FX ha scritto:
>> $ gfortran-4.6 -Wall test_qp.f90 -o test_qp
>> /usr/local/gfortran/bin/../lib/gcc/i686-pc-cygwin/4.6.0/../../../libgfortran.a(write.o):(.text$write_float+0x1fc): undefined reference to `_libgfortran_dtoaq'
>> /usr/local/gfortran/bin/../lib/gcc/i686-pc-cygwin/4.6.0/../../../libgfortran.a(read.o):(.text$__gfortrani_convert_real+0x95): undefined reference to `_libgfortran_strtopQ'
>> collect2: ld returned 1 exit status
>>
>> (I have also tried adding '-L/foo/lib -lquad' and '/foo/bin' to PATH)
>>
>> What have I done of wrong?
>
> Hard to tell. Do you have those symbols defined in the libquad shared lib? (You should be able to check using "nm".)

With 'nm' I get:

$ nm /foo/lib/libquad.a | grep strtop
strtopQ.o:
00000000 T _libgfortran_strtopQ

$ nm /foo/lib/libquad.a | grep dtoa
00000004 C _dtoa_result_D2A
00000090 T _freedtoa
gdtoa.o:
          U _dtoa_result_D2A
          U _freedtoa
00000000 T _gdtoa
          U _gdtoa
          U _freedtoa
00000000 T _libgfortran_dtoaq


and for the shared library:

$ nm /foo/bin/cygquad-0.dll | grep strtop
672c6ab0 T _libgfortran_strtopQ

$ nm /foo/bin/cygquad-0.dll | grep dtoa
67322a60 B _dtoa_result_D2A
672c10f0 T _freedtoa
672c1340 T _gdtoa
672c6bc0 T _libgfortran_dtoaq


> Also, why are you using a static library for libgfortran instead of shared library?

I am not sure if I understand... Do you mean why I use 
'--disable-shared' in the build of GCC?

To avoid to add the path_to_dlls to PATH, otherwise the dlls of the 
default GCC (4.3.4) would be picked...

Ciao,
Angelo.



More information about the Fortran mailing list