wow, thanks, I'm reporting back to the user to see if it's exactly this. Now, this seems to be a problem just for windows, right? Loading zexy before sfont~ here on mac is ok
cheers Em dom., 1 de jan. de 2023 às 07:18, Christof Ressi <[email protected]> escreveu: > Hi Alex, > > happy new year! > > I have recently experienced the same issue! I am also using zexy and for > some reason [sfont~] would only load if [sfont~] loaded *before *zexy. > Here's a hacky solution: > > [declare -lib else/sfont~ -lib zexy] > > --- > > I think the reason for such problems is this: > > Plugin A and plugin B both link dynamically to third-party library C. > > A and B ship their own versions of C (C-a and C-b) > > If A is loaded first, C-a is loaded into memory and B will try to use C-a. > > If B is loaded first, C-b is loaded into memory and A will try to use C-b. > > This is ok if C-a and C-b are compatible, but it leads to problems if they > are not. > > That's why *plugins *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.) > > --- > > In this particular case, the problem is the following: > > 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. > > If I replace zexy's libintl-8 with else's libintl-8, both objects load > correctly, regardless of which is loaded first. > > 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). > > Christof > On 31.12.2022 21:14, Alexandre Torres Porres wrote: > > 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! > > 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: > > H:\JOE-W10\Documents\Pd\externals\else\sfont~.m_amd64: La procédure > spécifiée est introuvable (*The specified procedure is not found*). > (127) > sfont~ > ...couldn't create > > An error window also pops up and says: > > "*Entry point not found * > *The DllMain procedure entry point is not found in the dynamic link > library * > *H:\JOE-W10\Documents\Pd\externals\libfluidsynth-3.w64.*" > > I don't know what this error means and why me and others don't get this > error! > > Of course we did troubleshoot installation and everything but we still > can't figure it out and I have ZERO experience with windows. > > 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. > > A screenshot and further discussion is found here > https://github.com/porres/pd-else/issues/1405#issuecomment-1368250330 > > Thanks > Alex > > AND HAPPY 2023!!!! > > > > _______________________________________________pd-l...@lists.iem.at mailing > list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list >
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
