Skip to content

Fix Windows CI (Help Wanted: Cygwin) #106

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

Closed
wants to merge 2 commits into from

Conversation

ianfixes
Copy link
Member

@ianfixes ianfixes commented Mar 29, 2019

@ianfixes ianfixes force-pushed the 2019-03-29_windows_ci branch 4 times, most recently from bef722a to e6d982b Compare March 29, 2019 13:36
@ianfixes ianfixes force-pushed the 2019-03-29_windows_ci branch from e6d982b to 47ac552 Compare July 10, 2019 11:59
@ianfixes ianfixes force-pushed the 2019-03-29_windows_ci branch from 47ac552 to d213972 Compare July 10, 2019 12:03
@ianfixes ianfixes changed the title Fix Windows CI Fix Windows CI (Help Wanted: Cygwin) Jul 10, 2019
@ianfixes ianfixes added help wanted Extra attention is needed CI Continuous Integration labels Jul 10, 2019
- 'cd %MACEMU_PROJECT%'
- ps: ($env:MACEMU_PROJECT -eq "SheepShaver") -and $(make links)
- 'cd src/%MACEMU_OS%'
- '%MINGW_SHELL% -c "export PATH=.:/usr/local/bin:/mingw/bin:/bin:$PATH && NO_CONFIGURE=1 ./autogen.sh && ./configure && make"'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bit here fails because there is no autogen.sh in src/Windows. I tested it out by removing autogen.sh and replacing it with autoconf, which results in this:

https://ci.appveyor.com/project/davewongillies/macemu/builds/25887698

Here's my current appveyor.yml

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... it should be building out of src/unix (see the matrix env vars above), as per these instructions kanjitalk755/macemu#14 (comment)

I think there is indeed an autogen.sh in that directory. However, I will definitely run into that issue on the SheepShaver/Windows combination.

Copy link

@davewongillies davewongillies Jul 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so I just straight up copied the autogen.sh from the Unix directories. Looks like there's something funky with configure.ac with BasiliskII:

./configure: line 4220: syntax error near unexpected token `1.3.15,'
./configure: line 4220: `  AM_PATH_GTK_2_0(1.3.15, ,'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And SheepShaver has other errors: https://ci.appveyor.com/project/davewongillies/macemu/builds/25888060/job/huo5il5fbp40aiof

/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
done.
 + Running autoconf: configure.ac:186: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
configure.ac:31: error: possibly undefined macro: AM_PATH_GTK_2_0
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:32: error: possibly undefined macro: AC_MSG_WARN
done.
 + Running 'configure ':
   ** If you wish to pass arguments to ./configure, please
   ** specify them on the command line.
configure: error: cannot run /bin/sh ../Unix/config.sub

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So looking through this guide is looks like there's some steps there that aren't part of the default build process for Windows that possibly should get merged into here (I don't know how up to date that guide is though)?

Copy link
Member Author

@ianfixes ianfixes Jul 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is an old project with many guides still available online that have long since fallen out of date or relevance. @kanjitalk755 is the most active current maintainer, and that's where the guide I had followed came from.

... and I see now that I'm mistaken in using the unix build, it was just using the unix autogen.sh! Must have been a late night.

As far as the "syntax error near unexpected token" / "AM_*" error you're getting, is autoreconf getting run either directly or as part of any of the scripts you're running (it was in cxmon's boostrap.sh)? Supposedly that will fix those errors.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... it should be building out of src/unix (see the matrix env vars above), as per these instructions kanjitalk755/macemu#14 (comment)

Oh interesting. OK, so going off of those instructions, it looks like its building out of src/Windows but calling autogen.sh from src/Unix:

cd ~/src/macemu-master/BasiliskII/src/Windows
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure
make

I've updated the build to do that an am getting further now:

https://ci.appveyor.com/project/davewongillies/macemu/build/job/qsp8gaylngd63o7b

It's failing to find some build deps, which is promising

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've switched back to building SDL in the test job instead of Cygwin's version and am now getting further in the build process: https://ci.appveyor.com/project/davewongillies/macemu/build/job/2985rhps1c0ve624

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm at bit of a loss here to what to do to get things pushed forward. I've tried quite a few things. I think (this is just a gut instinct) that the build environment should probably get changed from Cygwin to MinGW or MSYS2, but I don't really know either of those well enough.

Two errors that I hit on with both MSYS2 and Cygwin was:

checking whether your system supports Windows exceptions... no
configure: error: Sorry, Windows exceptions don't work as expected on your system.
make: *** No targets specified and no makefile found.  Stop.

or if I could force things past that point, compilation errors

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These links are all redirecting to the latest build, so I opened #109 to more easily track the progress.

@ianfixes
Copy link
Member Author

I think I'm going to roll the hard 6 on this one. It worked for cxmon. emaculation/cxmon#16

@ianfixes
Copy link
Member Author

Fixed in #131

@ianfixes ianfixes closed this Oct 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants