Opened 5 years ago

Last modified 5 years ago

#21221 closed enhancement

update fplll to version 5.x — at Version 20

Reported by: malb Owned by:
Priority: major Milestone: sage-7.4
Component: packages: standard Keywords:
Cc: tmonteil, jpflori, cpernet, jdemeyer Merged in:
Authors: Martin Albrecht Reviewers:
Report Upstream: N/A Work issues:
Branch: u/malb/t21221-fplll5 (Commits, GitHub, GitLab) Commit: f986fe12472ccd88c79a7691cf2235fe4ca2bb0b
Dependencies: Stopgaps:

Status badges

Change History (20)

comment:1 Changed 5 years ago by tmonteil

  • Cc tmonteil added

comment:2 Changed 5 years ago by jpflori

  • Cc jpflori added

comment:3 Changed 5 years ago by malb

  • Authors set to Martin Albrecht
  • Branch set to u/malb/t21221-fplll5
  • Commit set to 7b0a9f1d0b0870c6e855d2109264a8b7e90e1baf

New commits:

d646b8bfplll 5.0.1 & drop sage.libs.fplll
e34070fadd fpylll
7b0a9f1A.LLL() and A.BKZ() using fpylll

comment:4 Changed 5 years ago by malb

  • Description modified (diff)

comment:5 Changed 5 years ago by git

  • Commit changed from 7b0a9f1d0b0870c6e855d2109264a8b7e90e1baf to d3df34187889563414c98d405681c51ca6cd1035

Branch pushed to git repo; I updated commit sha1. New commits:

debb5a1fix doctests
d3df341formatting

comment:6 Changed 5 years ago by malb

Everything should be in place now. Waiting for https://github.com/fplll/fplll/pull/189 being merged to cut a new release. Then this ticket should be good to go.

comment:7 Changed 5 years ago by git

  • Commit changed from d3df34187889563414c98d405681c51ca6cd1035 to 7bd03e0a1d843df29f1c71654a3bd1a39410921e

Branch pushed to git repo; I updated commit sha1. New commits:

7bd03e0fplll 5.0.2

comment:8 Changed 5 years ago by malb

  • Description modified (diff)
  • Status changed from new to needs_review

Should be good to go now.

comment:9 Changed 5 years ago by jpflori

Changes look good to me. But fplllfails to build on a linux/POWER7:

[fplll-5.0.2] In file included from bkz_param.cpp:4:0:
[fplll-5.0.2] io/json.hpp: In constructor 'nlohmann::basic_json<ObjectType, Arra
yType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFlo
atType, AllocatorType>::basic_json() [with ObjectType = std::map; ArrayType = st
d::vector; StringType = std::basic_string<char>; BooleanType = bool; NumberInteg
erType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = dou
ble; AllocatorType = std::allocator]':
[fplll-5.0.2] io/json.hpp:1062:5: error: conversion from 'nlohmann::basic_json<>
::value_t' to non-scalar type 'nlohmann::basic_json<>::type_data_t' requested
[fplll-5.0.2]      basic_json() = default;
[fplll-5.0.2]      ^
[fplll-5.0.2] bkz_param.cpp: In function 'std::vector<fplll::Strategy> fplll::lo
ad_strategies_json(const string&)':
[fplll-5.0.2] bkz_param.cpp:79:8: note: synthesized method 'nlohmann::basic_json
<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsign
edType, NumberFloatType, AllocatorType>::basic_json() [with ObjectType = std::ma
p; ArrayType = std::vector; StringType = std::basic_string<char>; BooleanType = 
bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; Numb
erFloatType = double; AllocatorType = std::allocator]' first required here
[fplll-5.0.2]    json js;

comment:11 Changed 5 years ago by jpflori

  • Milestone set to sage-7.4
  • Status changed from needs_review to needs_work

I'm indeed using GCC 4.8, but as reported there it also make clang choke and a more recent version of json probably makes the problem disappear as the involved types have been suppressed/modified.

comment:12 Changed 5 years ago by malb

Thanks for tracking it down. Can you try with the new json.hpp from https://github.com/nlohmann/json/blob/develop/src/json.hpp so check if it fixes your problem? I'd then update on my end.

Just dump json.hpp in fplll/fplll/io.

Last edited 5 years ago by malb (previous) (diff)

comment:13 Changed 5 years ago by jpflori

With the latest json.hpp it just errors out without trying saying that the compiler (GCC 4.8) is unsupported. Nice.

comment:14 Changed 5 years ago by jpflori

FYI, forcing json.hpp to give GCC 4.8.3 a try, it compiles seemingly fine.

comment:15 Changed 5 years ago by malb

Hi, so to clarify: if we update json.hpp and drop its GCC 4.8 check then it seems to compile on your linux/POWER7 box?

comment:16 Changed 5 years ago by jpflori

Yes exactly.

comment:17 Changed 5 years ago by jpflori

Just note it does not check for 4.8 but for >= 4.9.

comment:18 Changed 5 years ago by git

  • Commit changed from 7bd03e0a1d843df29f1c71654a3bd1a39410921e to 83a78f0ea53991c5ada939e50a95b0530d4bc8d4

Branch pushed to git repo; I updated commit sha1. New commits:

83a78f0fpylll depends on sagelib

comment:19 Changed 5 years ago by git

  • Commit changed from 83a78f0ea53991c5ada939e50a95b0530d4bc8d4 to f986fe12472ccd88c79a7691cf2235fe4ca2bb0b

Branch pushed to git repo; I updated commit sha1. New commits:

f986fe1update to new fplll/fpylll upstream releases

comment:20 Changed 5 years ago by malb

  • Description modified (diff)
  • Status changed from needs_work to needs_review
Note: See TracTickets for help on using tickets.