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

Install failure on windows 10 #170

Closed
simmihugs opened this issue Oct 10, 2023 · 10 comments · Fixed by #172
Closed

Install failure on windows 10 #170

simmihugs opened this issue Oct 10, 2023 · 10 comments · Fixed by #172
Assignees

Comments

@simmihugs
Copy link

OS: Windows 10

What I did:

  1. Overcame windows defender warning
  2. Extracting calm.zip and moved calm directory to C:\calm .
  3. Added Path
  4. Opening windows terminal and typed calm.exe
  5. Installation starts, and stops with an error
Error opening shared object "SDL2_image.dll":
The specified procedure could not be found.

I ensured the dll's are present

C:\calm\lib\SDL2.dll
C:\calm\lib\SDL2_image.dll
C:\calm\lib\SDL2_mixer.dll

Here is the "complete" powershell output

LIB_PATH=C:\calm\lib
LIB_ENV=C:\calm;C:\calm\lib
CALM_CMD=core
inherited CALM_APP_DIR=C:\Users\sgraetz\
inherited CALM_HOME=C:\calm\
SBCL_HOME=C:\calm\sbcl\lib\sbcl
PATH=C:\calm;C:\calm\lib
EXECUTING:  "C:\calm\sbcl\bin\sbcl" --noinform --no-sysinit --no-userinit --load entry.lisp
To load "calm":
  Load 1 ASDF system:
    calm
; Loading "calm"
.....................While evaluating the form starting at line 8, column 0
  of #P"C:/calm/entry.lisp":

debugger invoked on a CFFI:LOAD-FOREIGN-LIBRARY-ERROR in thread
#<THREAD "main thread" RUNNING {10044B8113}>:
  Unable to load foreign library (LIBSDL2-IMAGE).
  Error opening shared object "SDL2_image.dll":
 The specified procedure could not be found.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Try loading the foreign library again.
  1: [USE-VALUE                    ] Use another library instead.
  2: [TRY-RECOMPILING              ] Recompile library and try loading it again
  3: [RETRY                        ] Retry
                                     loading FASL for #<CL-SOURCE-FILE "sdl2-image" "library">.
  4: [ACCEPT                       ] Continue, treating
                                     loading FASL for #<CL-SOURCE-FILE "sdl2-image" "library">
                                     as having been successful.
  5:                                 Retry ASDF operation.
  6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  7:                                 Retry ASDF operation.
  8:                                 Retry ASDF operation after resetting the
                                     configuration.
  9: [ABORT                        ] Give up on "calm"
 10: [REGISTER-LOCAL-PROJECTS      ] Register local projects and try again.
 11: [RETRY                        ] Retry EVAL of current toplevel form.
 12: [CONTINUE                     ] Ignore error and continue loading file "C:\\calm\\entry.lisp".
 13:                                 Abort loading file "C:\\calm\\entry.lisp".
 14:                                 Ignore runtime option --load "entry.lisp".
 15:                                 Skip rest of --eval and --load options.
 16:                                 Skip to toplevel READ/EVAL/PRINT loop.
 17: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the process).

(CFFI::FL-ERROR "Unable to load foreign library (~A).~%  ~A" LIBSDL2-IMAGE "Error opening shared object \"SDL2_image.dll\":
 The specified procedure could not be found.")
   source: (ERROR 'LOAD-FOREIGN-LIBRARY-ERROR :FORMAT-CONTROL CONTROL
                  :FORMAT-ARGUMENTS ARGUMENTS)
0]
@simmihugs
Copy link
Author

Little follow up - when double clicking the calm.exe
Windows shows an error (see screenshot) - maybe SDL2_image is out-to-date?
image

@VitoVan
Copy link
Owner

VitoVan commented Oct 14, 2023

Thank you for trying this, I'm looking into it.

@VitoVan
Copy link
Owner

VitoVan commented Oct 14, 2023

Just tested on:

OS Name	Microsoft Windows 10 Pro
Version	10.0.19045 Build 19045

with an expected result:

imagen

Now I'm trying to upgrade this OS, to see if it fails on the newer version Windows 10.

@VitoVan
Copy link
Owner

VitoVan commented Oct 14, 2023

Another test, same OS, but upgraded:

OS Name	Microsoft Windows 10 Pro
Version	10.0.19045 Build 19045

imagen

@VitoVan
Copy link
Owner

VitoVan commented Oct 14, 2023

Now, I have a wild guess, do you have a newer version of SDL2 inside your PATH?

By default, when we start CALM, it appends C:\calm\lib to the PATH env, like this:

PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\calm;C:\Users\vito\AppData\Local\Microsoft\WindowsApps;;C:\calm\lib

Maybe I should prepend this env rather than append.

I will work on this matter, and keep debugging. But in the meantime, if you would like to continue invest time on this, you could try removing the other potential SDL2 related path inside the PATH env.

Have fun, and sorry for this.

@simmihugs
Copy link
Author

@VitoVan, it is definetly possible, that I have another version of sdl2 somewhere - I really should start using VMs when I try out stuff xd

I will look at my path variable tonight and let you know if I figure it out

@simmihugs
Copy link
Author

image

So it seems it was like you did expect - some other SDL2 in the path.

Though - its SDL2.dll not SDL2_image.dll causing this, but the error in the terminal hints at *_image
maybe this could be improved in the debug outpug

@VitoVan
Copy link
Owner

VitoVan commented Oct 14, 2023

Thank you for this, I'm considering to prepend the env to fix this.

And also, will see if I can do anything about the debug output, it seems to be out of my ability, but I'll try.

@simmihugs
Copy link
Author

Thanks for the quick response BTW

As far as I'm concerned the issue can be closed

@VitoVan
Copy link
Owner

VitoVan commented Oct 17, 2023

Thank you.

I'm considering to leave this open until CALM can be successfully started with the existence of other incompatible SDL2 in the PATH.

Thank you for firing up this issue instead of just throwing it away, I appreciated it a lot.

@VitoVan VitoVan self-assigned this Nov 16, 2023
VitoVan added a commit that referenced this issue Nov 16, 2023
VitoVan added a commit that referenced this issue Nov 16, 2023
VitoVan added a commit that referenced this issue Nov 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants