-
Notifications
You must be signed in to change notification settings - Fork 404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Linux build #19
Comments
kurasu@09a22e4 |
Looking forward to be able to build it on linux! |
OK, so I just started tinkering with the Linux building thing and I managed to make it compile on the current version, the VST2 build. I don't know how to make it work though, tried running it with Reaper 5.95 on Ubuntu 16.04 but no luck - I suppose the Debug-surge.so file it creates (under the target folder) is not valid or something, or there is external data and files that I am not providing (skin, presets?). I'm attaching here the code of the current state. My repository is here: BuildSurgeOnLinux # Install libgtkmm-3.0-dev and libcairo2-dev
echo "############################################################"
echo "# THIS SCRIPT NEEDS THE FOLLOWING SPECIAL PACKAGES: #"
echo "# libgtkmm-3.0-dev libcairo2-dev #"
echo "# MAKE SURE YOU HAVE THEM OR COMPILATION WILL THROW ERRORS #"
echo "############################################################"
# Try to remove previous compilations
echo "REMOVING PREVIOUS BUILD FILES"
rm -rf surge VST_SDK
# First, clone Surge repo and update submodules
echo "CLONING SURGE REPO"
git clone https://github.com/kurasu/surge.git
echo "MOVING INTO SURGE FOLDER"
cd surge
echo "UPDATING GIT SUBMODULES"
git submodule update --init --recursive
# Then download VST_SDK file
echo "MOVING TO PARENT DIRECTORY"
cd ..
echo "RETRIEVING VST3SDK PACKAGE FROM STEINBERG"
wget https://www.steinberg.net/vst3sdk
# Extract it and remove the zip
echo "EXTRACTING VST3SDK ZIP PACKAGE"
unzip vst3sdk*
echo "REMOVING VST3SDK ZIP"
# Copy the vst2 stuff to the vst3 folder in Surge
echo "COPYING VST2 FILES TO surge/vst3sdk/"
cp -r VST_SDK/VST2_SDK/* surge/vst3sdk/
# Download premake5 and extract it here
# REPLACE WITH THE LATEST VERSION OF PREMAKE DOWNLOAD IF YOU WANT
echo "RETRIEVING PREMAKE5 PACKAGE"
wget https://github.com/premake/premake-core/releases/download/v5.0.0-alpha12/premake-5.0.0-alpha12-linux.tar.gz
echo "EXTRACTING PREMAKE5 PACKAGE"
tar -xvf premake-5*
# Remove premake5 tar.gz
echo "REMOVING PREMAKE5 TAR.GZ PACKAGE"
# Move premake5 bin to surge folder
echo "MOVING PREMAKE5 BINARY TO SURGE FOLDER"
mv premake5 surge/
# Build makefiles with premake
echo "ENTERING SURGE FOLDER"
cd surge
echo "RUNNING premake5 gmake2"
./premake5 gmake2
# make the vst2
echo "RUNNING surge-vst2.make"
make -f surge-vst2.make
# make the vst3
#make -f surge-vst3.make Any contribution is appreciated and more than welcome, of course :) |
Yes I have tried too with Ubuntu 18,it compiles well it builds the .so file but I can't open it in any open source DAW! the vst2 is going to be built successfully but not the same for the vst3(anyway linux has long way to go with vst3 plugins,i can only use the steinberg's editorhost to open a vst3 example) . |
I'm having the same problems. I can build the plugin fine as a VST2 but it won't instantiate in Bitwig or Ardour. I'm building it here on Fedora 23, with GCC 5.3.1. The only error thrown by Bitwig is the rather unhelpful "Could not read metadata" message. |
To compile on linux, see this pull request: https://github.com/kurasu/surge/pull/20 Also, the reason the current state doesn't load is probably because of missing symbols. If you compiled it successfully, it should look like this:
|
Hey Kjetil, Thanks for the assistance ! As I mentioned I can build the VST2 without problems. I ran ldd as per your instructions, got the following result, complete with a report of missing symbols. What stage did I miss ? [dlphilp@The6300 surge]$ ldd -r target/vst2/Debug/Surge-Debug.so |
Did you include the pull request and applied the patch included in that
pull request?
…On Thu, Oct 4, 2018 at 3:07 PM, davephillips ***@***.***> wrote:
Hey Kjetil, Thanks for the assistance ! As I mentioned I can build the
VST2 without problems. I ran ldd as per your instructions, got the
following result, complete with a report of missing symbols. What stage did
I miss ?
***@***.*** surge]$ ldd -r target/vst2/Debug/Surge-Debug.so
linux-vdso.so.1 (0x00007ffc1e5f7000)
libgtkmm-3.0.so.1 => /lib64/libgtkmm-3.0.so.1 (0x00007f4da463c000)
libatkmm-1.6.so.1 => /lib64/libatkmm-1.6.so.1 (0x00007f4da43ec000)
libgdkmm-3.0.so.1 => /lib64/libgdkmm-3.0.so.1 (0x00007f4da419c000)
libgiomm-2.4.so.1 => /lib64/libgiomm-2.4.so.1 (0x00007f4da3de4000)
libpangomm-1.4.so.1 => /lib64/libpangomm-1.4.so.1 (0x00007f4da3bb4000)
libglibmm-2.4.so.1 => /lib64/libglibmm-2.4.so.1 (0x00007f4da3934000)
libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f4da3004000)
libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f4da2d34000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0
(0x00007f4da2b24000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f4da28d4000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f4da26ac000)
libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f4da249c000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f4da211c000)
libcairomm-1.0.so.1 => /lib64/libcairomm-1.0.so.1 (0x00007f4da1ef4000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f4da1bc4000)
libsigc-2.0.so.0 => /lib64/libsigc-2.0.so.0 (0x00007f4da19bc000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0
(0x00007f4da1794000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f4da153c000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f4da11fc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4da0fdc000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f4da0c54000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4da094c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4da0734000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4da036c000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f4da0164000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f4d9fe24000)
libXi.so.6 => /lib64/libXi.so.6 (0x00007f4d9fc0c000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f4d9fa04000)
libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0
(0x00007f4d9f7d4000)
libepoxy.so.0 => /lib64/libepoxy.so.0 (0x00007f4d9f4d4000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f4d9f2bc000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f4d9f074000)
libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f4d9ee6c000)
libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f4d9ec5c000)
libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f4d9ea4c000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f4d9e844000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f4d9e63c000)
libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007f4d9e3fc000)
libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0
(0x00007f4d9e1f4000)
libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f4d9dfec000)
libwayland-client.so.0 => /lib64/libwayland-client.so.0
(0x00007f4d9dddc000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f4d9dbc4000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4d9d9bc000)
libthai.so.0 => /lib64/libthai.so.0 (0x00007f4d9d7ac000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f4d9d5a4000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f4d9d33c000)
libfreetype.so.6 => /usr/lib64/freetype-freeworld/libfreetype.so.6
(0x00007f4d9d08c000)
libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f4d9cde4000)
libEGL.so.1 => /usr/lib64/nvidia-340xx/libEGL.so.1 (0x00007f4d9cad4000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4d9c8cc000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f4d9c694000)
libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f4d9c48c000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f4d9c27c000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f4d9c054000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f4d9be44000)
libz.so.1 => /lib64/libz.so.1 (0x00007f4d9bc2c000)
libGL.so.1 => /usr/lib64/nvidia-340xx/libGL.so.1 (0x00007f4d9b8dc000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4d9b6b4000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4d9b494000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f4d9b28c000)
/lib64/ld-linux-x86-64.so.2 (0x0000559be5100000)
libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f4d9b054000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f4d9adfc000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f4d9abcc000)
libdatrie.so.1 => /lib64/libdatrie.so.1 (0x00007f4d9a9c4000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f4d9a794000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f4d9a584000)
libnvidia-glsi.so.340.98 => /usr/lib64/nvidia-340xx/libnvidia-glsi.so.340.98
(0x00007f4d9a2fc000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f4d9a0f4000)
libnvidia-tls.so.340.98 => /usr/lib64/nvidia-340xx/tls/libnvidia-tls.so.340.98
(0x00007f4d99eec000)
libnvidia-glcore.so.340.98 => /usr/lib64/nvidia-340xx/libnvidia-glcore.so.340.98
(0x00007f4d972d4000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f4d9705c000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f4d96fd4000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f4d96dac000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f4d96ac4000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f4d968ac000)
libdw.so.1 => /lib64/libdw.so.1 (0x00007f4d9665c000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f4d96454000)
libelf.so.1 => /lib64/libelf.so.1 (0x00007f4d9623c000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f4d96034000)
undefined symbol: _ZN12AudioEffectX10dispatcherEiilPvf
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect21setParameterAutomatedEif
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect19canProcessReplacingEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect18canDoubleReplacingEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect17programsAreChunksEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect15setInitialDelayEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect16getMasterVersionEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect18getCurrentUniqueIdEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect10masterIdleEv (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN11AudioEffect9dB2stringEfPci
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect9Hz2stringEfPci
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect9ms2stringEfPci
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect12float2stringEfPci
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect10int2stringEiPci
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect17__hasVuDeprecatedEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect19__hasClipDeprecatedEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect19__canMonoDeprecatedEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect32__setRealtimeQualitiesDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect31__setOfflineQualitiesDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect28__isInputConnectedDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect29__isOutputConnectedDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX9beginEditEi (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX7endEditEi (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX9ioChangedEv (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX16updateSampleRateEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX15updateBlockSizeEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX15getInputLatencyEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX16getOutputLatencyEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX11getTimeInfoEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX22getCurrentProcessLevelEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX18getAutomationStateEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX19getHostVendorStringEPc
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX20getHostProductStringEPc
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX20getHostVendorVersionEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX18hostVendorSpecificEilPvf
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX9canHostDoEPc (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX15getHostLanguageEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX7isSynthEb (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX6noTailEb (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX12getDirectoryEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX13updateDisplayEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX10sizeWindowEii
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX16openFileSelectorEP13VstFileSelect
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX17closeFileSelectorEP13VstFileSelect
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX19allocateArra
ngementEPP21VstSpeakerArrangementi (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX21deallocateAr
rangementEPP21VstSpeakerArrangement (target/vst2/Debug/Surge-Debug.so)
undefined symbol:
*ZN12AudioEffectX11copySpeakerEP20VstSpeakerPropertiesS1*
(target/vst2/Debug/Surge-Debug.so)
undefined symbol:
*ZN12AudioEffectX16matchArrangementEPP21VstSpeakerArrangementS1*
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX11offlineReadE
P14VstOfflineTask16VstOfflineOptionb (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX12offlineWrite
EP14VstOfflineTask16VstOfflineOption (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX12offlineStartEP12VstAudioFileii
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX21offlineGetCurrentPassEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX25offlineGetCurrentMetaPassEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX22__wantEventsDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX19__tempoAtDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX39__getNumAutomatableParametersDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX36__getParameterQuantizationDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX20__needIdleDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX27__getPreviousPlugDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX23__getNextPlugDeprecatedEi
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX32__willProcessReplacingDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX30__wantAsyncOperationDeprecatedEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX29__hasExternalBufferDeprecatedEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX31__setOutputSamplerateDeprecatedEf
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX38__getInputSpeakerArrangementDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX39__getOutputSpeakerArrangementDeprecatedEv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX22__openWindowDeprecatedEP21__VstWindowDeprecated
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX23__closeWindowDeprecatedEP21__VstWindowDeprecated
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX24__getChunkFileDeprecatedEPv
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZTI12AudioEffectX (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN6VSTGUI8soHandleE (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZTV12AudioEffectX (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect9setEditorEP10AEffEditor
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectXC2EPFlP7AEffectiilPvfEii
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffectD2Ev (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN11AudioEffect19canProcessReplacingEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12AudioEffectX6resumeEv (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN11AudioEffect17programsAreChunksEb
(target/vst2/Debug/Surge-Debug.so)
undefined symbol: _ZN12SurgeStorage11load_wt_wavENSt7__cxx1112basic_
stringIcSt11char_traitsIcESaIcEEEP9Wavetable (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: __cpuid (target/vst2/Debug/Surge-Debug.so)
undefined symbol: _Z19spawn_miniedit_textPci (target/vst2/Debug/Surge-
Debug.so)
undefined symbol: _ZN12AudioEffectX7isSynthEb (target/vst2/Debug/Surge-
Debug.so)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/kurasu/surge/issues/19#issuecomment-427011461>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABF9p0WODXWuIwRDvIfiRH4XnFH2YcSOks5uhggbgaJpZM4W80Nw>
.
|
So I tested building this after a few months and for the vst3 build I'm getting different errors, related to the GUI probably like for the macOS build. This is the process I followed to make this build: # Clone Premake5
git clone https://github.com/premake/premake-core.git
# Build it
cd premake-core
make -f Bootstrap.mak linux
# Exit
cd ..
git clone https://github.com/kurasu/surge.git
cd surge
# Clone submodules
git submodule update --init --recursive
# Copy premake5 binaries to the surge directory
cp ../premake-core/bin/release/premake5 .
# Build the makefile
./premake5 gmake2
# And the vst3
make After executing
So I think I will start looking for the |
@Jorgeelalto after cloning the repo, did you run this?
? let us know if you get a different set of errors then. |
Oops, yes, forgot to add that to the process. I ran that before compiling everything yes (I will add it to my comment). Those errors are thrown even with the submodule cloning. |
@Jorgeelalto what about trying to get VST2 to compile? |
Maybe there is an option to specify on premake5 so that it creates a makefile for a vst2 version, but just running Edit: checked previous replies to this issue, did the makefile generation changed? I can see we had vst2 makefiles some time ago. I'm using the latest master version. Edit 2: Never mind, looks like we have to set the env variable VST2SDK_DIR. |
So I managed to start building vst2 and I get a lot of errors of the type "CRect does not name a type", "CBitmap has not been declared". To me it looks like some kind of include problem, maybe the source code needs to be fed with some more .h files. I will try including some files manually. |
@Jorgeelalto since today this repo progressed with about 100 new commits being merged into master - could you check again and see if you're still getting these errors? |
For VST2 build the my commits were missing. I've created a new pull request (substitute for #70). |
I see, I will wait for that PR to be merged. I have tested with the latest version of the master branch but I get the same problems in both VST3 and VST2. |
PR is #111 |
@Jorgeelalto the PR is in, let us know how you fare with Linux builds now :) |
@Jorgeelalto it's probably a great idea to look at https://github.com/whydoubt/surge/tree/linux_storage (heads up @jsakkine) - this might eventually make it into a PR, maybe there's something useful coming in there? :) |
Just as an update, I took my ubuntu vm, pulled head, and built surge-app (not surge-vst3) and it linked no problem. I just needed to
first. |
surge-vst3 links for me also. No idea if it works. But at least on my vm (16.04.10 ubuntu with g++ 5.4.0) seems the recent spate of PRs have things linking. Just an FYI. |
@baconpaul what's |
Its @jsaskkine's work which got merged into the main branch. It doesn't work. But it does link! |
okay. looks like we could wait till @whydoubt pushes in his PR for this branch of his that's wip: anyway, nice to see that the linux work is being progressed by both @whydoubt and @jsakkine |
Greetings ! I can build the VST2 and VST3 plugin for Linux but neither will load in Bitwig, I always get the "Could not read plugin metadata" error. I also a ran a small VST2 debug program (from the VeeSeeVSTRack project) on the Surge binaries, the error reported "Could not find mainProc". Any suggestions ? Btw, I've been following this issue and building the code regularly. Unfortunately life events have prevented further involvement until now, hopefully I can help a bit towards getting a working Linux version of Surge. Linux Fedora 23 Best, dp |
Sorry I'll be for a while bit passive because my paid work on kernel takes all my time :) I'll become active when the holidays start. @whydoubt: sorry to interrupt ongoing work but it'd be nice if you could take the model that I proposed in https://github.com/kurasu/surge/issues/112 for Linux specific changes. |
@davephillips can you try and check the VSTs with http://github.com/tracktion/pluginval and let us know what the app says? |
@baconpaul: yeah it is essentially an explicit check that you have all the required VST2 files. |
@esaruoho No problem, I'm building it now. I'll report back asap. |
@GeorgeNs erhm, this is linux? AFAIK all the other users have a UI... |
@kzantow yeah guis showing up black on Linux reported earlier too - which is progress! Seems it may not be surge from the above report |
@kzantow yes linux, just ubuntu 18 with many extra tweaks and builds targeting audio processing and music making. @baconpaul thanks for confirming,it seems it'snot only me having this issue. In my case keeping an older vstgui version solved my problem. |
@GeorgeNs do you happen to know how far back you had to rev vstgui to get it to work? May help some of the above folks |
@baconpaul I tried it a long time ago,so if anyone can confirm that it is really so it would be nice. |
I've built it with the version mentioned by @GeorgeNs . |
trying to build examples from vstgui the vstgui4_6 , test fails ..
and I dunno how to build the examples in 4_6 , it only builds the libs |
FWIW, the code for the sample plugins and hosts is in the vst3_public_sdk repo. To build and test, you'll really need the whole vst3sdk (recusively cloned). When you build, links for each of the sample plugins are made in your ~/.vst3 folder. The sample hosts are put in the bin/Debug folder within the build folder. |
@kzantow reported for spam |
yes you need vst3sdk recursively cloned. What is inside in vstgui however is another story. |
@GeorgeNs You shouldn't need to delete and reclone. Just go into vstgui4, checkout either the |
Yes re-update I wanted to say..anyway,the matter is that if I get the latest vstgui and build the examples I will have black window,if I don't use the fresh and keep the 4_6 version the GUI of the examples shows up as expected |
Where is this going? Tried to Load VST2 plug-in on Linux with htop on. It eats all the system memory and crashes. I wonder what causes that memory leak. |
Created #250. Working on a fix for that one. |
@jsakkine can there be some sort of most minimal check of disabling everything possible and seeing if it still Eats up all the resources? |
@esaruoho, does not make sense to even think about that as long as there are null pointer dereferences and all kinds of crust in the way... I'll fix bugs one by one as I stump into them and then we see what is happening... |
@jsakkine if it helps here was basically my path to getting mac au working (which seems forever ago but was only about 30 days ago).
With that you can get an instance of SurgeSynthesizer.cpp up and running and making sound. (That may be a reasonable thing to put in standalone app!). Then you have to turn to the UI
With those two things fixed you stand a chance of actually getting a UI on screen I think. Hope that helps! |
Thanks @baconpaul. I have pretty good idea how I'm proceeding. Not exactly with such a high level plan but I just go forward one car crash at a time :) I will create a CControl for showing the error message on Linux. That is the only stable platform to do it. I'll catch the exception in the plug-in level and spawn that control there. |
And I solely focus on VST2 on Linux right now, ignoring everything else. |
Hey so after the weekend, linux builds and runs. Has bugs still but builds and runs. So I’m going to close this issue! The README has good instructions on how to build it if you’re finding out that it builds and runs for the first time through a github notification! |
Hey,that's really hard work,it works! |
.. hmm. the |
Really???yes pretty sure,I am on master branch |
Oh.for some reasonq Firefox engine results not the updated master branch. It's okay now! |
Thanks for DAW's like Ardour, Renoise, Bitwig and or Tracktion - Linux made its mark in the music world. Many plugin vendors did start already porting their products (check U-HE for example).
It would be great to have Linux build of this synth,
The text was updated successfully, but these errors were encountered: