I'm trying to compile the [pyo~] external that comes with the Pyo module for DSP in Python http://ajaxsoundstudio.com/software/pyo/. The object uses Pd's old Makefile and does compile, giving me a pyo~.l_ia64 binary file (I'm on Linux, UbuntuStudio 22.04). When I try to load the object in Pd, I get the following error:

`/home/alexandros/Documents/Pd/externals/pyo/pyo~.l_ia64: /home/alexandros/Documents/Pd/externals/pyo/pyo~.l_ia64: undefined symbol: _Py_NoneStruct`

The same object compiles fine on a Rasbperry Pi 3 and 4.

I also tried to compile it with pd-lib-builder. Here's the Makefile I used, based on the existing Makefile that comes with pyo~.c:

```
lib.name= pyo~

class.sources= pyo~.c

common.sources= m_pyo.h

cflags= -I"$(PD_INCLUDE)" -I.. -Wno-cast-function-type -Wno-unused-parameter $(shell python-config --cflags)
ldflags= $(shell python-config --ldflags)
libs= $(shell python-config --libs)

datafiles= pyo-help.pd README.md

PDLIBBUILDER_DIR=../pd-lib-builder/
include$(PDLIBBUILDER_DIR)/Makefile.pdlibbuilder

```

And here's the output when I type `make`:

```
++++ info: using Makefile.pdlibbuilder version 0.6.0
++++ info: using Pd API /usr/include/pd/m_pd.h
++++ info: making target all in lib pyo~
++++ info: making pyo~.o in lib pyo~
cc -DPD -I "/usr/include/pd" -DUNIX  -fPIC -I"" -I.. -Wno-cast-function-type -Wno-unused-parameter -I/usr/include/python3.10 -I/usr/include/python3.10  -Wno-unused-result -Wsign-compare -g      -fstack-protector-strong -Wformat -Werror= format-security  -DNDEBUG -g -fwrapv -O2 -Wall -Wall -Wextra -Wshadow -Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops -fomit-frame-pointer -march=core2 -mfpmath=sse -msse -msse2 -msse3 -o pyo~.o -c pyo~.c make: *** No rule to make target 'm_pyo.o', needed by 'pyo~.pd_linux'.  Stop.

```

In the pyo~.c file there's a `#include "Python.h"`. Does this mean that I should direct the Makefile to find this file? Because no Python.h file comes with the source code.

Can anyone help?
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to