Re: Help compiling pureVST

Miller Puckette via Pd-list <[email protected]>
Newsgroups gmane.comp.multimedia.puredata.general
Message-ID <[email protected]>
Hmm... I've been building libpd in .../pd/libpd using the included 
makefile, which I think builds ".o"
files that get plunked into the libpd directory, without referring to 
the ones used to build the Pd
app itself.  But if that's not safe I'd better change my ways :)

Miller


On 5/31/25 5:01 PM, Dan Wilcox wrote:
> Did you build desktop or on that same dir? If so, you need to clean it 
> as it doesn't use multiple instances.
>
> enohp ym morf tnes
> -----------
> Dan Wilcox
> danomatika.com
> robotcowboy.com
>
>
>> On May 31, 2025, at 4:16 PM, Alexandros Drymonitis <[email protected]> 
>> wrote:
>>
>> 
>>
>>
>> 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/ 
>> <https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/ONACOAA2TPVCFNFLSXB6TSZA7QH5KZE6/__;!!Mih3wA!GwioqHVz2NJb6qQ_ulbW6dl93xxtdRGL09f75VrVlsv9I4cGjByATpkhsAbf4b7s8siQWPByswFMVRY$>
>>
>> To unsubscribe send an email to [email protected] mailing list
>> UNSUBSCRIBE and account-management -> https://lists.iem.at/ 
>> <https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!GwioqHVz2NJb6qQ_ulbW6dl93xxtdRGL09f75VrVlsv9I4cGjByATpkhsAbf4b7s8siQWPByrMZobbE$>


---
[email protected] - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/[email protected]/message/CMGYS4S572XKYVCKQKZYTB4ZFUKADF7N/

To unsubscribe send an email to [email protected] mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.