# Unable to add fluid\_libmanipulation library to the startup preferences (Debian 12.1)

**URL:** https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100
**Category:** Bug Reports and Issues
**Created:** [September 7, 2023, 1:54pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100 "2023-09-07T13:54:39Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 7, 2023, 1:54pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/1 "2023-09-07T13:54:39Z")

</div>

I’m on Debian 12.1

When trying to install `fluid_libmanipulation` library to the startup preferences, I get this error log:

_invalid command name “.gui\_preferences.content.frames.f1.listbox.box”_  
_invalid command name “.gui\_preferences.content.frames.f1.listbox.box”_  
_while executing_  
_“$mytoplevel.listbox.box index active”_  
_(procedure “get\_curidx” line 2)_  
_invoked from within_  
_“get\_curidx $mytoplevel”_  
_(procedure “::scrollbox::add\_item” line 7)_  
_invoked from within_  
_“::scrollbox::add\_item .gui\_preferences.content.frames.f1 {}”_  
_invoked from within_  
_“.gui\_preferences.content.frames.f1.actions.add\_path invoke”_  
_(“uplevel” body line 1)_  
_invoked from within_  
_“uplevel #0 [list $w invoke]”_  
_(procedure “tk::ButtonUp” line 22)_  
_invoked from within_  
_“tk::ButtonUp .gui\_preferences.content.frames.f1.actions.add\_path”_  
_(command bound to event)_

From my understanding, these commands come from the file “fluid\_libmanipulation.pd\_linux”… Is it possible it is not adapted to my distribution ? Something like that happened to me with another PD library recently

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 7, 2023, 5:00pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/2 "2023-09-07T17:00:29Z")

</div>

Hello @Bazil_Muzik

I read this, and actually that looks like a tcltk error, which mean that would be your version of Pd. Are you using the official plain vanilla one, or anything else with another gui?

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 8, 2023, 3:07pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/3 "2023-09-08T15:07:33Z")

</div>

Hello @tremblap !

Thanks for your answer. I get this error on plain vanilla, version 0.54.0.

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 8, 2023, 3:50pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/4 "2023-09-08T15:50:57Z")

</div>

ok is your linux 64bit?

if yes, then we have made sure that compiling yourself is straightforward and that might sort the issue. I have ubuntu20 on my machine and it works from the download, and I know @rodrigo.constanzo has compiled for Bela so that is also possible. but i know there are binding issues with older OSes…

---

<div class="post-metadata">

### Author: ![rodrigo.constanzo](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/rodrigo.constanzo/32/12_2.png) [@rodrigo.constanzo](https://discourse.flucoma.org/u/rodrigo.constanzo)
#### Post date: [September 8, 2023, 4:02pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/5 "2023-09-08T16:02:28Z")

</div>

The pd/linux stuff I’ve done has been with @jarm’s compile, so it was a matter of getting those versions _onto_ the Bela. I don’t really know much beyond that in terms of compilation and such.

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 11, 2023, 1:01pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/6 "2023-09-11T13:01:51Z")

</div>

Hello !  
Thank you all for your answers. I must say I’m a bit lost between flucoma-pd, flocuma-core, etc.  
Where do I start for compiling myself (I’m a relatively new Linux user) ? And yes, I’m on Linux 64-bit !  
Regards

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 11, 2023, 10:11pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/7 "2023-09-11T22:11:12Z")

</div>

the beauty of the compilation process is that it will download everything for you (incuding core and docs and everything except what is on that list - cmake mostly

If you follow the instructions here, let me know where you get stalled, and I’ll help (and improve the instructions!)

> **[GitHub - flucoma/flucoma-pd: Fluid Corpus Manipulation objects for Pure Data](https://github.com/flucoma/flucoma-pd)**
>
> Fluid Corpus Manipulation objects for Pure Data. Contribute to flucoma/flucoma-pd development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 12, 2023, 7:24pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/8 "2023-09-12T19:24:29Z")

</div>

Thanks a lot for your help !

So, I cloned the git repo for flucoma-pd, then created the “build” folder and cd to there, used cmake with the path where I cloned the repo, and finally used make install… And… nothing works haha !

I’m totally lost, I did it twice. First time I launched the install from the cloned repo, and not from build, so by doing it from the “build” folder I thought it might solve the issue, which well, wasn’t the case… Also I saw in the Readme file that I’m supposed to have a “release-packaging” after all that, and I’m not able to find it… I absolutely don’t understand the architecture I end up with, and also got 2 fatal errors at the end of make install (ofc I closed the terminal and forgot to copied them)…

Help ?

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 12, 2023, 10:19pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/9 "2023-09-12T22:19:54Z")

</div>

> [@Bazil\_Muzik](#):
>
> Help ?

One step at a time.

1. You clone the repo.

2. you make sure you have cmake

3. you make sure you have Pd

===  
if that is all true, then you run cmake as it says, with the link to libPd, from the build folder.

`cmake -DPD_PATH=</path/to/api> ..`

would be in may case

`cmake -DPD_PATH=/Application/Pd-0.54-0.app/Contents/Resources/ ..`

because on Mac the Pd api is shipped within the application. On Linux I don’t know but it can’t be very far.

that cmake should either work or give you errors. if the latter, paste them here and we’ll see!

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 14, 2023, 1:01pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/10 "2023-09-14T13:01:07Z")

</div>

So, what is meant by path to API is path to libpd ?

I located an empty libpd folder on my computer, and included it in -DPD\_PATH… I still got this fatal error:

Building C object CMakeFiles/fluid.waveform.dir/src/fluid.waveform/fluid.waveform.c.o  
cc1: warning: command-line option ‘-fpermissive’ is valid for C++/ObjC++ but not for C  
/home/basile/flucoma-pd/src/fluid.waveform/fluid.waveform.c:21:10: fatal error: g\_canvas.h: Aucun fichier ou dossier de ce type  
21 | #include “g\_canvas.h”  
| ^ ~~~~~~~~~~~  
compilation terminated.  
make[2]: \*\*\* [CMakeFiles/fluid.waveform.dir/build.make:76 : CMakeFiles/fluid.waveform.dir/src/fluid.waveform/fluid.waveform.c.o] Erreur 1  
make[1]: \*\*\* [CMakeFiles/Makefile2:2012 : CMakeFiles/fluid.waveform.dir/all] Erreur 2  
make: \*\*\* [Makefile:136 : all] Erreur 2

Next to the libpd folder, there is a pd folder, where the file g\_ganvas.h actually is. So I retried with -DPD\_PATH targetting this folder instead… Still the same fatal error…

On my computer there are different places that contains stuff for PD. E.g. some things are in /usr/lib/, others like libpd are in /usr/local/include/, and libraries I install from Dekken go to Documents/pd/externals (and here only). As far as I can tell, I haven’t such thing as an API folder where “everything” is, like the /Content/Ressources/ you mention.

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 14, 2023, 1:55pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/11 "2023-09-14T13:55:02Z")

</div>

yes that is your problem - for any pd external one need to point at the Pd code so the external knows ‘how to speak’ to the application.

On Linux, I don’t have a running install now, so I cannot say off the top of my head where it lies. I think you have to download pd’s source (again a single git command) but maybe @weefuzzy remembers - otherwise I’ll be able to tell you tomorrow when I get back in front of my working linux…

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 14, 2023, 7:28pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/12 "2023-09-14T19:28:44Z")

</div>

Haaa ok, at least something makes sense for me haha

Ok let’s wait and see what’s the solution 🙂 I won’t be home a lot this week-end so probably won’t be able to check before next monday !

---

<div class="post-metadata">

### Author: ![weefuzzy](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/weefuzzy/32/362_2.png) [@weefuzzy](https://discourse.flucoma.org/u/weefuzzy)
#### Post date: [September 18, 2023, 4:26pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/13 "2023-09-18T16:26:42Z")

</div>

I think all that’s required on Linux is to grab a PD source distribution and point at its root folder.

If one looks at the [commands spat out by our github runners](https://github.com/flucoma/flucoma-pd/actions/runs/6076280167/job/16484000842#step:4:22), that’s what they do:

```auto
  git clone https://github.com/pure-data/pure-data.git sdk
Cloning into 'sdk'...
  cmake -GNinja -DPD_PATH=../sdk <some other stuff> ..

```

So that’s cloning the PD source into a directory called `sdk`. You don’t have to do that, of course (and you obviously don’t have to do it every time!)

---

<div class="post-metadata">

### Author: ![Bazil\_Muzik](https://discourse.flucoma.org/letter_avatar_proxy/v4/letter/b/5f8ce5/32.png) [@Bazil\_Muzik](https://discourse.flucoma.org/u/Bazil_Muzik)
#### Post date: [September 18, 2023, 8:47pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/14 "2023-09-18T20:47:08Z")

</div>

Ok this time it worked perfectly 🙂 So yeah, things would maybe be easier if it was mentioned somewhere that one needs the pd source code, which is then used for -DPD\_PATH. The “\<path/to/api\>” thing doesn’t make it really obvious, at least for someone like me who rarely builds from scratch (especially pd libraries which are done more and more through dekken).

Oh by the way, I saw there’s a mistake in the examples: every sound files are searched in a “/help/media” folder which doesn’t exist. They all are in “/media/” (no “help” folder in the final constructed project).

Anyway, thanks a lot for your help !

---

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [September 19, 2023, 8:32am UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/15 "2023-09-19T08:32:02Z")

</div>

the folder thing is strange… it might be a packaging thing, I’ll check

---

<div class="post-metadata">

### Author: ![weefuzzy](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/weefuzzy/32/362_2.png) [@weefuzzy](https://discourse.flucoma.org/u/weefuzzy)
#### Post date: [September 19, 2023, 5:36pm UTC](https://discourse.flucoma.org/t/unable-to-add-fluid-libmanipulation-library-to-the-startup-preferences-debian-12-1/2100/16 "2023-09-19T17:36:10Z")

</div>

It’s possible those docs might have been written in a bit of a hurry! 😬 We can definitely improve that!

(and yeah, there’s a bunch of stuff that one just starts taking for granted with the scar tissue of doing a lot of C/C++ building and forgets is non-obvious to start with…)
