[Bug libquadmath/68665] New: fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 Bug ID: 68665 Summary: fails to link quad math functions even though cygquadmath-0.dll is present Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: libquadmath Assignee: unassigned at gcc dot gnu.org Reporter: mc1soft at yahoo dot com Target Milestone: --- Created attachment 36891 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36891&action=edit zip archive with source, headers, temp files When using Cygwin with GCC 4.9.3-1 and libquadmath0 4.9.3-1 under Win XP SP3 the following error occurs: $ gcc -o test128a test128a.c -save-temps test128a.o:test128a.c:(.text+0x10f): undefined reference to `quadmath_snprintf' collect2: error: ld returned 1 exit status I have #include in a C source, and the __float128 type works, but not the functions (which I can test by removing all the functions). I found a dll cygquadmath-0.dll which definitely has these functions in it. It is in 3 places in the Cygwin installation. Additionally, I copied it to Windows\System, but that did not help. The source is attached. The headers are also attached even though they are from the Cygwin distribution, not mine. All requested intermediate files are attached.
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #2 from Robert Shuler --- Results of that suggestion: $ gcc -lcygquadmath -o test128a test128a.c /usr/lib/gcc/i686-pc-cygwin/4.9.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lcygquadmath collect2: error: ld returned 1 exit status Is that the correct way to enter it? I have dll's containing the required functions, two different ones, and several copies of each. I tried variations on your suggestion using the names of these dlls with the same result, though I did not specify a path. The path indicated in the error message does not seem to match anything in my installation. I am attaching a search listing on everything with "quad" in the name. By the way, during installation I selected everything related to "quad."
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #3 from Robert Shuler --- Created attachment 36904 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36904&action=edit search of all quad-related files in the Cygwin installation showing dll's with libquadmath functions
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #5 from Robert Shuler --- I just did a from-scratch installation on a different computer (at the office) with Win7 of cygwin-64 GCC and the quad math package. The results are exactly the same. Built-in _float128 works, but identical error messages trying to use the functions. In this case, however THE DLLs ARE MISSING. Here is result of trying -lquadmath on the office installation. $ gcc -lquadmath -o test128a test128a.c /tmp/ccEh0rVO.o:test128a.c:(.text+0x9f): undefined reference to `quadmath_snprintf' /tmp/ccEh0rVO.o:test128a.c:(.text+0x9f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `quadmath_snprintf' collect2: error: ld returned 1 exit status That is what I'd expect given the missing dll's. I'll try it on the WinXP installation this evening and post the result here.
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #7 from Robert Shuler --- (In reply to Andrew Pinski from comment #6) > (In reply to Robert Shuler from comment #5) > > I just did a from-scratch installation on a different computer (at the > > office) with Win7 of cygwin-64 GCC and the quad math package. The results > > are exactly the same. Built-in _float128 works, but identical error > > messages trying to use the functions. In this case, however THE DLLs ARE > > MISSING. > > > > Here is result of trying -lquadmath on the office installation. > Try: > gcc -o test128a test128a.c -lquadmath That works on the WinXP 32 bit installation at home. It's definitely order dependent. I will try it on the 64 bit installation in the morning and post results here. Thanks for your assistance. (Probably that should be added to the manual, which I did read thoroughly)
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #8 from Robert Shuler --- (In reply to Robert Shuler from comment #7) > (In reply to Andrew Pinski from comment #6) > > (In reply to Robert Shuler from comment #5) > > > I just did a from-scratch installation on a different computer (at the > > > office) with Win7 of cygwin-64 GCC and the quad math package. The results > > > are exactly the same. Built-in _float128 works, but identical error > > > messages trying to use the functions. In this case, however THE DLLs ARE > > > MISSING. > > > > > > Here is result of trying -lquadmath on the office installation. > > Try: > > gcc -o test128a test128a.c -lquadmath > > That works on the WinXP 32 bit installation at home. It's definitely order > dependent. I will try it on the 64 bit installation in the morning and post > results here. Thanks for your assistance. (Probably that should be added > to the manual, which I did read thoroughly) On the Cygwin64 installation on Win 7 at the office (where for some reason the dll's are not present), it does not work. Same error. I used Cygwin's installer, installing from the net, checked GCC and Quad Precision libs, and allowed all prerequisites it wanted.
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 --- Comment #10 from Robert Shuler --- (In reply to Andrew Pinski from comment #9) > (In reply to Robert Shuler from comment #8) > > On the Cygwin64 installation on Win 7 at the office (where for some reason > > the dll's are not present), it does not work. Same error. I used Cygwin's > > installer, installing from the net, checked GCC and Quad Precision libs, and > > allowed all prerequisites it wanted. > > You need to talk with cygwin folks if you are now using their binaries. Fair enough. Thanks for fixing the problem with my WinXP installation.
[Bug libquadmath/68665] fails to link quad math functions even though cygquadmath-0.dll is present
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68665 Robert Shuler changed: What|Removed |Added Resolution|INVALID |WORKSFORME