Problems installing Common Lisp Sketch into Windows 10

479 views Asked by At

I had trouble getting through errors for missing SDL DLL's and an FFI.H file while installing sketch with quicklisp. Posting my solution for this Windows 10 specific trouble, maybe there are other solutions too.

I ended up using Chocolatey and Cmder for my mingw64 environment.

2

There are 2 answers

0
user1026169 On BEST ANSWER

After the initially trick setup, MSYS2 is an amazingly clean build environment. I have switched over to this method and avoided the messy approach of copying dll's all over the place:

  1. Make sure and uninstall python, make, git and other elements that you'd rather have in MSYS anyway. MSYS works with windows programs but installs a linux toolchain and impossible to setup programs like SDL2 for compiling software.
  2. choco install cmdermini instead of full cmder. This will ensure that there no conflicts with executable bash commands. The regular CMDER installs git for windows and additional stuff that will conflict with MSYS exectuables.

  3. Update Path to include:

enter image description here

  1. Make a task for msys2 in conemu settings. This is the way I settled on it, there are lots of ways to do this right and more ways to mess things up:

    set CHERE_INVOKING=1 & set MSYSTEM=MINGW64 & set MSYS2_PATH_TYPE=inherit & C:\tools\msys64\usr\bin\sh.exe --login -i -new_console:d:"C:\":C:"C:\tools\msys64\msys2.ico"

  2. The MSYS2_PATH_TYPE=inherit is the critical piece here that allows MSYS2 to access all the executables in the system PATH. This can cause issues though if you've installed duplicate programs via pacman and from somewhere else like chocolatey. I uninstalled all bash/gnu/unix windows programs and commands and now only use what I install from MSYS2.

  3. Use pacboy with the :x to quickly install x64 packages
  4. pacboy -S emacs:x toolchain:x SDL2:x SDL2_gfx:x SDL2_image:x SDL2_ttf:x libffi:x

  5. Go through all of this aside from the ZSH stuff, use what you like. Good stuff here:https://medium.com/@borekb/zsh-via-msys2-on-windows-3964a943b1ce

  6. Read this for reference: https://zyzyz.github.io/en/2017/10/Integrate-MSYS2-into-Cmder/
0
user1026169 On

This is what I had to do in order to get through several errors for missing SDL DLL's and FFI.H header.

1. Install Cmder using Chocolatey: https://chocolatey.org/packages/Cmder
2. Download and copy all the SDL, SDL_image and SDL_ttf DLL's to SBCL's .exe folder:
    a. https://www.libsdl.org/download-2.0.php
    b. https://www.libsdl.org/projects/SDL_image/
    c. https://www.libsdl.org/projects/SDL_ttf/

enter image description here

4. Download and copy the precompiled libffi folders include and .libs to the mingw64:
    a. Download the precompiled from here:
        i. https://proj.goldencode.com/projects/p2j/wiki/Building_and_Installing_libffi_on_Windows
    b. Copy the include and .libs folder here:

enter image description here