libvips / build-win64-mxe

73 stars 15 forks source link

Run failed on 8.14.4 #52

Closed g-mero closed 10 months ago

g-mero commented 10 months ago

image

I attempted to use go-vips on Windows 11, and it worked flawlessly with version 8.13.3_web_static. However, I encountered a crash when using version 8.14.4_web_static. I noticed that the lib dir differ significantly between the two versions, with v8.14.4 seemingly missing several essential libraries.

lovell commented 10 months ago

Which zip file listed at https://github.com/libvips/build-win64-mxe/releases/tag/v8.14.4 does this relate to? Which files within the zip file are you expecting to find that are not present?

g-mero commented 10 months ago

@lovell vips-dev-w64-web-8.14.4-static.zip, right is vips-dev-w64-web-8.13.3-static.zip image

I'm not sure if the absence of these files is what caused the compilation failure, but when comparing the "lib" folders in v8.14.4 to v8.13.3, it's evident that many files are missing, including the keywords of several libraries mentioned in the crash report.

lovell commented 10 months ago

Files such as lib/libintl.a are extraneous to a static build, as their logic is already "bundled" in the bin/libvips-42.dll shared library.

From the error screenshot it looks like you're trying to link against all the underlying dependencies as shared libraries in their own right, which would suggest the static build is not appropriate for your use case.

g-mero commented 10 months ago

But it still crashed on vips-dev-w64-web-8.14.4.zip (reported cannot found -lintl). I successfully ran govips on Windows using the static versions of v8.13.3 and v8.12, following the instructions provided in https://github.com/davidbyttow/govips/issues/141#issuecomment-1072395568.

lovell commented 10 months ago

Are you able to run the bin/vips.exe file in the zip file? If so, this sounds more like a problem based on the way that you're building govips. I see mention of pkg-config in the issue you linked to, so please check you're configuring it to use the relevant set of files.

g-mero commented 10 months ago

I can successfully run the bin/vips.exe file. And I didn't find any problem on pkg-config. I simply execute 'go run main.go'.

lovell commented 10 months ago

This is probably a question for https://github.com/davidbyttow/govips and is likely to relate to pkg-config. For example, a cursory glance at https://community.chocolatey.org/packages/pkgconfiglite suggests it is seriously out of date and will probably have decade old bugs relating to Requires.private.

g-mero commented 10 months ago

MSYS2 fixed the issue.

aisnote commented 3 months ago

@g-mero could you share the detail? I meet the same issue on Windows to compile go application