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

x86 Compatibility #7

Closed
FullSpectrumLaser opened this issue Jun 21, 2018 · 9 comments
Closed

x86 Compatibility #7

FullSpectrumLaser opened this issue Jun 21, 2018 · 9 comments
Labels
enhancement New feature or request

Comments

@FullSpectrumLaser
Copy link

Hi Kleis,

Have you tested your wrapper with a win32 build of vips 8.6.4?
I've run a sample app with UseGlobalLibvips=true and pointing to the following: http://www.rollthepotato.net/~john/vips-dev-w32-8.6.4.zip

All calls are failing up front. It seems Operation.GetArgs() is getting garbage when dereferencing arguments struct.

Our platform is x86 only unfortunately.

kleisauke added a commit that referenced this issue Jun 23, 2018
- Test with libvips 8.6.4 on Travis.
- Update bundled libvips binary (for 64-bit Windows) to 8.6.4.
- Update dependencies.
- Use `out` keyword instead of `ref` wherever possible.
- Add `contains` helper (to check if the image contains an property of metadata).
- Remove unused structs.
@kleisauke
Copy link
Owner

Hi Phil,

I've just added support for 32-bit architecture. If you want to test this, you can use the nightly version of NetVips. Add the https://ci.appveyor.com/nuget/net-vips feed in the <packageSources> section of your NuGet.config:

<packageSources>
  <add key="netvips-nightly" value="https://ci.appveyor.com/nuget/net-vips" />
</packageSources>

And update NetVips to 1.0.3.79. I will try to make a new release within a few days.

Thanks for reporting!

@FullSpectrumLaser
Copy link
Author

Hi again Kleis,

The nightly build is working beautifully with 8.6.4-win32, thank you! Are you intending to push a new release with x86 libvips support in the nuget package at some point?

@kleisauke kleisauke added the enhancement New feature or request label Jun 28, 2018
@kleisauke
Copy link
Owner

Hi Phil,

Thanks for testing! I'll publish a new version (1.0.4) on NuGet today.

@kleisauke
Copy link
Owner

NetVips 1.0.4 is now available on NuGet.

@kleisauke
Copy link
Owner

Hi Phil,

I noticed that you maintain the NetVips-x86 NuGet package. The next release of NetVips (v1.0.5) will bundle and depend upon the forthcoming libvips 8.7.0 from https://github.com/kleisauke/build-win64-mxe.

In that repo, I've added support for building libvips binaries for 32-bit Windows. The next release of NetVips will therefore also bundle the 32-bit version of libvips. If you want to test this, you can use the nightly version of NetVips (v1.0.5.95).

@kleisauke
Copy link
Owner

@FullSpectrumLaser I've just released NetVips 1.0.5 which bundle and depend upon libvips 8.7 (for 32 and 64-bit Windows).

@FullSpectrumLaser
Copy link
Author

FullSpectrumLaser commented May 21, 2019

Hi again @kleisauke ,

Thank you for your work creating what is now a plug-and-play .Net based wrapper for the wonderful libvips.

I wanted to avoid creating a new issue to ask the following: I've noticed that the pre-built vips binaries that you have packaged are built using the "web" configuration instead of "full"
We have a requirement to load bmp images which are currently supported by ImageMagick and "magicload" and these are excluded with the web config. I've noticed that your test suite includes tests for magicload but I imagine these will all fail using your NetVips.Native.win-x86 nuget package. Short of you adding additional packages for the full configuration, do you have any suggestions for manually building these with the additional support?

@kleisauke
Copy link
Owner

Hi @FullSpectrumLaser,

The reason ImageMagick is not included in the pre-compiled binaries is to reduce the attack surface. It also has a GPL-like license, so it's slightly problematic to distribute binaries with it compiled in.

The pre-compiled binaries on NuGet are intended to get people up and running as quickly as possible with the most popular web-based formats. You can always roll your own combination of libvips' dependencies, NetVips will always look for a global installation if the NetVips.Native NuGet package isn't installed.

You can download the vips-dev-w32-all-x.y.z.zip binaries here:
https://github.com/libvips/build-win64-mxe/releases

By the way,
Could you perhaps unpublish the NetVips-x86 NuGet package? It's vulnerable to CVE-2019-6976, see: https://blog.silentsignal.eu/2019/04/18/drop-by-drop-bleeding-through-libvips/

@FullSpectrumLaser
Copy link
Author

FullSpectrumLaser commented May 30, 2019

The NetVips-x86 has been unlisted from public search. NuGet disallows deletion, however removal from public search should discourage use of this older package. Thank you again!

Edit: Added you as owner of package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants