Project

General

Profile

Bug #1661

Microsoft: cannot compile with signal handling

Added by John Abbott about 2 years ago. Updated 17 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Portability
Target version:
Start date:
09 Feb 2022
Due date:
% Done:

100%

Estimated time:
Spent time:

Description

Bruns reported by email a problem compiling on Microsoft:

my failed attempt to compile CoCoALib under MSYS MinGW64 for a Windows binary of Normaliz.
I go´t stuck at the signal handling. Can you suggest something?

Can we fix this?


Related issues

Related to CoCoALib - Design #1630: Signal handler not portable?New2021-11-10

Related to CoCoALib - Design #1801: BuildInfoIn Progress2024-03-25

Related to CoCoALib - Design #1804: Use long long (at least sometimes)?In Progress2024-03-25

History

#1 Updated by John Abbott 2 months ago

  • Related to Design #1630: Signal handler not portable? added

#2 Updated by John Abbott 2 months ago

I have added Nico Mexis as a watcher. He has successfully built CoCoA-5 for Microsoft, so may have some useful insights!

#3 Updated by Nico Mexis 2 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

Ah, thanks for making me aware of this issue. Actually, recently I put my instructions online for exactly that.
I had also tried to build CoCoA both through MSYS 2 and MinGW, but they both failed.
It works flawlessly with CygWin, though.
What's needed to fix other installations? Don't know exactly. Most likely it is because of the near-perfect POSIX layer of CygWin that it works so great.

Anyway, TL;DR, here is my gist: https://gist.github.com/ThexXTURBOXx/b75cd2e4721904465718b6c6298333e8

#4 Updated by John Abbott 2 months ago

Winfried sent me the following message by email:

I have compiled CoCoALib for MSYS MinGW64 about two years ago. It is used in the MS-Windows version of Normaliz
I also succeeded in making the other auxiliary packages available for MSYS MinGW 64. It was quite a struggle,
so I don't touch what I have.

If wanted I can provide more information.

I have asked him to send me the details.

#5 Updated by John Abbott about 1 month ago

  • % Done changed from 50 to 60

I have been working through Nico's changes. Still undecided about several of them :-/
The 32-bit vs 64-bit problems could perhaps be circumvented by using long long int or unsigned long long int in some places; but I fear that may become "cancerous". Nico put in some #ifdef macros to hide code which does not compile on 32-bit platforms. Maybe config.H needs to define such a macro: perhaps CoCoA_32bit and/or CoCoA_64bit

Time for a break!

#6 Updated by Nico Mexis about 1 month ago

A macro like CoCoA_32bit and/or CoCoA_64bit sounds good.
I also thought about converting some of the problematic values to [unsigned] long long int, but I was unsure of possible side effects. I also think I encountered some because the values were not convertible anymore using the functions from convert.H... But maybe I misremember that - I have tried too many things with the UCRT compiler...

#7 Updated by Anna Maria Bigatti about 1 month ago

Add the value of this flag to "VersionInfo()" in CoCoA-5 (work for me)

#8 Updated by Anna Maria Bigatti about 1 month ago

Anna Maria Bigatti wrote:

Add the value of this flag to "VersionInfo()" in CoCoA-5 (work for me)

and in BuildInfo for CoCoALib

#9 Updated by John Abbott about 1 month ago

  • Status changed from In Progress to Resolved
  • Assignee set to Nico Mexis
  • % Done changed from 60 to 80

#10 Updated by Anna Maria Bigatti about 1 month ago

#11 Updated by John Abbott about 1 month ago

  • Related to Design #1804: Use long long (at least sometimes)? added

#12 Updated by John Abbott 30 days ago

  • Status changed from Resolved to Closed
  • % Done changed from 80 to 100

I think Nico said it is OK now. Closing!

#13 Updated by Anna Maria Bigatti 17 days ago

  • Description updated (diff)

#14 Updated by Anna Maria Bigatti 17 days ago

  • Description updated (diff)

Also available in: Atom PDF