libvips / build-win64-mxe

73 stars 15 forks source link

Why do dynamic libraries have to be stored in a directory called bin for them to work properly when generating thumbnails of dpx files? #34

Closed cool2528 closed 2 years ago

cool2528 commented 2 years ago

Why do dynamic libraries have to be stored in a directory called bin for them to work properly when generating thumbnails of dpx files? 6 It works fine when I change the name of the directory it is working in to bin 7 How can I solve this problem? If my application is in a directory other than bin, then I can't use libvips properly.

cocoon commented 2 years ago

Hi, I just observed the same behavior.

When extracting this: https://github.com/libvips/build-win64-mxe/releases/download/v8.11.0/vips-dev-w64-all-8.11.0.zip

running this inside bin folder shoes this:

VIPS-INFO: 09:44:55.983: loading "D:\vips-dev-w64-all-8.11.3\vips-dev-8.11/bin/vips-modules-8.11\vips-jxl.dll"

D:\vips-dev-w64-all-8.11.3\vips-dev-8.11\bin>vips -l |grep xl
VIPS-INFO: 09:44:55.983: loading "D:\vips-dev-w64-all-8.11.3\vips-dev-8.11/bin/vips-modules-8.11\vips-jxl.dll"
        VipsForeignLoadMatrix (matrixload_base), load matrix, priority=0
          VipsForeignLoadMatrixFile (matrixload), load matrix (.mat), priority=0, is_a, get_flags, get_flags_filename, header, load
          VipsForeignLoadMatrixSource (matrixload_source), load matrix, priority=0, is_a_source, get_flags, header, load
        VipsForeignLoadJxl (jxlload_base), load JPEG-XL image, priority=0
          VipsForeignLoadJxlFile (jxlload), load JPEG-XL image (.jxl), priority=0, is_a, get_flags, header, load
          VipsForeignLoadJxlBuffer (jxlload_buffer), load JPEG-XL image, priority=0, is_a_buffer, get_flags, header, load
          VipsForeignLoadJxlSource (jxlload_source), load JPEG-XL image, priority=0, is_a_source, get_flags, header, load
        VipsForeignSaveJxl (jxlsave_base), save image in JPEG-XL format (.jxl), priority=0, any
          VipsForeignSaveJxlFile (jxlsave), save image in JPEG-XL format (.jxl), priority=0, any
          VipsForeignSaveJxlBuffer (jxlsave_buffer), save image in JPEG-XL format (.jxl), priority=0, any
          VipsForeignSaveJxlTarget (jxlsave_target), save image in JPEG-XL format (.jxl), priority=0, any

after renaming the bin folder:

D:\vips-dev-w64-all-8.11.3\vips-dev-8.11\bin2>vips -l |grep xl
        VipsForeignLoadMatrix (matrixload_base), load matrix, priority=0
          VipsForeignLoadMatrixFile (matrixload), load matrix (.mat), priority=0, is_a, get_flags, get_flags_filename, header, load
          VipsForeignLoadMatrixSource (matrixload_source), load matrix, priority=0, is_a_source, get_flags, header, load
cool2528 commented 2 years ago

@cocoon Well, my temporary solution is this Create a new folder named bin under the root directory of vips.exe, then copy the folder vips-modules-8.11 to this bin directory and it will work fine You can also try this solution E:\VIPS-DEV-W64-ALL-8.11.3\VIPS-DEV-8.11\AA └─bin └─vips-modules-8.11

kleisauke commented 2 years ago

Fixed with commit https://github.com/libvips/build-win64-mxe/commit/06090f02a66256076298739d8b475b8756f19e48 and released as v8.11.4. I now see:

PS C:\vips-dev-8.11\bin2> $env:VIPS_INFO = "1"
PS C:\vips-dev-8.11\bin2> .\vips.exe --version
VIPS-INFO: 18:41:46.811: VIPS_PREFIX = /data/mxe/usr/x86_64-w64-mingw32.shared.posix.all
VIPS-INFO: 18:41:46.813: VIPS_LIBDIR = /data/mxe/usr/x86_64-w64-mingw32.shared.posix.all/lib
VIPS-INFO: 18:41:46.813: prefix = C:\vips-dev-8.11\bin2
VIPS-INFO: 18:41:46.813: libdir = C:\vips-dev-8.11\bin2
VIPS-INFO: 18:41:46.814: searching "C:\vips-dev-8.11\bin2/vips-modules-8.11"
VIPS-INFO: 18:41:46.815: loading "C:\vips-dev-8.11\bin2/vips-modules-8.11\vips-jxl.dll"
VIPS-INFO: 18:41:46.816: loading "C:\vips-dev-8.11\bin2/vips-modules-8.11\vips-magick.dll"
VIPS-INFO: 18:41:46.817: loading "C:\vips-dev-8.11\bin2/vips-modules-8.11\vips-openslide.dll"
VIPS-INFO: 18:41:46.819: loading "C:\vips-dev-8.11\bin2/vips-modules-8.11\vips-poppler.dll"
vips-8.11.4-Thu Sep 23 09:40:01 UTC 2021

Thanks for reporting this!