mathigatti / RealTimeSingingSynthesizer

Live Coding Singing Synthesizer. Python sinsy-NG wrapper.
GNU General Public License v3.0
59 stars 6 forks source link

Sinsy make error #4

Closed ghost closed 3 years ago

ghost commented 4 years ago

Hello mathigatti, thank you alot for this. I am excited to get it to work but i am having an error when i try and make the Sinsy file on linux (Linux Mint 19.3). This is the last bit of the error message i get:

[100%] Linking CXX executable sinsyNG CMakeFiles/sinsyNG.dir/bin/sinsy.o: In function ECantorix::init(double)': sinsy.cpp:(.text._ZN9ECantorix4initEd[_ZN9ECantorix4initEd]+0x8d): undefined reference tosinsy_ng_Init' CMakeFiles/sinsyNG.dir/bin/sinsy.o: In function ECantorix::addNote(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, bool, bool, unsigned long, unsigned long, unsigned long, bool)': sinsy.cpp:(.text._ZN9ECantorix7addNoteEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmbbmmmb[_ZN9ECantorix7addNoteEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmbbmmmb]+0xd0): undefined reference tosinsy_ng_addNote' sinsy.cpp:(.text._ZN9ECantorix7addNoteEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmbbmmmb[_ZN9ECantorix7addNoteEmRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmbbmmmb]+0x12a): undefined reference to sinsy_ng_addNote' CMakeFiles/sinsyNG.dir/bin/sinsy.o: In functionECantorix::addRest(unsigned long)': sinsy.cpp:(.text._ZN9ECantorix7addRestEm[_ZN9ECantorix7addRestEm]+0x4e): undefined reference to sinsy_ng_addRest' CMakeFiles/sinsyNG.dir/bin/sinsy.o: In functionECantorix::saveTo(std::cxx11::basic_string<char, std::char_traits, std::allocator >)': sinsy.cpp:(.text._ZN9ECantorix6saveToENSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN9ECantorix6saveToENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x3a): undefined reference to `sinsy_ng_getAudioData' collect2: error: ld returned 1 exit status CMakeFiles/sinsyNG.dir/build.make:95: recipe for target 'sinsyNG' failed make[2]: *** [sinsyNG] Error 1

Maybe you can help, thank u!

mathigatti commented 4 years ago

Hi, those undefined reference are from libespeak-NG, have you installed it first?

ghost commented 4 years ago

Hey! I had errors installing the one in this folder so i installed the git of espeak-ng from this : https://travis-ci.org/espeak-ng/espeak-ng which was meant to be the same..non?

mathigatti commented 4 years ago

yes, I guess that should be fine. I received a similar error because sinsy-ng didn't find libespeak-ng. What does locate libespeak returns for you?

mathigatti commented 4 years ago

I had the library installed here: /usr/lib/x86_64-linux-gnu/libespeak-ng.so.1 but sinsy looked for it in /usr/lib folder, so I made this to fix it: ln /usr/lib/x86_64-linux-gnu/libespeak-ng.so.1 /usr/lib/libespeak-ng.so

ghost commented 4 years ago

hey :) thank u for replying. yes i have it installed in the same location but maybe i have missed a step in getting Sinsy to look for it there? because i still get the same response. im sorry for the hassle..

mathigatti commented 4 years ago

What does locate libespeak returns for you?

mathigatti commented 4 years ago

can you try this? sudo ln /usr/lib/x86_64-linux-gnu/libespeak-ng.so.1 /usr/lib/libespeak-ng.so

ghost commented 4 years ago

i tried this but for some reason the file gets broken when it gets moved...tried it as root and all, not exactly sure why this problem is happening

mathigatti commented 4 years ago

ln command doesn't move it, it just creates a link to the original file, after you run it the error changes on sinsy-NG?

ghost commented 4 years ago

I have been getting this warning, is it impacting it maybe? thank u!

`CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 3.10)

should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring done CMake Warning (dev) at CMakeLists.txt:57 (add_executable): Policy CMP0003 should be set before this line. Add code such as

if(COMMAND cmake_policy)
  cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

as early as possible but after the most recent call to cmake_minimum_required or cmake_policy(VERSION). This warning appears because target "sinsyNG" links to some libraries for which the linker must search:

espeak-ng, sndfile, samplerate

and other libraries with known full path:

/home/user/Desktop/RealTimeSingingSynthesizer/synthesisSoftware/Sinsy-NG-0.0.1/build/libsinsy.so

CMake is adding directories in the second list to the linker search path in case they are needed to find libraries from the first list (for backwards compatibility with CMake 2.4). Set policy CMP0003 to OLD or NEW to enable or disable this behavior explicitly. Run "cmake --help-policy CMP0003" for more information. This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done -- Build files have been written to: /home/user/Desktop/RealTimeSingingSynthesizer/synthesisSoftware/Sinsy-NG-0.0.1/build`

mathigatti commented 4 years ago

maybe you need to update your cmake version, anyway those are just warnings, not errors, the last message looks good. Is there a sinsyNG binary in the path /home/user/Desktop/RealTimeSingingSynthesizer/synthesisSoftware/Sinsy-NG-0.0.1/build?

ghost commented 4 years ago

no :/ there was a Cmakefiles folder created in the build folder too and i checked there as well and no sinsyNG binary...(cmake version is the newest so thats okay)

mathigatti commented 4 years ago

In case it's useful for you I made this colab notebook which allows you to follow the steps I used to install it on ubuntu.