link-u / cavif

avif encoder, using libaom directly.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Errors

krzimmer opened this issue · comments

Hi. I've experienced a few build errors. Perhaps someone could help me out.
This first was this one. Per the installation instructions:

git clone --recurse-submodules --recursive git@github.com:link-u/cavif.git
Cloning into 'cavif'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

The fix was to use this:

git clone --recurse-submodules --recursive https://github.com/link-u/cavif.git

After installing the required version of CMake and starting the build, I got this error:

Performing configure step for 'vmaf_repo'
env: ‘meson’: No such file or directory

It looks like VMAF requires Meson which is not in the build instructions.

I installed pip3, installed Meson, then added it to the PATH

apt install python3-pi
pip3 install meson
PATH=$PATH:~/.local/bin/

CMake completed successfully.

I had an error during Make.

Performing configure step for 'lcms_repo'
/bin/sh: 1: /home/pppadmin/cavif/external/Little-CMS/configure: not found

Little-CMS is required, so I cloned it into the directory "/cavif/external/"

git clone https://github.com/mm2/Little-CMS.git

I ran Make again and had this error:

/cavif/external/libavif-container/src/avif/util/File.cpp:5:10: fatal error: filesystem: No such file or directory
 #include <filesystem>
          ^~~~~~~~~~~~

The fix I found was to edit File.cpp
Replace

#include <filesystem>

with

#include <experimental/filesystem>

With that change, I also had to replace:

std::filesystem

with

std::experimental::filesystem

I made the same change for "/cavif/src/img/PNGReader.cpp".
Now I'm stuck on multiple occurrences of this error:

/cavif/src/AVIFBuilder.cpp: In member function ‘void AVIFBuilder::linkAuxImages(uint32_t, uint32_t)’:
/cavif/src/AVIFBuilder.cpp:183:5: sorry, unimplemented: non-trivial designated initializers not supported

I'm excited to try out this utility because it sounds like exactly what I'm looking for. I appreciate the work you all have put into it. Thanks again.

For your git problem, you need to generate a SSH key and add it to your GitHub account. I had precisely the same problem, you can see this in my first message on #18.

Thanks @darkcharmander. I'll look into that for the first issue.

That fixed all of my problems.
I followed the instructions here:
https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

I suppose this "git@github.com:link-u/cavif.git" is not the same as "https://github.com/link-u/cavif.git".