<div dir="ltr">wow, thanks, I'm reporting back to the user to see if it's exactly this.<div><br></div><div>Now, this seems to be a problem just for windows, right? Loading zexy before sfont~ here on mac is ok</div><div><br></div><div>cheers</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em dom., 1 de jan. de 2023 às 07:18, Christof Ressi <<a href="mailto:info@christofressi.com">info@christofressi.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hi Alex,</p>
    <p>happy new year!<br>
    </p>
    <p>I have recently experienced the same issue! I am also using zexy
      and for some reason [sfont~] would only load if [sfont~] loaded <i>before
      </i>zexy. Here's a hacky solution:</p>
    <p>[declare -lib else/sfont~ -lib zexy]</p>
    <p>---<br>
    </p>
    <p>I think the reason for such problems is this:</p>
    <p>Plugin A and plugin B both link dynamically to third-party
      library C.</p>
    <p>A and B ship their own versions of C (C-a and C-b)<br>
    </p>
    <p>If A is loaded first, C-a is loaded into memory and B will try to
      use C-a.</p>
    <p>If B is loaded first, C-b is loaded into memory and A will try to
      use C-b.</p>
    <p>This is ok if C-a and C-b are compatible, but it leads to
      problems if they are not.</p>
    <p>That's why <i>plugins </i>should be linked statically whenever
      possible, because they cannot know which modules have already been
      loaded. (The only big exception is when plugins are distributed
      via package managers, since the latter are responsible for
      managing dependencies.)<br>
    </p>
    <p>---</p>
    <p>In this particular case, the problem is the following:<br>
    </p>
    <p>Both zexy and libfluidsynth link against libintl-8; zexy wants to
      import "libintl_gettext", libfluidsynth wants to import "DllMain".
      However, the libintl-8 version shipped with zexy does not export
      "DllMain", so libfluidsynth won't load.</p>
    <p>If I replace zexy's libintl-8 with else's libintl-8, both objects
      load correctly, regardless of which is loaded first.<br>
    </p>
    <p>Actually, I don't really understand why libfluidsynth's libintl-8
      exports "DllMain" in the first place and why libfluidsynth wants
      to import it... According to the output of Dependencies, it does
      not seem to call any other function (see attachment).</p>
    <p>Christof<br>
    </p>
    <div>On 31.12.2022 21:14, Alexandre Torres
      Porres wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>
          <div>Hi everybody! There's this issue we're having a hard time
            troubleshooting and I hope Windows and Pd experts can help
            figuring this out!</div>
          <div><br>
          </div>
          <div>So, a user is having issues loading the [sfont~] object
            from ELSE in Pd on Windows, even though me and others cannot
            reproduce the error. When trying to create the object, he
            gets:</div>
          <div><br>
          </div>
        </div>
        <font color="#ff0000">H:\JOE-W10\Documents\Pd\externals\else\sfont~.m_amd64:
          La procédure spécifiée est introuvable </font><font color="#000000">(<i>The specified procedure is not
            found</i>). </font>
        <div><font color="#ff0000">(127)</font></div>
        <div><font color="#ff0000"> sfont~<br>
          </font></div>
        <div><font color="#ff0000">...couldn't create</font></div>
        <div><br>
        </div>
        <div>An error window also pops up and says:</div>
        <div><br>
        </div>
        <div>"<u>Entry point not found </u></div>
        <div><u>The DllMain procedure entry point is not found in the
            dynamic link library </u></div>
        <div><u>H:\JOE-W10\Documents\Pd\externals\libfluidsynth-3.w64.</u>"</div>
        <div><br>
        </div>
        <div>I don't know what this error means and why me and others
          don't get this error!</div>
        <div><br>
        </div>
        <div>Of course we did troubleshoot installation and everything
          but we still can't figure it out and I have ZERO experience
          with windows.</div>
        <div><br>
        </div>
        <div>It is important to note that the user reports he can use
          PlugData which carries ELSE and the object works just fine.
          The similar [fluid~] object (equally based on FluidSynth like
          sfont~) also works when used in the PurrData installation, but
          the user is also having problems loading fuild~ in Vanilla.</div>
        <div><br>
        </div>
        <div>A screenshot and further discussion is found here <a href="https://github.com/porres/pd-else/issues/1405#issuecomment-1368250330" target="_blank">https://github.com/porres/pd-else/issues/1405#issuecomment-1368250330</a></div>
        <div><br>
        </div>
        <div>Thanks</div>
        <div>Alex</div>
        <div><br>
        </div>
        <div>AND HAPPY 2023!!!!</div>
        <div><br>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" target="_blank">https://lists.puredata.info/listinfo/pd-list</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>