FreeBSD Build Instructions
The website says plugdata can run on FreeBSD when compiled from scratch.
Are there build instructions? I get errors when I try:
$ cmake --build .
[ 1%] Built target juce
[ 2%] Built target BinaryData
[ 2%] Built target nanovg
[ 2%] Building CXX object CMakeFiles/plugdata_core.dir/Source/Canvas.cpp.o
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:13:
/home/y/Downloads/plugdata/plugdata/Libraries/pure-data/src/m_imp.h:69:5: error: unknown type name 't_classfreefn'
69 | t_classfreefn c_classfreefn; /* function to call before freeing class */
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:71:72: error: member access into incomplete type 'struct _pdinstance'
71 | return reinterpret_cast<_instanceeditor*>(libpd_this_instance()->pd_gui->i_editor);
| ^
/usr/local/include/m_pd.h:796:15: note: forward declaration of '_pdinstance'
796 | EXTERN_STRUCT _pdinstance;
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:194:34: error: member access into incomplete type 'struct _pdinstance'
194 | libpd_this_instance()->pd_newest = nullptr;
| ^
/usr/local/include/m_pd.h:796:15: note: forward declaration of '_pdinstance'
796 | EXTERN_STRUCT _pdinstance;
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:196:38: error: member access into incomplete type 'struct _pdinstance'
196 | if (libpd_this_instance()->pd_newest) {
| ^
/usr/local/include/m_pd.h:796:15: note: forward declaration of '_pdinstance'
796 | EXTERN_STRUCT _pdinstance;
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:198:58: error: member access into incomplete type 'struct _pdinstance'
198 | if (&y->g_pd == libpd_this_instance()->pd_newest)
| ^
/usr/local/include/m_pd.h:796:15: note: forward declaration of '_pdinstance'
796 | EXTERN_STRUCT _pdinstance;
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:219:13: error: use of undeclared identifier 'outconnect_set_path_data'
219 | outconnect_set_path_data(oc, new_connection_path);
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:410:30: error: member access into incomplete type 'struct _pdinstance'
410 | libpd_this_instance()->pd_newest = nullptr;
| ^
/usr/local/include/m_pd.h:796:15: note: forward declaration of '_pdinstance'
796 | EXTERN_STRUCT _pdinstance;
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:17:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/Patch.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:537:62: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
537 | vmess(&new_object->g_pd, gensym("loadbang"), "f", LB_LOAD);
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:727:28: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
727 | binbuf_addv(b, "ssiiiisi;", gensym("#N"), gensym("canvas"),
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:737:28: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
737 | binbuf_addv(b, "ssiiiii;", gensym("#N"), gensym("canvas"),
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:753:32: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
753 | binbuf_addv(b, "ssiiii;", gensym("#X"), gensym("connect"),
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:756:32: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
756 | binbuf_addv(b, "ssiiiis;", gensym("#X"), gensym("connect"),
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:767:32: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
767 | binbuf_addv(b, "ssfffffffff;", gensym("#X"), gensym("coords"),
| ^
/home/y/Downloads/plugdata/plugdata/Source/Pd/Interface.h:775:32: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
775 | binbuf_addv(b, "ssfffffff;", gensym("#X"), gensym("coords"),
| ^
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.cpp:12:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Canvas.h:22:
In file included from /home/y/Downloads/plugdata/plugdata/Source/Pd/MessageListener.h:8:
/home/y/Downloads/plugdata/plugdata/Source/Pd/Instance.h:35:9: error: no matching function for call to 'binbuf_text'
35 | binbuf_text(binbuf, str.toRawUTF8(), str.getNumBytesAsUTF8());
| ^~~~~~~~~~~
/usr/local/include/m_pd.h:350:13: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
350 | EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size);
| ^ ~~~~~~~~~~
7 warnings and 8 errors generated.
*** Error code 1
Stop.
make[2]: stopped in /home/y/Downloads/plugdata/plugdata/build
*** Error code 1
Stop.
make[1]: stopped in /home/y/Downloads/plugdata/plugdata/build
*** Error code 1
Stop.
make: stopped in /home/y/Downloads/plugdata/plugdata/build
I'm following the instructions from the README:
git clone --recursive https://github.com/plugdata-team/plugdata.git
cd plugdata
mkdir build && cd build
cmake .. (the generator can be specified using -G"Unix Makefiles", -G"XCode" or -G"Visual Studio 16 2019" -A x64)
cmake --build .
Any experts out there who can provide insight?
OS: FreeBSD 14.2 CPU: AMD 5700U
Sorry, responded to the wrong issue before.
Looks like I accidentally broke FreeBSD building, it was working at some point. I'll get it back up soon!
Should be fixed on develop now. It compiles for me on FreeBSD 15.0 with these instructions:
git clone --recursive https://github.com/plugdata-team/plugdata.git
cd plugdata
cmake -BBuild -DQUICK_BUILD=1
cmake --build Build
I still get the error on 14.2. I'll try it on 15.0 when I get home next week. Thanks for looking into this.
On Tue, Jul 15, 2025 at 10:25 AM Timothy Schoen @.***> wrote:
timothyschoen left a comment (plugdata-team/plugdata#2111) https://github.com/plugdata-team/plugdata/issues/2111#issuecomment-3073841755
Should be fixed on develop now. It compiles for me on FreeBSD 15.0 with these instructions:
git clone --recursive https://github.com/plugdata-team/plugdata.git cd plugdata cmake -BBuild -DQUICK_BUILD=1 cmake --build Build
— Reply to this email directly, view it on GitHub https://github.com/plugdata-team/plugdata/issues/2111#issuecomment-3073841755, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQMRLJBR5GVCXQJDNXWDEJD3IUFONAVCNFSM6AAAAAB3XVGV22VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANZTHA2DCNZVGU . You are receiving this because you authored the thread.Message ID: @.***>