Closed ycollet closed 5 years ago
Same error here building audiohost. VST3SDK 3.6.13 build 81 / Ubuntu 18.10 / Kubuntu 18.10 / GCC 8.2.0.
[ 84%] Building CXX object public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o
In file included from /usr/include/c++/8/memory:80,
from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h:40,
from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:40,
from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:
/usr/include/c++/8/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = Steinberg::Vst::AudioHost::App; _Args = {}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Steinberg::Vst::AudioHost::App, std::default_delete<Steinberg::Vst::AudioHost::App> >]’:
/media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:63:57: required from here
/usr/include/c++/8/bits/unique_ptr.h:831:30: error: invalid new-expression of abstract class type ‘Steinberg::Vst::AudioHost::App’
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:
/media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:52:7: note: because the following virtual functions are pure within ‘Steinberg::Vst::AudioHost::App’:
class App : public EditorHost::IApplication
^~~
In file included from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:40,
from /media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:
/media/data/projecten/develop/cpp/vst3sdk-git/vst3sdk/public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h:56:15: note: ‘virtual void Steinberg::Vst::EditorHost::IApplication::terminate()’
virtual void terminate () = 0;
^~~~~~~~~
make[3]: *** [public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/build.make:180: public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1532: public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1544: public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/rule] Error 2
make: *** [Makefile:391: audiohost] Error 2
Help greatly appreciated.
Same problem . gcc version 8.3
92%] Building CXX object public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o In file included from /usr/include/c++/8.3.0/memory:80, from /home/s/Programs/vst3sdk/public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h:40, from /home/s/Programs/vst3sdk/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:40,
Seems fixed: it now builds fine on Kubuntu 19.04 / 18.10 / 18.04.
I just tried to compile vst3 and now, it compiles. Thanks a lot
I have the same error on audio host on ubuntu 18.04 with g++ 7.4.0, is there a particular version of g++ that is only supported? If anyone wants more information to help squash this bug I'm more than happy to share whatever they like.
I have the same error on audio host on ubuntu 18.04 with g++ 7.4.0, is there a particular version of g++ that is only supported? If anyone wants more information to help squash this bug I'm more than happy to share whatever they like.
I just tried on Ubuntu 18.04.2 LTS and gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0 and the build succeeds.
git clone --recursive https://github.com/steinbergmedia/vst3sdk.git
mkdir vst3sdk_build
cd vst3sdk_build/
cmake ../vst3sdk
cmake --build .
Well here is my build script. I realize that all the dependencies may not be in this script as I run other scripts before it that install many libraries so many of them may be in there but I wanted to paste it in here for completeness.
#!/bin/bash
sdkversion=vst3sdk
echo "Installing the Steinberg VST SDK"
echo "Getting build dependencies"
sudo apt-get -y install cmake
sudo apt-get -y install pgk-config
sudo apt-get -y install libxcb-util-dev
sudo apt-get -y install libxcb-cursor-dev
sudo apt-get -y install libxcb-keysyms1-dev
sudo apt-get -y install libxcb-xkb-dev
sudo apt-get -y install libxkbcommon-dev
sudo apt-get -y install libxkbcommon-x11-dev
sudo apt-get -y install libexpat1-dev
sudo apt-get -y install libgtkmm-3.0-dev
sudo apt-get -y install sqlite3 libsqlite3-dev
sudo apt-get -y install libjack-dev
echo "Getting the Steinberg VST SDK"
wget https://www.steinberg.net/$sdkversion
unzip -q $sdkversion
sudo rm $sdkversion
sudo mkdir /usr/local/SDKs
sudo mkdir /usr/local/SDKs/$sdkversion
sudo mv VST_SDK/ /usr/local/SDKs/$sdkversion
sudo ln -s /usr/local/SDKs/$sdkversion/VST_SDK/VST2_SDK/ /usr/local/SDKs/VST2_SDK
sudo ln -s /usr/local/SDKs/$sdkversion/VST_SDK/VST3_SDK/ /usr/local/SDKs/VST3_SDK
echo "Files downloaded and setup, moving on to making the SDK"
cd /usr/local/SDKs/VST3_SDK
sudo mkdir build
cd build
echo "Getting system configuration"
sudo cmake ../
echo "Making, this may take a while"
sudo make
echo "Install Complete"
So the difference is that I'm running make like the Readme.md says at https://github.com/steinbergmedia/vst3sdk and you are gitting from this git it while im wgetting it from their website.
I also ran with cmake as you show and it still fails.
I am also using Ubuntu 18.04.2 LTS and gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0 and the build fails at 96% with the following error
[ 96%] Building CXX object public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o
In file included from /usr/include/c++/7/memory:80:0,
from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h:40,
from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:40,
from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:
/usr/include/c++/7/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = Steinberg::Vst::AudioHost::App; _Args = {}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Steinberg::Vst::AudioHost::App, std::default_delete<Steinberg::Vst::AudioHost::App> >]’:
/usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:63:57: required from here
/usr/include/c++/7/bits/unique_ptr.h:825:30: error: invalid new-expression of abstract class type ‘Steinberg::Vst::AudioHost::App’
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:0:
/usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:52:7: note: because the following virtual functions are pure within ‘Steinberg::Vst::AudioHost::App’:
class App : public EditorHost::IApplication
^~~
In file included from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.h:40:0,
from /usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/audiohost/source/audiohost.cpp:38:
/usr/local/SDKs/vst3sdk/VST_SDK/VST3_SDK/public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h:56:15: note: virtual void Steinberg::Vst::EditorHost::IApplication::terminate()
virtual void terminate () = 0;
^~~~~~~~~
public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/build.make:278: recipe for target 'public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o' failed
make[2]: *** [public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/source/audiohost.cpp.o] Error 1
CMakeFiles/Makefile2:1666: recipe for target 'public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/all' failed
make[1]: *** [public.sdk/samples/vst-hosting/audiohost/CMakeFiles/audiohost.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
So I can confirm that master of this git builds successfully but the Steinberg website just has an out of date image with a bug.
This is fixed with commit 92351625c5b24d5805a3f5adcc718fc748a5720a
I build vst3sdk on Fedora 29 64 bits. gcc version is 8.3.1.
I meet the following error during compilation: