Opened 17 months ago
Last modified 7 days ago
#28703 new defect
pynormaliz fails to build on Cygwin
Reported by: | embray | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.4 |
Component: | porting: Cygwin | Keywords: | |
Cc: | jipilab, mkoeppe, vdelecroix, Winfried, gh-sebasguts | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | Reported upstream. No feedback yet. | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #28803 | Stopgaps: |
Description
When linking the PyNormaliz_cpp.dll
module, there is a long spew of errors mostly in two classes that look like:
g++ -shared -Wl,--enable-auto-image-base -L/home/embray/src/sagemath/sage/local/lib -Wl,-rpath,/home/embray/src/sagemath/sage/local/lib -L/home/embray/src/sagemath/sage/local/lib -Wl,-rpath,/home/embray/src/sagemath/sage/local/lib build/temp.cygwin-3.0.7-x86_64-2.7/NormalizModule.o -L/home/embray/src/sagemath/sage/local/lib/python2.7/config -L/home/embray/src/sagemath/sage/local/lib -lnormaliz -lgmp -lflint -larb -leanticxx -lpython2.7 -o build/lib.cygwin-3.0.7-x86_64-2.7/PyNormaliz_cpp.dll ... build/temp.cygwin-3.0.7-x86_64-2.7/NormalizModule.o: In function `renf_elem_class::renf_elem_class(renf_class&)': /home/embray/src/sagemath/sage/local/include/e-antic/renfxx.h:649: undefined reference to `renf_elem_init' /home/embray/src/sagemath/sage/local/include/e-antic/renfxx.h:649:(.text+0x2a21): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `renf_elem_init' ... /home/embray/src/sagemath/sage/local/lib/libnormaliz.a(other_algorithms.o): In function `libnormaliz::DescentFace<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >::compute(libnormaliz::DescentSystem<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >&, unsigned long, boost::dynamic_bitset<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<boost::dynamic_bitset<unsigned long, std::allocator<unsigned long> >, std::allocator<boost::dynamic_bitset<unsigned long, std::allocator<unsigned long> > > >&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, std::allocator<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> > >&, unsigned int&) [clone ._omp_fn.42]': ... /home/embray/src/sagemath/sage/local/var/tmp/sage/build/normaliz-3.7.2/src/source/./libnormaliz/descent.cpp:397: undefined reference to `omp_get_num_threads'
There basically seem to be two broad classes of problems here; one is linking with its library dependencies, either eantic or libnormaliz, or both. Another seems to be with functions that require OpenMP.
It seems libnormaliz is compiled with -fopenmp
by default, but since pynormaliz isn't, this breaks.
Change History (9)
comment:1 Changed 17 months ago by
- Cc jipilab mkoeppe vdelecroix Winfried gh-sebasguts added
- Report Upstream changed from N/A to Reported upstream. No feedback yet.
comment:2 Changed 17 months ago by
I don't think an upstream issue for this needed to be reported. I don't think it's an issue with pynormaliz so much as how it's being built in Sage. I think it used to work, in fact. It might have broken as part of #27444
comment:3 Changed 15 months ago by
- Milestone changed from sage-9.0 to sage-9.1
Ticket retargeted after milestone closed
comment:4 Changed 13 months ago by
- Component changed from packages: optional to porting: Cygwin
comment:5 Changed 12 months ago by
This can also be seen at https://github.com/mkoeppe/sage/runs/641394520
comment:6 Changed 12 months ago by
- Milestone changed from sage-9.1 to sage-9.2
comment:7 Changed 12 months ago by
- Dependencies set to #28803
comment:8 Changed 6 months ago by
- Milestone changed from sage-9.2 to sage-9.3
comment:9 Changed 7 days ago by
- Milestone changed from sage-9.3 to sage-9.4
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review.
Reported upstream:
https://github.com/Normaliz/PyNormaliz/issues/71