<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I'm trying to compile the [pyo~] external that comes with the Pyo
      module for DSP in Python <a class="moz-txt-link-freetext" href="http://ajaxsoundstudio.com/software/pyo/">http://ajaxsoundstudio.com/software/pyo/</a>.
      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:</p>
    <p>`/home/alexandros/Documents/Pd/externals/pyo/pyo~.l_ia64:
      /home/alexandros/Documents/Pd/externals/pyo/pyo~.l_ia64: undefined
      symbol: _Py_NoneStruct`</p>
    <p>The same object compiles fine on a Rasbperry Pi 3 and 4.<br>
    </p>
    <p>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:</p>
    <p>```<br>
      <span style="font-family:monospace"><span
          style="color:#000000;background-color:#ffffff;">lib.name</span><span
          style="color:#b21818;background-color:#ffffff;"> = </span><span
          style="color:#000000;background-color:#ffffff;">pyo~
        </span><br>
        <br>
        class.sources<span
          style="color:#b21818;background-color:#ffffff;"> = </span><span
          style="color:#000000;background-color:#ffffff;">pyo~.c
        </span><br>
        <br>
        common.sources<span
          style="color:#b21818;background-color:#ffffff;"> = </span><span
          style="color:#000000;background-color:#ffffff;">m_pyo.h
        </span><br>
        <br>
        cflags<span style="color:#b21818;background-color:#ffffff;"> = </span><span
          style="color:#000000;background-color:#ffffff;">-I"</span><span
          style="color:#1818b2;background-color:#ffffff;">$(PD_INCLUDE)</span><span
          style="color:#000000;background-color:#ffffff;">" -I..
          -Wno-cast-function-type -Wno-unused-parameter $(shell
          python-config --cflags)
        </span><br>
        ldflags<span style="color:#b21818;background-color:#ffffff;"> =
        </span><span style="color:#000000;background-color:#ffffff;">$(shell
          python-config --ldflags)
        </span><br>
        libs<span style="color:#b21818;background-color:#ffffff;"> = </span><span
          style="color:#000000;background-color:#ffffff;">$(shell
          python-config --libs)
        </span><br>
        <br>
        datafiles<span style="color:#b21818;background-color:#ffffff;">
          = </span><span
          style="color:#000000;background-color:#ffffff;">pyo-help.pd
          README.md
        </span><br>
        <br>
        PDLIBBUILDER_DIR=../pd-lib-builder/
        <br>
        <span style="color:#b218b2;background-color:#ffffff;">include</span><span
          style="color:#000000;background-color:#ffffff;"> </span><span
          style="color:#1818b2;background-color:#ffffff;">$(PDLIBBUILDER_DIR)</span><span
          style="color:#000000;background-color:#ffffff;">/Makefile.pdlibbuilder</span><br>
      </span></p>
    <p>```</p>
    <p>And here's the output when I type `make`:</p>
    <p>```<br>
      <span style="font-family:monospace"><span
          style="color:#000000;background-color:#ffffff;">++++ info:
          using Makefile.pdlibbuilder version 0.6.0
        </span><br>
        ++++ info: using Pd API /usr/include/pd/m_pd.h
        <br>
        ++++ info: making target all in lib pyo~
        <br>
        ++++ info: making pyo~.o in lib pyo~
        <br>
        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=<br>
        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
        <br>
        make: *** No rule to make target 'm_pyo.o', needed by
        'pyo~.pd_linux'.  Stop.<br>
      </span></p>
    <p>```</p>
    <p>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.<br>
    </p>
    <p>Can anyone help?<br>
    </p>
  </body>
</html>