Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Semigroups under Cygwin #480

Open
olexandr-konovalov opened this issue May 17, 2018 · 7 comments
Open

Semigroups under Cygwin #480

olexandr-konovalov opened this issue May 17, 2018 · 7 comments
Assignees
Labels
question A label for issues that are questions

Comments

@olexandr-konovalov
Copy link
Contributor

olexandr-konovalov commented May 17, 2018

In Jenkins builds for GAP 4.9.1 release candidates (the one that uses the -win.zip archives with line endings for text files converted to Windows format), the following problem happens:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/_pkgconfig.h
config.status: src/_pkgconfig.h is unchanged
config.status: executing depfiles commands
config.status: executing src/semigroups-config.h commands
config.status: creating src/semigroups-config.h - prefix SEMIGROUPS for src/_pkgconfig.h defines
config.status: src/semigroups-config.h is unchanged
config.status: executing libtool commands
=== configuring in src/libsemigroups (/cygdrive/c/gap-4.9.1/pkg/semigroups-3.0.15/src/libsemigroups)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=${abs_top_builddir}/../../bin/'  --cache-file=/dev/null --srcdir=.
./configure: line 16: $'\r': command not found
./configure: line 31: syntax error near unexpected token `newline'
'/configure: line 31: `     ;;
configure: error: ./configure failed for src/libsemigroups

gapw7-build+jenkins@gapw7-build /cygdrive/c/gap-4.9.1/pkg/semigroups-3.0.15

However, this does not happen for the nightly build (which uses Unix style line endings). The nightly build properly fails because of the old gcc compiler (which indeed should be upgraded, but that's another TODO item for me).

I suspect that some file has been converted to have Windows line ends, while it should be not. Patterns to decide which files are text and which binary are specified at https://github.com/gap-system/gap-distribution/blob/master/DistributionUpdate/patternstextbinary.txt - do you see anything missing there?

@james-d-mitchell
Copy link
Collaborator

@alex-konovalov I don't see anything missing, it looks like the configure file in semigroups/src/libsemigroups is being converted unintentionally.

Just to also note that this is not an issue with Semigroups itself, but rather with the wrapping of the release of GAP, right?

@james-d-mitchell james-d-mitchell added question A label for issues that are questions 3.0 labels May 18, 2018
@olexandr-konovalov
Copy link
Contributor Author

Ok, I will look at that configure file. If the problem is in conversion, that will confirm that the problem is with wrapping Windows version with windows line endings.

Someone was expressing opinion elsewhere that we may stop doing this conversion, because more Windows editors now handle UNIX line endings properly.

@olexandr-konovalov
Copy link
Contributor Author

@james-d-mitchell will this be fixed by #494 ?

@james-d-mitchell
Copy link
Collaborator

I don't think #494 and this are related, I still think that this issue is related to something in the process for wrapping GAP, and not the Semigroups package itself, but I might be wrong.

@olexandr-konovalov
Copy link
Contributor Author

The Cygwin machine that we use has gcc 4.9.2, so it should be upgraded.

Note also that compilation still does not go as intended in this case:

$ make
Making all in src/libsemigroups
make[1]: Entering directory '/cygdrive/c/gap-4.10.1/pkg/semigroups-3.0.20/src/libsemigroup   s'
  CXX      src/libsemigroups_la-blocks.lo
  CXX      src/libsemigroups_la-cong.lo
In file included from src/cong.h:32:0,
                 from src/cong.cc:19:
src/semigroups.h:38:77: note: #pragma message: GCC version >=5.0 is recommended, some feat   ures may not work correctly
     "GCC version >=5.0 is recommended, some features may not work correctly")
                                                                             ^
  CXX      src/libsemigroups_la-elements.lo
  CXX      src/libsemigroups_la-semigroups.lo
In file included from src/semigroups.cc:19:0:
src/semigroups.h:38:77: note: #pragma message: GCC version >=5.0 is recommended, some feat   ures may not work correctly
     "GCC version >=5.0 is recommended, some features may not work correctly")
                                                                             ^
  CXX      src/libsemigroups_la-rws.lo
In file included from src/cong.h:32:0,
                 from src/rws.h:30,
                 from src/rws.cc:19:
src/semigroups.h:38:77: note: #pragma message: GCC version >=5.0 is recommended, some feat   ures may not work correctly
     "GCC version >=5.0 is recommended, some features may not work correctly")
                                                                             ^
  CXX      src/libsemigroups_la-rwse.lo
In file included from src/cong.h:32:0,
                 from src/rws.h:30,
                 from src/rwse.h:29,
                 from src/rwse.cc:19:
src/semigroups.h:38:77: note: #pragma message: GCC version >=5.0 is recommended, some feat   ures may not work correctly
     "GCC version >=5.0 is recommended, some features may not work correctly")
                                                                             ^
  CXX      src/libsemigroups_la-uf.lo
  CXXLD    libsemigroups.la
make[1]: Leaving directory '/cygdrive/c/gap-4.10.1/pkg/semigroups-3.0.20/src/libsemigroups   '
make[1]: Entering directory '/cygdrive/c/gap-4.10.1/pkg/semigroups-3.0.20'
  CXX      src/semigroups_la-pkg.lo
In file included from src/pkg.cc:23:0:
src/pkg.h:28:2: error: #error "GCC version 5.0 or higher is required"
 #error "GCC version 5.0 or higher is required"
  ^
In file included from src/semigrp.h:25:0,
                 from src/pkg.cc:32:
src/libsemigroups/src/semigroups.h:38:77: note: #pragma message: GCC version >=5.0 is reco   mmended, some features may not work correctly
     "GCC version >=5.0 is recommended, some features may not work correctly")
                                                                             ^
Makefile:602: recipe for target 'src/semigroups_la-pkg.lo' failed
make[1]: *** [src/semigroups_la-pkg.lo] Error 1
make[1]: Leaving directory '/cygdrive/c/gap-4.10.1/pkg/semigroups-3.0.20'
Makefile:667: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

@olexandr-konovalov
Copy link
Contributor Author

Semigroups and Digraphs are usable in GAP 4.11.0. The underlying problem is still there. Using their versions with Unix line ends is a temporary solution.

@james-d-mitchell
Copy link
Collaborator

@olexandr-konovalov is this still an issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question A label for issues that are questions
Projects
None yet
Development

No branches or pull requests

2 participants