question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Dedupe libvips-42.dll for windows users

See original GitHub issue

Feature request

As Windows doesn’t come with libvips, Sharp convenient bundles it in as a .dll file, but it bundles it in twice: once in build/release and then again in vendor/8.13.2/win32-x64/lib. Given that it’s a whopping 21Mb, deduplicating that would be an excellent idea. (The same applies to libglib-2.0-0.dll, libvips-cpp.dll, and libgobject-2.0-0.dll, which take up a combined additional 2Mb)

The two most obvious options I can think of would be:

  • remove the vendor dir from the Windows build before packing up the release, or
  • make the .dll files in build/release Windows symlinks instead of real files.

Either would cut the Windows release size in half.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
lovellcommented, Oct 19, 2022

@Julusian I think it will be OK as prebuild-install won’t delete anything. Running node-gyp will delete build, hence the current implementation that always copies the latest DLL files.

Perhaps, as part of this proposal, we should also add logic to dll-copy that verifies build has the expected files, especially if vendor is empty?

0reactions
Julusiancommented, Oct 19, 2022

How will removing these duplicate files interact with prebuild-install?

It is not uncommon for prebuild-install to be run each time an electron build is produced. In one project I have made it manually invoke the postinstall commands, to allow for cross-compiling the electron app https://github.com/bitfocus/companion/blob/master/tools/build_prepare.mjs

Read more comments on GitHub >

github_iconTop Results From Across the Web

cannot load library 'libvips-42.dll' · Issue #44 - GitHub
I tried on my win10 PC and it installed OK following the instructions. Download py 3.6 64-bit from python.org and install, including adding...
Read more >
Windows Server deduplication: How it works, how to install
A departmental file server is a good example that helps visualize how there may be vast amounts of duplicated data. In a large...
Read more >
how install libvips NetVips in Azure cloud - Error:Unable to ...
I setup my local environment by saving libvips win64 in a folder in my windows 10 PC, added libvips bin folder to environment...
Read more >
Dedupe Guide - DOE Joint Genome Institute
Dedupe was written to eliminate duplicate contigs in assemblies, and later expanded to ... dedupe.sh in=X.fq pattern=cluster%.fq ac=f am=f s=1 mo=200 c pc...
Read more >
Can I use MarcEdit to dedupe records in a delivered file
The user will need to de-dupe the files before uploading them into their ILS. ... MarcEdit Record DeDuplication with a MARC File for...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found