<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hah, ok. I suppose this is a good nudge to make a libpd 0.12.0 release then.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Feb 15, 2019, at 6:52 PM, Joseph Larralde <<a href="mailto:joseph.larralde@gmail.com" class="">joseph.larralde@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    Ok, I finally got the addon to compile and run correctly (tests
    passed !)<br class="">
    The answer was simple : just use the master branch of libpd.<br class="">
    I started tweaking the Makefile of v0.11.0 to include g_undo.c
    (which I noticed was containing the canvas_undo_undo function) in
    the sources but it was not sufficient.<br class="">
    So I grabbed the master branch after seeing it seemed more
    up-to-date, and voilà.<br class="">
    I still need to test this local version with the node project that
    loads externals, but at least I have my own working local version
    which I can modify at will.<br class="">
    <br class="">
    Thanks again for the help, I'll let you know how this goes with
    externals.<br class="">
    Joseph<br class="">
    <br class="">
    <div class="moz-cite-prefix">Le 15/02/19 à 15:11, Joseph Larralde a
      écrit :<br class="">
    </div>
    <blockquote type="cite" cite="mid:bc83aa34-2bf0-3c9c-3cf9-13891bb600b6@gmail.com" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      For the moment I'm using the default Makefile of libpd (version
      tagged 0.11.0), which makes use of the -DHAVE_LIBDL flag.<br class="">
      It can't find the HAVE_LIBPD definition anywhere, though ... is
      this normal ?<br class="">
      Sorry for my lack of knowledge of autotools, makefile, etc, but
      should I add `HAVE_LIBPD =` at the beginning of the Makefile ?
      (e.g. after `LIBPD_IMPLIB =` and `LIBPD_DEF =` lines ?)<br class="">
      Or should it be added to the cflags with -DHAVE_LIBPD ?<br class="">
      <br class="">
      I added both and the addon builds fine (I got rid of the char *
      related errors by adding the -fpermissive flag), but I still get
      stuck when trying to run the js automated tests :<br class="">
      they fail with an `undefined symbol` error, the undefined symbol
      being `canvas_undo_undo`.<br class="">
      Sounds familiar to anybody ?<br class="">
      I have no idea how to solve this ...<br class="">
      <br class="">
      Thanks,<br class="">
      Joseph<br class="">
      <br class="">
      <div class="moz-cite-prefix">Le 14/02/19 à 14:32, Dan Wilcox a
        écrit :<br class="">
      </div>
      <blockquote type="cite" cite="mid:CAEf=z08_ZxTNVVrzwV7z-+BFwy0=gMs3ZeaFjnA2Ab8zEziCUg@mail.gmail.com" class="">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8" class="">
        <div dir="ltr" class="">If you're building libpd via a custom Makefile,
          see the flags used in the libpd Makefile. Also, if you're
          using the libpd Makefile, double-check that HAVE_LIBPD is
          being defined.</div>
        <br class="">
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Thu, Feb 14, 2019 at 2:30
            PM Joseph Larralde <<a href="mailto:joseph.larralde@gmail.com" moz-do-not-send="true" class="">joseph.larralde@gmail.com</a>>
            wrote:<br class="">
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
            <div bgcolor="#FFFFFF" class=""> Thank you Dan for your explanation.<br class="">
              And thanks everyone for helping.<br class="">
              <br class="">
              Yesterday I tried to recompile the node addon to use it
              locally but got into other trouble.<br class="">
              I first recompiled libpd with MULTI=false after Christof's
              suggestion (to enable the PDINSTANCE flag) but node-gyp
              was the first wall I was still hitting.<br class="">
              It seems there are still some slight updates I need to do
              in the addon's code (I got some char * vs const char *
              error).<br class="">
              Your 3rd point makes obvious sense and I'll try this in
              the first place today.<br class="">
              <br class="">
              Joseph<br class="">
              <br class="">
              <div class="gmail-m_3399932457901766906moz-cite-prefix">Le
                14/02/19 à 13:07, Dan Wilcox a écrit :<br class="">
              </div>
              <blockquote type="cite" class="">
                <div dir="ltr" class="">
                  <div dir="ltr" class="">
                    <div dir="ltr" class="">
                      <div class="">A few things:</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">1. libpd does not use any paths, settings,
                        audio/midi backends, etc from desktop pd. It is
                        only the core and less than "pd without the
                        gui." This is by design as it makes no
                        assumptions about the environment since it can
                        be running in all manner of places. This means
                        it will only search paths relative to an opened
                        patch and those added explicitly by
                        llibpd_add_to_search_path().</div>
                      <div dir="ltr" class=""><br class="">
                      </div>
                      <div class="">2. Loading an external, whether it was
                        compiled against 0.47 or 0.49 should work as,
                        largely, the pd API has not changed that much.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">3. libpd needs to be built with -DHAVE_LIBDL
                        in order to be able to load separate,
                        precompiled externals.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">4. Some environments do *not* allow loading
                        dynamic libraries for legal/security reasons,
                        ie. iOS. I don't this is the problem, but it's
                        good to know...</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">I image you're issue is more to do with 3.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="gmail_quote">
                        <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Message:
                          1<br class="">
                          Date: Wed, 13 Feb 2019 15:04:19 +0100<br class="">
                          From: Joseph Larralde <<a href="mailto:joseph.larralde@gmail.com" target="_blank" moz-do-not-send="true" class="">joseph.larralde@gmail.com</a>><br class="">
                          To: Giulio Moro <<a href="mailto:giuliomoro@yahoo.it" target="_blank" moz-do-not-send="true" class="">giuliomoro@yahoo.it</a>>,
                          Lucas Cordiviola<br class="">
                                  <<a href="mailto:lucarda27@hotmail.com" target="_blank" moz-do-not-send="true" class="">lucarda27@hotmail.com</a>>,
                          pd-dev <<a href="mailto:pd-dev@lists.iem.at" target="_blank" moz-do-not-send="true" class="">pd-dev@lists.iem.at</a>><br class="">
                          Subject: Re: [PD-dev] libpd search paths<br class="">
                          Message-ID: <<a href="mailto:2354c1c4-e6db-9143-1402-76dcd37b43a8@gmail.com" target="_blank" moz-do-not-send="true" class="">2354c1c4-e6db-9143-1402-76dcd37b43a8@gmail.com</a>><br class="">
                          Content-Type: text/plain; charset="utf-8";
                          Format="flowed"<br class="">
                          <br class="">
                          Mmmh you might have found the clue ...<br class="">
                          Actually I built the externals against pd
                          version 0.49-0 and it makes <br class="">
                          sense that they load properly with the same
                          version.<br class="">
                          node-libpd comes with an arm libpd binary
                          which seems to come from an <br class="">
                          older version of pd (added 1 year ago).<br class="">
                          I can already tell that it's not an
                          architecture issue because <br class="">
                          everything is working on my pi : the addon is
                          loading and running <br class="">
                          abstractions when used in a node program, and
                          pd is loading and running <br class="">
                          my externals.<br class="">
                          Only loading my externals from node-libpd
                          doesn't work.<br class="">
                          Still trying to get a local version of
                          node-libpd to work ... then I'll <br class="">
                          replace the libpd.so with one that I'll build
                          from the latest version.<br class="">
                          I can't see another explanation.<br class="">
                          Do you know something about incompatibilities
                          between different versions <br class="">
                          of pd ?<br class="">
                          The libpd.so used by the addon is probably not
                          older than 0.47<br class="">
                        </blockquote>
                      </div>
                      <br clear="all" class="">
                      <div class=""><br class="">
                      </div>
                      -- <br class="">
                      <div dir="ltr" class="gmail-m_3399932457901766906gmail_signature">
                        <div dir="ltr" class="">
                          <div class="">Dan Wilcox</div>
                          <div class="">@danomatika<br class="">
                            <a href="http://danomatika.com/" target="_blank" moz-do-not-send="true" class="">danomatika.com</a><br class="">
                            <a href="http://robotcowboy.com/" target="_blank" moz-do-not-send="true" class="">robotcowboy.com</a></div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
              <br class="">
            </div>
          </blockquote>
        </div>
        <br clear="all" class="">
        <div class=""><br class="">
        </div>
        -- <br class="">
        <div dir="ltr" class="gmail_signature">
          <div dir="ltr" class="">
            <div class="">Dan Wilcox</div>
            <div class="">@danomatika<br class="">
              <a href="http://danomatika.com/" target="_blank" moz-do-not-send="true" class="">danomatika.com</a><br class="">
              <a href="http://robotcowboy.com/" target="_blank" moz-do-not-send="true" class="">robotcowboy.com</a></div>
          </div>
        </div>
      </blockquote>
      <br class="">
    </blockquote>
    <br class="">
  </div>

</div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">--------</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Dan Wilcox</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://twitter.com/danomatika" class="">@danomatika</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://danomatika.com" class="">danomatika.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://robotcowboy.com" class="">robotcowboy.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>