Closed Khalinda closed 4 months ago
You need to run autogen.sh before configure. Full details are in INSTALL.md.
You should have good luck with MSYS and the required packages listed in the install doc. Let us know if not, please.
Thanks Mightyjo. I am working with the release archive, "Flex.2.6.4.tar.gz". It doesn't seem to have any file called INSTALL.md. Comparing the release archive with the GitHub repository, a couple of other files seem to be missing from Flex.2.6.4.tar.gz too. Also, autogen.sh is only mentioned in the section of INSTALL.md that describes building from the repository, not the release archive..
As always building anything Linux related on Windows is unfathomably difficult. After a few hours, trying different msys2 shells and installing a half dozen additional packages, configure is stuck on a missing "sys/wait.h". I'll try again tomorrow.
Makefile is created by running the configure script. This is the standard mechanism used by every autoconf-based package.
It sounds like you'd be better served by installing a binary package of flex. Unless you're planning on making changes to flex itself, that is usually the case.
Thanks westes. I need a "Unicode" (UTF-16) version of flex. Unfortunately, ASCII has limited utility on Windows.
Configure is reporting:
checking for regex.h... yes
checking for strings.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/wait.h... no
configure: error: required header not found on your system
Unfortunately, there are several "sys" directories within msys2. I have verified that wherever there is a stat.h, there is also a wait.h, but still configure complains that it can't find wait.h.
Sorry, I don't use Linux much. Actually, I'm trying to build flex from an MSYS2 window on Windows 11. I follow the build instructions, and make complains "make: *** No targets specified and no makefile found. Stop." I see makefile.am, makefile.in etc., but no plain makefile. I ran "./configure" but it didn't do anything that I could tell.