Re: Help compiling pureVST
Alexandros Drymonitis <[email protected]>
| Newsgroups | gmane.comp.multimedia.puredata.general |
|---|---|
| Message-ID | <[email protected]> |
On 5/31/25 14:50, Miller Puckette wrote: > I've been trying to figure out how that could happen without success. > libpd should be defining the missing symbol > (s_signal). This is a shot int he dark but can you try "nm libpd.a" > from the .../pd/libpd directory? I get this: > > sp@bang:~/pd/libpd$ nm libpd.a |grep s_sig > 00000000000000a0 D s_signal I get the following: ``` U s_signal U s_signal U s_signal U s_signal ``` so I guess the symbol is missing. I tried deleting everything in the libpd directory (apart from the Makefile, README and the test_libpd directory) and to re-build it with `|make MORECFLAGS=-DVST_CLEANSER MORESRC=[...path-to...]/PureVST/source/vst_cleanser.c|` but the result is the same > > ... so libpd.a is defining the (apparently missing) symbol. If yours > is missing, then somehow the libpd.a build > missed including vst_cleanser.c from the pureVST source. But if yours > is present like mine is (which I expect you > to find) then something about the linker command is funny. You could > then run "cmake --build . --verbose" so that > we could both look at how the linker is getting invoked on our > respective systems. > > Meanwihle... in trying to recompile everything from scratch I now get > a problem further down the line (a segfault trying to run > Steinberg's 'validator'.) I had to start all over and add > -DSMTG_RUN_VST_VALIDATOR=FALSE to the cmake command - > then, unexpectedly, I was able to load the plugin under ardour and all > seemed fine. But something seems to be pretty > fragile here :) > > > Miller > > > On 5/30/25 3:16 PM, Alexandros Drymonitis wrote: >> Replying to list. I went a bit further, but got an error with `cmake >> --build .` after the selftests were run successfully. Here's the error: >> >> ``` >> [ 91%] Built target validator >> [ 91%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/test-patch.pd >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/test-patch.pd >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/test-patch.pd >> [ 91%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/Snapshots/32C50013FF5F5CB4871C312DB4F42368_snapshot.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/32C50013FF5F5CB4871C312DB4F42368_snapshot.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/Snapshots/32C50013FF5F5CB4871C312DB4F42368_snapshot.png >> [ 92%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/Snapshots/32C50013FF5F5CB4871C312DB4F42368_snapshot_2.0x.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/32C50013FF5F5CB4871C312DB4F42368_snapshot_2.0x.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/Snapshots/32C50013FF5F5CB4871C312DB4F42368_snapshot_2.0x.png >> [ 92%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/background.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/background.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/background.png >> [ 93%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/onoff_button.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/onoff_button.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/onoff_button.png >> [ 93%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/pdeditor.uidesc >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/pdeditor.uidesc >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/pdeditor.uidesc >> [ 93%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/slider_background.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/slider_background.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/slider_background.png >> [ 93%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/slider_handle.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/slider_handle.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/slider_handle.png >> [ 94%] Generating >> VST3/Release/PureVST.vst3/Contents/Resources/slider_handle_2.0x.png >> [SMTG] Copied >> /home/alex/Applications/puredata/PureVST-0.5/resource/slider_handle_2.0x.png >> to >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/Resources/slider_handle_2.0x.png >> [ 94%] Building CXX object >> CMakeFiles/PureVST.dir/source/pdprocessor.cpp.o >> [ 94%] Building CXX object >> CMakeFiles/PureVST.dir/source/pdcontroller.cpp.o >> [ 95%] Building CXX object CMakeFiles/PureVST.dir/source/pdentry.cpp.o >> [ 95%] Building CXX object >> CMakeFiles/PureVST.dir/home/alex/Applications/vst3sdk/public.sdk/source/main/linuxmain.cpp.o >> [ 95%] Linking CXX shared module >> VST3/Release/PureVST.vst3/Contents/x86_64-linux/PureVST.so >> dlopen failed. >> /home/alex/Applications/puredata/PureVST-0.5/build/VST3/Release/PureVST.vst3/Contents/x86_64-linux/PureVST.so: >> undefined symbol: s_signalgmake[2]: *** >> [CMakeFiles/PureVST.dir/build.make:207: >> VST3/Release/PureVST.vst3/Contents/x86_64-linux/PureVST.so] Error 1 >> gmake[2]: *** Deleting file >> 'VST3/Release/PureVST.vst3/Contents/x86_64-linux/PureVST.so' >> gmake[1]: *** [CMakeFiles/Makefile2:389: CMakeFiles/PureVST.dir/all] >> Error 2 >> gmake: *** [Makefile:91: all] Error 2 >> ``` >> >> >> On 5/30/25 12:30, Miller Puckette wrote: >>> I think you're almost there but now I'm goint to revise the README >>> to be more explicit. From the (empty) build directory >>> I type this: >>> >>> SRC=[...path-to...]/purevst >>> >>> cmake -DCMAKE_BUILD_TYPE=Release >>> -DSMTG_ENABLE_VST3_PLUGIN_EXAMPLES=FALSE >>> -DSMTG_ENABLE_VST3_HOSTING_EXAMPLES=FALSE -DHOME=$HOME $SRC >>> >>> (all on one line) and then this: >>> >>> cmake --build . >>> >>> It could be that as you looked at the README you saw the 'cmake >>> -DCMAKE_BUILD_TYPE=Release...' command broken into two lines - >>> I should find a way to prevent that from happening :) >>> >>> Miller >>> >>> On 5/30/25 9:57 AM, Alexandros Drymonitis wrote: >>>> OK, I downloaded PureVST (sorry, had to figure this out earlier) >>>> and unpacked it. I created a build directory and changed to that. I >>>> also corrected the paths to the VST3 SDK and Pd's source (well, >>>> Pd's directory that includes the src/ directory, not the actual >>>> src/ directory; that's what I got I should do from the >>>> CMakeLists.txt file) and I run: >>>> >>>> `cmake -DCMAKE_BUILD_TYPE=Release` >>>> >>>> but I got the following error: >>>> >>>> ``` >>>> CMake Warning: >>>> No source or binary directory provided. Both will be assumed to >>>> be the >>>> same as the current working directory, but note that this warning >>>> will >>>> become a fatal error in future CMake releases. >>>> >>>> >>>> CMake Error: The source directory >>>> "/home/alex/Applications/puredata/PureVST-0.5/build" does not >>>> appear to contain CMakeLists.txt. >>>> Specify --help for usage, or press the help button on the CMake GUI. >>>> ``` >>>> >>>> Perhaps something is missing in the command, like a double dot? I >>>> know nothing about CMake, so this could be rather trivial... >>>> >>>> On 5/30/25 10:22, Miller Puckette via Pd-list wrote: >>>>> Hmm... the directions could have been clearer, sorry.... >>>>> >>>>> vst_cleanser.c is in the pureVTS source, not in the Pd source. If >>>>> you've downloaded and unpacked the PureVST source tarball it >>>>> should be just "purevst/source/vst_cleanser.c". And yes, no >>>>> trailing period (I think my markdown-to-html converter remove the >>>>> space I had put between the filename and the period). >>>>> >>>>> and yes, 'wherever the sources landed" refers to the pureVST >>>>> source (currently >>>>> https://msp.ucsd.edu/tools/purevst/PureVST-0.5.src.tgz ) whic >>>>> need dwonloading and unpacking before even making this version of >>>>> libpd. >>>>> >>>>> cheers >>>>> Miller >>>>> >>>>> >>>>> On 5/30/25 8:39 AM, Alexandros Drymonitis wrote: >>>>>> >>>>>> I'm trying to compile pureVST from source on Debian 12. I built >>>>>> the VST SDK and following pureVST's README, I've gone up to the >>>>>> following step `make MORECFLAGS=-DVST_CLEANSER` insinde the libpd >>>>>> directory. >>>>>> >>>>>> I don't quite understand the following steps. Right after this, >>>>>> the README reads that I should type >>>>>> `MORESRC=../../work/vst/purevst/source/vst_cleanser.c.` >>>>>> >>>>>> Being inside the libpd directory, where will the two parent >>>>>> directories lead me, since the path starts with ../../? Also, >>>>>> where is this `work` directory supposed to be? Or `vst` and >>>>>> `purevst`? Are these directories Miller created in his system? >>>>>> >>>>>> I did a `find . -name vst_cleanser.c` from my home directory and >>>>>> found nothing (BTW, is the dot at the end supposed to be there?). >>>>>> >>>>>> Then the instructions follow like this: >>>>>> >>>>>> ``` >>>>>> >>>>>> Then using the PureVST source tree, consult the CMakeLists.txt >>>>>> file and correct the path settings for the VST SDK and for the Pd >>>>>> source. Then make an empty build directory, and using a shell or >>>>>> terminal window, change directory to the build directory and try >>>>>> to get these to work in sequence: >>>>>> >>>>>> |SRC=~/work/vst/purevst| >>>>>> >>>>>> [… or wherever the sources landed] >>>>>> >>>>>> |cmake -DCMAKE_BUILD_TYPE=Release >>>>>> -DSMTG_ENABLE_VST3_PLUGIN_EXAMPLES=FALSE >>>>>> -DSMTG_ENABLE_VST3_HOSTING_EXAMPLES=FALSE -DHOME=$HOME $SRC| >>>>>> >>>>>> |cmake --build .| >>>>>> >>>>>> ``` >>>>>> >>>>>> It mentions "or wherever the sources landed". Which sources? >>>>>> After building libpd? And in which directory should all the cmake >>>>>> command be executed? >>>>>> >>>>>> >>>>>> --- >>>>>> [email protected] - the Pure Data mailinglist >>>>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/G6WKC35RKLRYGKG6SBU7XNVVJJMAKKZO/__;!!Mih3wA!DFen_RjYHJNb45mR5Hyg6bFkcnp_5FiD-L8x3J77DDNf8kSeESnTcAvpifvoHQuLXlMtgG3c4g$ >>>>>> >>>>>> >>>>>> To unsubscribe send an email to [email protected] >>>>>> mailing list >>>>>> UNSUBSCRIBE and account-management -> >>>>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!DFen_RjYHJNb45mR5Hyg6bFkcnp_5FiD-L8x3J77DDNf8kSeESnTcAvpifvoHQuLXlNkw1GM2g$ >>>>> >>>>> >>>>> --- >>>>> [email protected] - the Pure Data mailinglist >>>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/TNRUNARSDQYEJRVRR7YXBKGVMEWZ5LSK/__;!!Mih3wA!EURYqzxhS_He9z-6PE0AFFJAE3XlM9Nxhvdcr9dGcpyw1ylz7W38fLqzqve9fW5vcKYm61iPow$ >>>>> >>>>> >>>>> To unsubscribe send an email to [email protected] mailing >>>>> list >>>>> UNSUBSCRIBE and account-management -> >>>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!EURYqzxhS_He9z-6PE0AFFJAE3XlM9Nxhvdcr9dGcpyw1ylz7W38fLqzqve9fW5vcKYH7gGC2w$ >>>> >>>> >>>> >>>> >>>> >>>> --- >>>> [email protected] - the Pure Data mailinglist >>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/TIRTMUGDE6MPPDG5JDZGATYQXCP5CXVB/__;!!Mih3wA!EURYqzxhS_He9z-6PE0AFFJAE3XlM9Nxhvdcr9dGcpyw1ylz7W38fLqzqve9fW5vcKYL9pcD7g$ >>>> >>>> To unsubscribe send an email to [email protected] mailing >>>> list >>>> UNSUBSCRIBE and account-management -> >>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!EURYqzxhS_He9z-6PE0AFFJAE3XlM9Nxhvdcr9dGcpyw1ylz7W38fLqzqve9fW5vcKYH7gGC2w$ >>> >>> >>> >>> >>> >> >> --- >> [email protected] - the Pure Data mailinglist >> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/II7K4ZFPH6QF4PYJ5MZJJ6PUSWZYBN62/__;!!Mih3wA!H13gOLNhjW0b3yIv3Mv32sdTdhORLrti5ptp8icO2d2-axGPFy0ONnZkiXgjTBRwNGWSwTaEgw$ >> >> To unsubscribe send an email to [email protected] mailing list >> UNSUBSCRIBE and account-management -> >> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!H13gOLNhjW0b3yIv3Mv32sdTdhORLrti5ptp8icO2d2-axGPFy0ONnZkiXgjTBRwNGXCIV33JQ$ > > > --- [email protected] - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/[email protected]/message/ONACOAA2TPVCFNFLSXB6TSZA7QH5KZE6/ To unsubscribe send an email to [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/