#19844: libfplll does not build on Cygwin.
-------------------------------------+-------------------------------------
Reporter: tscrim | Owner: tscrim
Type: defect | Status: needs_review
Priority: major | Milestone: sage-7.0
Component: porting: Cygwin | Resolution:
Keywords: | Merged in:
Authors: Travis Scrimshaw | Reviewers:
Report Upstream: Fixed upstream, | Work issues:
but not in a stable release. | Commit:
Branch: | 8d79eb5880f623b966be75ff7fa857636c28eacb
public/packages/upgrade_libfplll-19844| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Travis Scrimshaw', 'oldvalue': ''}):
* status: new => needs_review
* commit: => 8d79eb5880f623b966be75ff7fa857636c28eacb
* branch: => public/packages/upgrade_libfplll-19844
* author: => Travis Scrimshaw
Old description:
> Lond double instatiation of FP_NR is used in fplll.c but never defined
> whence the failure to build libfplll:
> {{{
> .libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x2e):
> undefined reference to `fplll::FP_NR<long double>::mul(fplll::FP_NR<long
> double> const&, fplll::FP_NR<long double> const&, mpfr_rnd_t)'
> .libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x4e):
> undefined reference to `fplll::FP_NR<long double>::add(fplll::FP_NR<long
> double> const&, fplll::FP_NR<long double> const&, mpfr_rnd_t)'
> .libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x59):
> undefined reference to `fplll::FP_NR<long double>::~FP_NR()'
> .libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x68):
> undefined reference to `fplll::FP_NR<long double>::~FP_NR()'
> }}}
>
> Full log attached.
>
> Fixed by:
> *
> https://github.com/dstehle/fplll/commit/c3b5f7373967b83ba6219324084ffcfc7d9a1d18
New description:
Lond double instatiation of FP_NR is used in fplll.c but never defined
whence the failure to build libfplll:
{{{
.libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x2e):
undefined reference to `fplll::FP_NR<long double>::mul(fplll::FP_NR<long
double> const&, fplll::FP_NR<long double> const&, mpfr_rnd_t)'
.libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x4e):
undefined reference to `fplll::FP_NR<long double>::add(fplll::FP_NR<long
double> const&, fplll::FP_NR<long double> const&, mpfr_rnd_t)'
.libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x59):
undefined reference to `fplll::FP_NR<long double>::~FP_NR()'
.libs/fplll.o:fplll.cpp:(.text$_ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t[__ZN5fplll5FP_NRIeE6addmulERKS1_S3_10mpfr_rnd_t]+0x68):
undefined reference to `fplll::FP_NR<long double>::~FP_NR()'
}}}
Fixed by:
*
https://github.com/dstehle/fplll/commit/c3b5f7373967b83ba6219324084ffcfc7d9a1d18
[http://math.umn.edu/~tscrimsh/libfplll-20160107.tar.bz2 Upstream tarball]
--
Comment:
Currently untested on Cygwin, but works on my Ubuntu version. I will check
Cygwin shortly.
----
New commits:
||[http://git.sagemath.org/sage.git/commit/?id=8d79eb5880f623b966be75ff7fa857636c28eacb
8d79eb5]||{{{Updating libfplll to 20160107 git version.}}}||
--
Ticket URL: <http://trac.sagemath.org/ticket/19844#comment:9>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.