Re: undefined reference to libquadmath routines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 7, 2011 at 2:40 PM, Syed Bilal Mehdi
<bilal.mehdi87@xxxxxxxxx> wrote:
>
> That solved the problem. But now there is another problem. If I miss adding
> -lfortran as external library, I get the following error during build of my
> test code
>
> [SNIP]
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:20:
> undefined reference to `quadmath_snprintf'
Then don't do that ;)

> And when I do add  -lgfortran as external library, the build goes successful
> but I get the following error during runtime
>
> ./test: error while loading shared libraries: libgfortran.so.3: cannot open
> shared object file: No such file or directory
>
> Is it a bug again? or am I missing something this time? and why is fortran
> important here?
Is libgfortran.so installed and available? `whereis libgfortran.so` or
`file libgfortran.so` should let you know if its installed. `ldconfig
-p | grep -i libgfortran` should tell you if its available.

Jeff

>
> Ian Lance Taylor-3 wrote:
>>
>> Syed Bilal Mehdi <bilal.mehdi87@xxxxxxxxx> writes:
>>
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:13:
>>> undefined reference to `sqrtq(__float128)'
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:14:
>>> undefined reference to `quadmath_snprintf(char*, unsigned int, char
>>> const*,
>>> ...)'
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:18:
>>> undefined reference to `quadmath_snprintf(char*, unsigned int, char
>>> const*,
>>> ...)'
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:22:
>>> undefined reference to `quadmath_snprintf(char*, unsigned int, char
>>> const*,
>>> ...)'
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:28:
>>> undefined reference to `quadmath_snprintf(char*, unsigned int, char
>>> const*,
>>> ...)'
>>> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:18:
>>> undefined reference to `quadmath_snprintf(char*, unsigned int, char
>>> const*,
>>> ...)'
>>>
>>> What am I missing here. I tried specifying -lquadmath but that didn't
>>> help!!
>>
>> The format of those errors tells me that you are calling these as C++
>> functions, but they are written in C.  There is a missing extern "C"
>> somewhere.
>>
>> In fact, it's in quadmath.h.  That's a bug.  Please file a bug report
>> for it.  Thanks.
>>
>> In the meantime, write this:
>>
>> extern "C" {
>> #include "quadmath.h"
>> }
>>
>> Ian
>>
>>
>
> --
> View this message in context: http://old.nabble.com/undefined-reference-to-libquadmath-routines-tp31790381p31794507.html
> Sent from the gcc - Help mailing list archive at Nabble.com.
>
>



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux