plugdata icon indicating copy to clipboard operation
plugdata copied to clipboard

FreeBSD Build Instructions

Open jackgriffith03 opened this issue 8 months ago • 3 comments

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

jackgriffith03 avatar Apr 24 '25 00:04 jackgriffith03