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?
>>>>>>
>>>>>>
>>>>>> ---
>>>>>> pd-list(a)lists.iem.at - the Pure Data mailinglist
>>>>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-list@li…
>>>>>>
>>>>>>
>>>>>> To unsubscribe send an email to pd-list-leave(a)lists.iem.at
>>>>>> mailing list
>>>>>> UNSUBSCRIBE and account-management ->
>>>>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!DFen_RjYHJNb45…
>>>>>
>>>>>
>>>>> ---
>>>>> pd-list(a)lists.iem.at - the Pure Data mailinglist
>>>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-list@li…
>>>>>
>>>>>
>>>>> To unsubscribe send an email to pd-list-leave(a)lists.iem.at mailing
>>>>> list
>>>>> UNSUBSCRIBE and account-management ->
>>>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!EURYqzxhS_He9z…
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---
>>>> pd-list(a)lists.iem.at - the Pure Data mailinglist
>>>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-list@li…
>>>>
>>>> To unsubscribe send an email to pd-list-leave(a)lists.iem.at mailing
>>>> list
>>>> UNSUBSCRIBE and account-management ->
>>>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!EURYqzxhS_He9z…
>>>
>>>
>>>
>>>
>>>
>>
>> ---
>> pd-list(a)lists.iem.at - the Pure Data mailinglist
>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-list@li…
>>
>> To unsubscribe send an email to pd-list-leave(a)lists.iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!H13gOLNhjW0b3y…
>
>
>