DanielSWolf / rhubarb-lip-sync

Rhubarb Lip Sync is a command-line tool that automatically creates 2D mouth animation from voice recordings. You can use it for characters in computer games, in animated cartoons, or in any other project that requires animating mouths based on existing recordings.
Other
1.81k stars 216 forks source link

problem with 1.11.0 #103

Closed b4zz4 closed 2 years ago

b4zz4 commented 2 years ago

Arch GNU/Linux

    mkdir build
    cd build
    cmake ..
    make rhubarb
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

[...]

hubarb-lip-sync-master/rhubarb/src/tools/exceptions.cpp: En la función ‘std::string getMessage(const std::exception&)’:
rhubarb-lip-sync-master/rhubarb/src/tools/exceptions.cpp:9:17: error: ‘rethrow_if_nested’ no se declaró en este ámbito
    9 |                 rethrow_if_nested(e);
DanielSWolf commented 2 years ago

Your description is a bit sparse. So I'm guessing you're receiving this error trying to compile Rhubarb from source. What C++ compiler (exact version) on what OS are you using?

b4zz4 commented 2 years ago

Sorry, Arch GNU/Linux

The previous version was perfectly well compiled

DanielSWolf commented 2 years ago

What C++ compiler (exact version) are you using?

b4zz4 commented 2 years ago
wget https://github.com/DanielSWolf/rhubarb-lip-sync/archive/refs/tags/v1.11.0.zip
unzip v1.11.0.zip
cd rhubarb-lip-sync-1.11.0
mkdir build
cd build
cmake ..
make rhubarb
b4zz4 commented 2 years ago

CMake Warning (dev) in CMakeLists.txt: No project() command is present. The top-level CMakeLists.txt file must contain a literal, direct call to the project() command. Add a line of code such as

project(ProjectName)

near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first line. This warning is for project developers. Use -Wno-dev to suppress it.

/home/bazza/src/aur/rhubarb-lip-sync/src/rhubarb-lip-sync-1.11.0/rhubarb/src/tools/exceptions.cpp: In function 'std::string getMessage(const std::exception&)': /home/bazza/src/aur/rhubarb-lip-sync/src/rhubarb-lip-sync-1.11.0/rhubarb/src/tools/exceptions.cpp:9:17: error: 'rethrow_if_nested' was not declared in this scope 9 | rethrow_if_nested(e); | ^~~~~ make[3]: [rhubarb/CMakeFiles/rhubarb-tools.dir/build.make:76: rhubarb/CMakeFiles/rhubarb-tools.dir/src/tools/exceptions.cpp.o] Error 1 make[3]: Waiting for unfinished jobs.... /home/bazza/src/aur/rhubarb-lip-sync/src/rhubarb-lip-sync-1.11.0/rhubarb/src/tools/ProgressBar.cpp: In member function 'void ProgressBar::updateLoop()': /home/bazza/src/aur/rhubarb-lip-sync/src/rhubarb-lip-sync-1.11.0/rhubarb/src/tools/ProgressBar.cpp:43:35: error: 'sleep_for' is not a member of 'std::this_thread' 43 | std::this_thread::sleep_for(animationInterval); | ^~~~~ make[3]: [rhubarb/CMakeFiles/rhubarb-tools.dir/build.make:146: rhubarb/CMakeFiles/rhubarb-tools.dir/src/tools/ProgressBar.cpp.o] Error 1 make[2]: [CMakeFiles/Makefile2:366: rhubarb/CMakeFiles/rhubarb-tools.dir/all] Error 2 make[1]: [CMakeFiles/Makefile2:525: rhubarb/CMakeFiles/rhubarb.dir/rule] Error 2 make: [Makefile:293: rhubarb] Error 2 ==> ERROR: A failure occurred in prepare(). Aborting...

b4zz4 commented 2 years ago

What C++ compiler (exact version) are you using?

~$>cmake --version cmake version 3.21.3

DanielSWolf commented 2 years ago

You gave me the version of CMake you're using. But I still don't know which C++ compiler CMake is calling.

b4zz4 commented 2 years ago

gcc (GCC) 11.1.0

DanielSWolf commented 2 years ago

Sorry for the delay. I just pushed a commit to the branch feature/#103-minor-syntax-fixes. This should fix both the CMake warning and the compiler error. Could you check if it does?

b4zz4 commented 2 years ago

Better a little.


ProgressBar.cpp: En la función miembro ‘void ProgressBar::updateLoop()’:

error: ‘sleep_for’ no es un miembro de ‘std::this_thread’
   43 |                 std::this_thread::sleep_for(animationInterval);
      |                                   ^~~~~~~~~
DanielSWolf commented 2 years ago

Fixed that one, too.

BTW, I don't think the errors you're getting have anything to do with code changes in Rhubarb. The code for this last one hasn't changed in a long time. My guess is that you recently installed a newer, stricter version of the standard library. Every commit I make is automatically compiled on three different OSs with four different compilers, and they all failed to spot these problems.

b4zz4 commented 2 years ago

Great. This branch will you join master?

I maintain the repository of arch linux https://aur.archlinux.org/packages/rhubarb-lip-sync/

DanielSWolf commented 2 years ago

Just merged the fix to master. Nice to learn that you maintain a Rhubarb package for Arch Linux; I didn't know there was one!