fraunhoferhhi / vvenc

VVenC, the Fraunhofer Versatile Video Encoder
https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html
BSD 3-Clause Clear License
899 stars 158 forks source link

Build failure: makefile looking for non-existing files in the "build" directory #375

Closed picagrad closed 2 months ago

picagrad commented 2 months ago

Hi all, first time user here, trying to build and install on my machine, and I am getting some errors that the makefile is looking for some files in the ./builddirectory that are not there

Machine info:

LSB Version:    core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

Install command and error :

make install-release
cmake -S . -B build/release-static  -DCMAKE_BUILD_TYPE=Release
CMake Error: The source directory "/local-scratch2/aharell/vvenc/build/release-static" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
Makefile:212: recipe for target 'build/release-static/CMakeCache.txt' failed
make: *** [build/release-static/CMakeCache.txt] Error 1

I looked to see if I can find the build folder in the repo or anywhere else but it does not seem to exist. Either I am missing something major, or the build file meant to help users build is currently missing from the repo and/or the instructions on where to get it are missing.

lehmann-c commented 2 months ago

Seems that the vvenc folder is not writable. The 'build/release-static' folder is created by cmake inside your vvenc folder. As this folder is not existing, I guess there are some write permissions missing. Did you checked out the vvenc repository into the folder '/local-scratch2/aharell/vvenc' or did you copy it there (maybe as super user?) I´m just curious as '/local-scratch2' is not a default directory.

picagrad commented 2 months ago

I can't imagine that there are writing permission issues since the folder is local and I cloned the repo into the folder directly.

Just in case, I'll try to run sudo make install-release to see if that changes anything. If it does I'll start digging around the permissions.

On Thu, Apr 25, 2024, 02:56 Christian Lehmann @.***> wrote:

Seems that the vvenc folder is not writable. The 'build/release-static' folder is created by cmake inside your vvenc folder. As this folder is not existing, I guess there are some write permissions missing. Did you checked out the vvenc repository into the folder '/local-scratch2/aharell/vvenc' or did you copy it there (maybe as super user?) I´m just curious as '/local-scratch2' is not a default directory.

— Reply to this email directly, view it on GitHub https://github.com/fraunhoferhhi/vvenc/issues/375#issuecomment-2076771141, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJK25BS4HWJ6TJE7KUIYFGDY7DFAHAVCNFSM6AAAAABGXNSTROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZWG43TCMJUGE . You are receiving this because you authored the thread.Message ID: @.***>

picagrad commented 2 months ago

@lehmann-c I verified that this is not the issue, I ran the cmake command with sudo, I also ran the direct cmake command created by the makefile using sudo, and then I changed the permission of the build folder to 777 (I know this generally isn't good practice, but I'm debugging here), still no change. I even changed the permissions of the entire repo to 777, still no change.

I also tried to manually create the build folder and its subsequent subfolder install-release, still with no change.

It appears that the makefile is expecting the folder build/release-static to contain some files but it is empty so I'm not sure what else is supposed to happen.

lehmann-c commented 2 months ago

The folder build/release-static is created by cmake and contains the build files generated by cmake. We need some more information about your system setup since no one else ran into that issues.

What is your cmake version? cmake --version Have you tried to clone the repository into some other directory? e.g. home folder

Can you provide the full log that is written by using: cmake -S . -B build/release-static -DCMAKE_BUILD_TYPE=Release

Usually there needs to be an environment and compiler detection etc. in the first place.

picagrad commented 2 months ago

Hi, so it seems like cmake can't make the folder, but it's not about writing permissions because as I've mentioned I've already tried chmod 777 on the entire folder, with no luck.

What is your cmake version? cmake --version cmake version is 3.10.2 which is the newest version available for ubuntu 18.04 (tried upgrading using apt-get install cmake --upgrade which returns cmake is already the newest version (3.10.2-1ubuntu2.18.04.2).

Can you provide the full log that is written by using: cmake -S . -B build/release-static -DCMAKE_BUILD_TYPE=Release

The log here is identical to what I provided before:

cmake -S . -B build/release-static -DCMAKE_BUILD_TYPE=Release
CMake Error: The source directory "/local-scratch2/aharell/vvenc/build/release-static" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

Have you tried to clone the repository into some other directory? e.g. home folder Yes, I tried that just to be sure, with the exact same results.

lehmann-c commented 2 months ago

That’s the issue - your Cmake version. you need at least cmake 3.13 to build vvenc properly.

There is an version check in the main CMakeLists.txt file that should throw an error.

lehmann-c commented 2 months ago

cmake is telling this also, if you call cmake without defining the build directory: cmake -S . -DCMAKE_BUILD_TYPE=Release
CMake Error at CMakeLists.txt:4 (cmake_minimum_required):
CMake 3.13.0 or higher is required. You are running version 3.10.2

Please have a look into the system requirements for more information: https://github.com/fraunhoferhhi/vvenc/wiki/Build#requirements

adamjw24 commented 2 months ago

Closing as resolution has been found.