Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#22807 closed defect (duplicate)

libfplll does not build on cygwin

Reported by: gouezel Owned by: gouezel
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: porting: Cygwin Keywords: cygwin
Cc: embray, tscrim Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


Trying to compile 8.0.beta1 on cygwin64, I get the following error in libfplll:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -DFPLLL_DEFAULT_STRATEGY_PATH=\"/home/Sebastien/sage34/sage/local/share/fplll/strategies\" -DFPLLL_DEFAULT_STRATEGY=\"/home/Sebastien/sage34/sage/local/share/fplll/strategies/default.json\" -I./.. -I/home/Sebastien/sage34/sage/local/include/ -I/include -std=gnu++11 -fPIC -I/home/Sebastien/sage34/sage/local/include/ -L/home/Sebastien/sage34/sage/local/lib -O3 -MT enum/enumerate_base.lo -MD -MP -MF enum/.deps/enumerate_base.Tpo -c enum/enumerate_base.cpp  -DDLL_EXPORT -DPIC -o enum/.libs/enumerate_base.o
enum/enumerate_base.cpp:1:0: warning: -fPIC ignored for target (all code is position independent)
 /* Copyright (C) 2008-2011 Xavier Pujol
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/bin/as: enum/.libs/enumerate_base.o: too many sections (41187)
/tmp/cc6XlJLC.s: Assembler messages:
/tmp/cc6XlJLC.s: Fatal error: can't write enum/.libs/enumerate_base.o: File too big

I tried to add CPPFLAGS="$CPPFLAGS -Wa,-mbig-obj" to spkg-install. Then the above file compiles correctly, but the final stage of the compilation (to produce libfplll.dll.a) hangs forever.

Change History (9)

comment:1 Changed 4 years ago by gouezel

@embray, I am willing to test all the nice patches you have produced for Cygwin. But first I have to get there, which I am unable to do because of this libfplll thing...

comment:2 Changed 4 years ago by tscrim

  • Cc tscrim added

Is this fixed by #22800?

comment:3 Changed 4 years ago by gouezel

  • Milestone changed from sage-8.0 to sage-duplicate/invalid/wontfix
  • Owner changed from (none) to gouezel

Duplicate of #22800

comment:4 Changed 4 years ago by embray

  • Resolution set to duplicate
  • Status changed from new to closed

comment:5 Changed 4 years ago by embray

By the way, there are also a bug with building ECL on Cygwin 2.8.0 (the latest version). I haven't made a ticket for that yet but basically we need to add -D_GNU_SOURCE manually when compiling ECL (as a workaround).

comment:6 Changed 4 years ago by embray

Also, as a minor status update, a lot of stuff was broken in my most recent build of develop (plus my additional patches). I mean it built, but a lot of tests were broken. Which is disheartening because last week I had it down to one test failing and now in just the space of a week the test suite is barely passing at all.

One thing I'm worried about is that on Monday I upgraded my Cygwin install and that could have caused all sorts of issues. I don't know what package versions I was at before the upgrade though so it might be difficult to reproduce. I'm trying a build now on a slightly older Cygwin install that I already knew to work for sage 7.4....

comment:7 Changed 4 years ago by gouezel

My cygwin is recent but not bleeding edge (2.8.0(0.309/5/3)) and I could compile ECL without any problem.

comment:8 Changed 4 years ago by embray

That is the newest version that's been released, I think. I'm surprised--it didn't work for me without that.

comment:9 Changed 4 years ago by gouezel

Well, I could compile everything (but the documentation), but Sage does not start:

│ SageMath version 8.0.beta2, Release Date: 2017-04-12               │
│ Type "notebook()" for the browser-based notebook interface.        │
│ Type "help()" for help.                                            │
┃ Warning: this is a prerelease version, and it may be unstable.     ┃
Attaching gdb to process id 6560.
      0 [main] gdb 8160 D:\cygwin64_20150103\bin\gdb.exe: *** fatal error - error while loading shared libraries: /home/Sebastien/sage34/sage/local/lib/libpython2.7.dll.a: cannot open shared object file: Permission denied

Saved trace to /cygdrive/c/Users/Sebastien/.sage/crash_logs/crash_zNsKd9.log
Unhandled SIGSEGV: A segmentation fault occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
Segmentation fault (core dumped)

More details on request.

Note: See TracTickets for help on using tickets.