Opened 8 years ago

Closed 8 years ago

#51 closed defect (fixed)

win7: can't find libfftw3-3.dll

Reported by: flip Owned by: flip
Priority: major Milestone:
Component: svd Version:
Keywords: Cc:

Description

Under Win7, loading Analysis' HLSD tab fails. The error reported to Python is "[Error 126] The specified module could not be found". If one is running pythonw.exe (which is the way users run if they've installed from the standard bundle), they see the standard Vespa exception handler dialog and nothing else. When running from the command line (developer style), I get this message box in addition:

---------------------------
python.exe - System Error
---------------------------
The program can't start because libfftw3-3.dll is missing from your computer. Try reinstalling the program to fix this problem. 
---------------------------
OK   
---------------------------

That tells the real story -- Windows can't find the fftw DLL that hlsvd relies on.

It has been my experience under Windows that when DLL or EXE A relies on DLL B, Windows will find B if it is in the same directory as A. We rely on this under WinXP and it has worked fine for us there.

According to MSDN article ms682586, this is Windows' runtime search order for DLLs:

  1. The directory from which the application loaded.
  2. The system directory.
  3. The 16-bit system directory.
  4. The Windows directory.
  5. The current directory.
  6. The directories that are listed in the PATH environment variable.

Based on this article, Windows shouldn't be able to find the libfftw3-3.dll under WinXP and yet it does. I can't figure out why.

In any case, that article does point to a solution, which is to change the current directory to the location of libfftw3-3.dll before loading the HLSVD DLL. This solves the problem that we see under Win7.

I attached a demo program that one can use to experiment under WinXP and Win7. It should give the same results from any directory and from 32- or 64-bit Python. You'll have to edit the code and adjust the path variable for your machine.

Attachments (1)

win_hlsvd_load_test.py (458 bytes) - added by flip 8 years ago.

Download all attachments as: .zip

Change History (3)

Changed 8 years ago by flip

comment:1 Changed 8 years ago by flip

fixed in r3478

comment:2 Changed 8 years ago by flip

  • Resolution set to fixed
  • Status changed from new to closed

Forgot to close this when it was fixed 8 weeks ago.

Note: See TracTickets for help on using tickets.