Re: No Guile on Windows? (was: My Guile Hacker Handbook)
TIL that guile 1.6 had 2.5% pascal code! -- Linus Björnstam On Thu, 13 Aug 2020, at 15:02, Pikachu Hy via General Guile related discussions wrote: > hi, > I build a msvc-version guile on Windows 10. > > https://github.com/PikachuHy/guile-1.6.7/releases/tag/v20200813 > > Best wishes, > PikachuHy > >
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Mike, On Mon, Jul 27, 2020 at 08:57:05PM -0700, Mike Gran wrote: > On Tue, Jul 28, 2020 at 10:52:47AM +0800, Christopher Lam wrote: > > My mistake: gnucash uses MinGW-w64. > > > > The gnucash lead developer has a few patches to successfully compile guile > > on MinGW-w64. It would be great if these patches were taken upstream and a > > CI pipeline enabled for testing. Otherwise gnucash for windows will always > > need to catch up, and is at severe risk of falling behind. > > > > https://github.com/jralls/guile > > > > Yeah, that's a patched version of 2.2.7. > > Even though I'm on a hiatus from coding, I believe I have all the > parts to make Guile 3.0.x work on MinGW 32-bit no-threads. Maybe I'll > just see if I can't put that together real quick. You don't even imagine how many projects/devs are waiting for your efforts! (Maybe even twice more than just 'gnucash' :-)) And I really would very much appreciate the effort, I know how much non-trivial it is. Five years ago I cross-compiled guile-2.0.9 with all its GC bugs on windows and got a working version of our tools only after 3-5 months. Now, I'm trying to repeat this effort with new versions, and see it again :-( Thank you for your work! -- Vladimir (λ)επτόν EDA — https://github.com/lepton-eda
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
My mistake: gnucash uses MinGW-w64. The gnucash lead developer has a few patches to successfully compile guile on MinGW-w64. It would be great if these patches were taken upstream and a CI pipeline enabled for testing. Otherwise gnucash for windows will always need to catch up, and is at severe risk of falling behind. https://github.com/jralls/guile On Sat, 25 Jul 2020, 10:28 pm Eli Zaretskii, wrote: > > From: Christopher Lam > > Date: Sat, 25 Jul 2020 13:56:28 + > > Cc: guile-user , help-g...@gnu.org > > > > Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from > MSYS2. > > Is Gnucash a MinGW build or an MSYS2 build? If the latter, it's > expected. >
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
On Sat, Jul 25, 2020 at 09:31:41AM +0300, Eli Zaretskii wrote: > > fwiw, i've used msys2 (not so much anymore, but i still would if i had > > to ...), easy to install, update, well maintained, very friendly on irc > > when i needed to ask for help ...: > > > > https://www.msys2.org/ > > > > it has guile-2.2.7-1, threaded (which I've used. it works ...) > > AFAIU, that's not a native Windows port, that's an MSYS2 port, which > is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin). > > IOW, you cannot link the MSYS2 libguile with a native MinGW program, > such as GDB or Gnu Make (or Lilypond, or any other application > mentioned in this thread). Right? That is correct. When you try to build windows application in the MinGW project, often times you need to run a configure script that may require tools that don't have native windows versions. The way MinGW helps these configure scripts run is by taking advantage of the the MSYS2 environment -- which is similar to Cygwin -- so that has enough tools to run a configure script. It includes a version of Guile for the purpose of running configure. Like Cygwin, MSYS2 also has a big library that emulates POSIX that everything links to. The difference betwen MSYS2 and MinGW is that MinGW apps try to link directly to windows libraries without linking to an emulation library. -Mike Gran
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Never heard about it. I will try it and maybe update the Windows section ;-) Thank you David Jérémy Le 25 juillet 2020 05:48:35 GMT+02:00, David Pirotte a écrit : >Hello, > >> > > ### On Windows >> > > No solution yet. > >fwiw, i've used msys2 (not so much anymore, but i still would if i had >to ...), easy to install, update, well maintained, very friendly on irc >when i needed to ask for help ...: > > https://www.msys2.org/ > >it has guile-2.2.7-1, threaded (which I've used. it works ...) > > https://packages.msys2.org/base/guile > >for me, it was fantastic _not to have to deal_ with ouindoze on >ouindoze, so msys2, its numerous packages ... and guile-2.2.7-1 >'saved my life' :) > > dowload the lastest msys2 > double-click -> linux terminal > use pacman (*) to update and install new packages > >David > > ** Update > > pacman -Syu > pacman -Su > > ** Packages > > pacman -S emacs > pacman -S guile > pacman -S libguile > pacman -S libguile-devel -- Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
> From: Christopher Lam > Date: Sat, 25 Jul 2020 13:56:28 + > Cc: guile-user , help-g...@gnu.org > > Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from MSYS2. Is Gnucash a MinGW build or an MSYS2 build? If the latter, it's expected.
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from MSYS2. On Sat, 25 Jul 2020 at 06:32, Eli Zaretskii wrote: > > Date: Sat, 25 Jul 2020 00:48:35 -0300 > > From: David Pirotte > > Cc: Dmitry Alexandrov , guile-user@gnu.org, > help-g...@gnu.org > > > > fwiw, i've used msys2 (not so much anymore, but i still would if i had > > to ...), easy to install, update, well maintained, very friendly on irc > > when i needed to ask for help ...: > > > > https://www.msys2.org/ > > > > it has guile-2.2.7-1, threaded (which I've used. it works ...) > > AFAIU, that's not a native Windows port, that's an MSYS2 port, which > is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin). > > IOW, you cannot link the MSYS2 libguile with a native MinGW program, > such as GDB or Gnu Make (or Lilypond, or any other application > mentioned in this thread). Right? > >
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
> Date: Sat, 25 Jul 2020 00:48:35 -0300 > From: David Pirotte > Cc: Dmitry Alexandrov , guile-user@gnu.org, help-g...@gnu.org > > fwiw, i've used msys2 (not so much anymore, but i still would if i had > to ...), easy to install, update, well maintained, very friendly on irc > when i needed to ask for help ...: > > https://www.msys2.org/ > > it has guile-2.2.7-1, threaded (which I've used. it works ...) AFAIU, that's not a native Windows port, that's an MSYS2 port, which is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin). IOW, you cannot link the MSYS2 libguile with a native MinGW program, such as GDB or Gnu Make (or Lilypond, or any other application mentioned in this thread). Right?
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Hello, > > > ### On Windows > > > No solution yet. fwiw, i've used msys2 (not so much anymore, but i still would if i had to ...), easy to install, update, well maintained, very friendly on irc when i needed to ask for help ...: https://www.msys2.org/ it has guile-2.2.7-1, threaded (which I've used. it works ...) https://packages.msys2.org/base/guile for me, it was fantastic _not to have to deal_ with ouindoze on ouindoze, so msys2, its numerous packages ... and guile-2.2.7-1 'saved my life' :) dowload the lastest msys2 double-click -> linux terminal use pacman (*) to update and install new packages David ** Update pacman -Syu pacman -Su ** Packages pacman -S emacs pacman -S guile pacman -S libguile pacman -S libguile-devel pgpyeodAlFmKi.pgp Description: OpenPGP digital signature
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
On Fri, Jul 24, 2020 at 09:22:54AM +0200, Dr. Arne Babenhauserheide wrote: > > This is one of the biggest worries I have with the time I put into > Guile: Many of my friends are still on Windows and in the current state > of Guile I won???t be able to create tools that help them. > > Creating installers for Windows was bad with Python, it is much worse > with Guile. I wish I could just do something like > guild package --target windows -o my-program.exe entry-point.scm > > This prevents people from using Guile for anything that might have to be > cross-platform (though the Lilypond folks got it working > https://lilypond.org/windows.de.html). Yeah, I did put a 32-bit, no-thread Windows version of Guile-2.2 in a game-jame game I did once, but, it was non-trivial. For those that hanven't programmed on Windows much, it is a bit of a struggle. The native tools are C++, not C, and the native API is just different: different threading, different asyncs, similar but still not identical sockets, different dynamic linking. No guarantee that the sizeof(long) is sizeof(void *). So different groups have created projects to help port or run legacy UNIX-like software to Windows. The most familiar to free software people are Cygwin and MinGW. Cygwin: use gcc or clang, link to a special C and POSIX library that handles the Windows API for you. This exists and works well for Guile. Its emulation library is GPL, so to distribute a Cygwin app, it must be GPL and must include a healthy chunk of the Cygwin infrastructure. MinGW: use gcc or clang, link to native Windows API. Guile almost supports this, because it uses Gnulib. Gnulib has a library of shims that tweaks Windows C library API to be more POSIX-like, but, Gnulib isn't a comprehensive solution. When free software people talk of a "port" to windows, they usualy mean that it is built with MinGW. But, of course, MinGW had a spat years ago and now there are two competing MinGW projects. Sigh. Some projects go a step further and try to use the native windows compilers and API, but, since autoconf basically won't work on Windows because its shell language is not /bin/sh but is PowerShell or CMD, this usually requires a different build system, like CMake or Meson. Guile has both autoconf and gnulib, so MinGW is the semi-supported path to a native Windows executable. It actually would not be a lot of work to get a 32-bit, unthreaded Guile 3.0 working again, assuming that lightening works for Win32. Just some run of the mill patching. But historically getting these patches in the main tree has been an awful experience -- expecially in the Mark era -- because of arguments as to whether they should be fixed in Guile or in Gnulib and having to deal with both Guile and Gnulib having competing interests. Thanks you for coming to my TED talk. Regards Mike Gran
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
I just want to say that I use guile on windows regularly. And it was easy peasy to enable it. The trick is to install the Linux subsystem for windows 10 and hack on. I know this is not always an option, just to remind you where the future is. On Fri, Jul 24, 2020 at 2:07 AM Dmitry Alexandrov wrote: > Jérémy Korwin-Zmijowski wrote: > > https://jeko.frama.io > > > ## Installation > > > ### On Windows > > > > No solution yet. > > Is that true? Itʼs true (and a pity) that there no official packages, of > course, but ‘no solution’? > > I vaguely recall, there was a Guile on MinGW a couple of years ago, does > it no longer build? And what happened with Cygwin package after all? > cygwin.com says, that 3.0.4 is there [1]. > > [1] https://cygwin.com/packages/summary/guile3.0.html >
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Ditto gnucash on windows does include guile 2.2 but it's a major pain point to get it to build. https://code.gnucash.org/logs/2020/07/16.html#T20:20:40 On Fri, 24 Jul 2020, 3:24 pm Dr. Arne Babenhauserheide, wrote: > > Eli Zaretskii writes: > > > > Sadly, Guile seems to care only about one OS: GNU/Linux, and more or > > less disregard the rest. Features are added that clearly cannot > > easily work on other OSes, let alone non-Posix ones, and with each > > such new feature producing a working MinGW port becomes harder and > > harder, even for experienced hackers. > > This is one of the biggest worries I have with the time I put into > Guile: Many of my friends are still on Windows and in the current state > of Guile I won’t be able to create tools that help them. > > Creating installers for Windows was bad with Python, it is much worse > with Guile. I wish I could just do something like > guild package --target windows -o my-program.exe entry-point.scm > > This prevents people from using Guile for anything that might have to be > cross-platform (though the Lilypond folks got it working > https://lilypond.org/windows.de.html). > > > Please don't bother replying to this rant, it's just FYI, to convey my > > personal recollections and experiences from doing the 2.0.x port, and > > I don't intend to argue about it. > > > > I replied, because I did not intend to argue but rather support your > point. While Guile is easiest to use on GNU Linux, a Windows port is a > hard requirement if we want Guile to be useful as a platform for writing > programs. There is GTK for Windows and it would be nice if we could > actually script it from Guile: > https://www.gtk.org/docs/installations/windows/ > > Best wishes, > Arne > -- > Unpolitisch sein > heißt politisch sein > ohne es zu merken >
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Eli Zaretskii writes: > > Sadly, Guile seems to care only about one OS: GNU/Linux, and more or > less disregard the rest. Features are added that clearly cannot > easily work on other OSes, let alone non-Posix ones, and with each > such new feature producing a working MinGW port becomes harder and > harder, even for experienced hackers. This is one of the biggest worries I have with the time I put into Guile: Many of my friends are still on Windows and in the current state of Guile I won’t be able to create tools that help them. Creating installers for Windows was bad with Python, it is much worse with Guile. I wish I could just do something like guild package --target windows -o my-program.exe entry-point.scm This prevents people from using Guile for anything that might have to be cross-platform (though the Lilypond folks got it working https://lilypond.org/windows.de.html). > Please don't bother replying to this rant, it's just FYI, to convey my > personal recollections and experiences from doing the 2.0.x port, and > I don't intend to argue about it. > I replied, because I did not intend to argue but rather support your point. While Guile is easiest to use on GNU Linux, a Windows port is a hard requirement if we want Guile to be useful as a platform for writing programs. There is GTK for Windows and it would be nice if we could actually script it from Guile: https://www.gtk.org/docs/installations/windows/ Best wishes, Arne -- Unpolitisch sein heißt politisch sein ohne es zu merken signature.asc Description: PGP signature
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
Hello, Le vendredi 24 juillet 2020 à 03:06 +0300, Dmitry Alexandrov a écrit : > Jérémy Korwin-Zmijowski wrote: > > https://jeko.frama.io > > ## Installation > > ### On Windows > > > > No solution yet. > > Is that true? Itʼs true (and a pity) that there no official > packages, of course, but ‘no solution’? >From what I gathered, there are a few stupid problems with existing patches to make guile build for mingw ( https://github.com/mkeeter/guile-mingw/), but there is the hard problem that the garbage collector won't work on mingw x86_64 because it expects that pointers can fit in longs. Anyways, I say that if we can't have mingw x86_64, let's have i686 and everyone will be happy enough. By the time i686 is insufficient, Windows will already be another OS built around linux anyway (n.b. this is a personal opinion ^^). But there is a chance I fundamentally misunderstood something...
Re: No Guile on Windows? (was: My Guile Hacker Handbook)
> From: Dmitry Alexandrov > Date: Fri, 24 Jul 2020 03:06:53 +0300 > Cc: Guile User , Guix Help > > > ## Installation > > > ### On Windows > > > > No solution yet. > > Is that true? Itʼs true (and a pity) that there no official packages, of > course, but ‘no solution’? > > I vaguely recall, there was a Guile on MinGW a couple of years ago, does it > no longer build? And what happened with Cygwin package after all? > cygwin.com says, that 3.0.4 is there [1]. https://sourceforge.net/projects/ezwinports/files/guile-2.0.11-2-w32-bin.zip/download Mind you, this is a 32-bit build, and it is configured without threads (because building with threads produces Guile that crashes for almost any non-trivial operation, you can find the details in the Guile mailing list archives). I never tried to build a newer Guile, as doing a fully-functional MinGW port is a non-trivial endeavor that consumes a lot of time, and I don't have that time now. Sadly, Guile seems to care only about one OS: GNU/Linux, and more or less disregard the rest. Features are added that clearly cannot easily work on other OSes, let alone non-Posix ones, and with each such new feature producing a working MinGW port becomes harder and harder, even for experienced hackers. Please don't bother replying to this rant, it's just FYI, to convey my personal recollections and experiences from doing the 2.0.x port, and I don't intend to argue about it.