HEIF support on Ubuntu 18

I followed the steps to install HEIF support on my Ubuntu (for node) setup, and everything appears to go smoothly and compile properly.

However it doesn’t seem to work, because when verifying HEIF support I am seeing it comes up as false:

id: ‘heif’,
input: { file: false, buffer: false, stream: false },
output: { file: false, buffer: false, stream: false }

Not sure where to turn since I do not see any errors (unless I am looking incorrectly) when compiling in vips-8.10.2 folder.

I realize I might be confusing HEIC and HEIF… not sure if the same procedure adds support for both files to be honest.

Sorry that this didn’t work for you! Did you run

sudo make install;
sudo ldconfig;

after it built? You’ll also need to forcefully rebuild your node modules:

rm -rf node_modules ~/.electron-gyp ~/.npm/_libvips ~/.node-gyp ~/.cache/yarn/*/*sharp*


Note that I’ve rewritten the entire HEIF/HEIC support pipeline in v1.0, so this pain and suffering should go away:

I have to look it up each time.

  • The video compression format is HEVC.

  • “The variation of HEIF used in Apple products exclusively uses HEVC compression technology and is known as HEIC” (from the wikipedia page below)

So, simply: the compression format is HEIF. The image container used by Apple is HEIC.

People seem to use HEIF and HEIC interchangeably, though.

1 Like

Unfortunately yes I did follow those directives but the same outcome occurs. It seems to install correctly but

node -e "console.log(require('sharp').format.heif)";

still comes out as false. As confirmation, I am missing about 250 test assets in my sync so they are definitely not indexed. If v1.0 has this support built in in another fashion I can easily wait to test drive that when the time comes. If you want to trouble shoot my issue further I’m willing to share more info.


I finally got back to this on my Ubuntu 18 test rig, recompiled SQLite and LibRAW, and found that the version of libheif that comes with Ubuntu 18 is old and buggy.

I will be dropping support of PhotoStructure for Node and PhotoStructure for Desktops for Ubuntu 18 in v1.0.0.

Ubuntu 18 users must migrate to PhotoStructure for Docker (which provides up to date versions of all necessary libraries in the photostructure/server image). Sorry for the hassle!