please find on this link https://github.com/porres/pd-fluidsynth/releases/tag/0.0.0-test a fat binary for mac intel and arm, compiled on monterey with the dinamic libs from this system  for testing 

I wonder if this works on M1 macs or if it needs its own libs compiled for it...


Em sáb., 30 de abr. de 2022 às 18:33, Alexandre Torres Porres <porres@gmail.com> escreveu:
so, I tried using the dinamic libs from mojave in monterey, it works, but the OS kept bugging me and forcing me to allow them to be loaded like over a dozen times until it could just load things... 

I now made fat binary for intel/arm, included the dynamic libs from mojave, for testing.

I tried loading this back on mojave, it failed, I get the same error  (load command 0x80000034 is unknown) - so I get the same thing as before when I tried a pd_darwin compiled in monterey with the libs generated from the monterey compilation, which now I can see it is obvious, cause it was compiled in monterey with the proper libs and I swicthed them, so I did nothing new. All I learned is that a new system can load something compiled in an older system... it did work, but with several annoying warnings that the libs weren't allowed.

I'll try Catalina to see if it can create binaries for a wider range.

Em sáb., 30 de abr. de 2022 às 17:33, Alexandre Torres Porres <porres@gmail.com> escreveu:
sorry for so many emails, but now I see that when compiling on monterey I get this warning

ld: warning: dylib (/usr/local/lib/libfluidsynth.dylib) was built for newer macOS version (12.0) than being linked (10.6)

So I guess that's it, when installing fluidsynth for monterey and compiling it there I may run into trouble by loading it in earlier systems like mojave (10.14.6). Makes sense?

I'm dropping support for mac 32 bit externals, but I'd like to have a fat binary that works for mac intell and arm but supports a good/wider range of operating systems... 

maybe if I try the minimum OS required to build for mac arm, anyone knows what it is? I think I heard 'catalina' once...

cheers 

Em sáb., 30 de abr. de 2022 às 17:09, Alexandre Torres Porres <porres@gmail.com> escreveu:
Ok, both compilations generate the exact same files and the process was the some. Only difference is the setup

air intel, mojave, xcode 11.3.1 (works)
pro intel, montrey xcode 13 (nope)

the error I get from the binary generated in the pro is 

/Users/ale/Downloads/fluidsynth~_pro/./fluidsynth~.pd_darwin: dlopen(/Users/ale/Downloads/fluidsynth~_pro/./fluidsynth~.pd_darwin, 10): Library not loaded: @loader_path/libfluidsynth.3.dylib

  Referenced from: /Users/ale/Downloads/fluidsynth~_pro/./fluidsynth~.pd_darwin
  Reason: no suitable image found.  

Did find:
/Users/ale/Downloads/fluidsynth~_pro/./libfluidsynth.3.dylib: cannot load 'libfluidsynth.3.dylib' (load command 0x80000034 is unknown)
/Users/ale/Downloads/fluidsynth~_pro/libfluidsynth.3.dylib: cannot load 'libfluidsynth.3.dylib' (load command 0x80000034 is unknown)



So it seems it finds the generated and shipped dylib, but it is corrupted somehow.

Em sáb., 30 de abr. de 2022 às 16:57, Alexandre Torres Porres <porres@gmail.com> escreveu:
ok, instead of building in my new system, I tried compiling on and old macbook air (it's not the machine I was using a year ago to compile this by the way). This system seems to have built something that works, see https://github.com/porres/pd-fluidsynth/issues/9#issuecomment-1114044528 (where I'm discussing things in portuguese with charles).

I have to see now what is the difference between both outputs.

Em sáb., 30 de abr. de 2022 às 16:46, Alexandre Torres Porres <porres@gmail.com> escreveu:
Hi, after more than a year, I'm finally going to release my fluidsynth~ object as part of ELSE. There were lots of discussion on this list about this. One big issue was how to ship the external along with the library dependencies. There are scripts taken from https://git.iem.at/pd/iem-ci to copy the libs to the same folder as the external. It seems we got to a point of being able to build it for mac and windows. This last thread (from where I'm now opening a new one) was about building it for Linux. 

After so long I just tried to build it on my new system and my new challenge would be to see if it'd work for apple silicon macs. First I just tried building for mac intel using my new setup, a monterey machine with the latest XCode. I started by installing fluidsynth, now at a much more recent version 2.2.7, I then built the external and it worked fine in the system I built this on. I tried the localdeps.macos.sh script and it did copy all the libs to the same folder as the external, so I zipped it and uploaded to https://github.com/porres/pd-fluidsynth/releases/tag/0.0.0-test so I could test on another machine without fluidsynth and all... guess what? it didn't work!

By the way, someone built it for windows and I was able to test that it works on a virtual windows machine, so I don't know what could be wrong with my setup... See https://github.com/charlesneimog/pd-fluidsynth/releases/tag/v0.0.1 note that there's also a mac version there, but it doesn't work either and seems to be worse than my attempt as there a no libs copied. You cal also test the linux version in there.

Hope someone can give me a hint why my new attempt didn't work for mac, I don't know what could be different other than having a new system a new version of the OS, of XCode and fluidsynth.

cheers


Em qui., 14 de jan. de 2021 às 18:16, Roman Haefeli <reduzent@gmail.com> escreveu:
On Thu, 2021-01-14 at 16:52 +0100, IOhannes m zmölnig wrote:
> On 1/14/21 10:42 AM, Roman Haefeli wrote:
> > See PR:
> > https://github.com/porres/pd-fluidsynth/pull/5
> >
>
> given that i consider myself upstream of the original
> "localdeps.*.sh"
> scripts and those scripts are located under
> https://git.iem.at/pd/iem-ci
> where they are used by a number of (our, that is: the iem's)
> libraries,
> i would highly welcome it if you could submit a PR to that central
> location rather than a single one of the consumers of those scripts.

Sure. I wasn't even aware of the origin of those files.

Re PR/MR:
While logged in as reduzent, I see only comport listed as repos I can
create MRs for. I don't seem to have privileges for forking on
git.iem.at nor for creating MRs for the iem-ci repo. Tell me if I'm
overseeing something.

I created a fork on:
https://gitlab.zhdk.ch/rhaefeli/iem-ci

You'll find the script addition in the linuxdep branch.

Roman
_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev