auriamg / macdylibbundler

Utility to ease bundling libraries into executables for OSX
MIT License
550 stars 83 forks source link

@loader_path #22

Closed lilmike closed 3 years ago

lilmike commented 7 years ago

I get this when I try to run your app on my executable. I'm guessing, though I'm not sure, that one of the dependancies depends on something else, which is referenced by @loader_path. Perhapss this type of path should cause dylib bundler to ignore that particular one?

/!\ WARNING : Library liballegro.5.2.dylib has an incomplete name (location unknown) Please specify now where this library can be found (or write 'quit' to abort):

Thanks, -Michael.

chearon commented 7 years ago

Looks also like you might be running it on an executable that was already patched?

If not, I think there are some weird cases where it does miss dependencies, see #18. I was never able to find out why but I made macpack which might work better for you

lilmike commented 7 years ago

No, the executable was not patched yet, but I think some of the libraries that were involved had dependencies on other libraries that were patch before hand, or similar. Michael.

Sent from my iPhone

On Mar 4, 2017, at 10:16 AM, Caleb Hearon notifications@github.com<mailto:notifications@github.com> wrote:

Looks also like you might be running it on an executable that was already patched?

If not, I think there are some weird cases where it does miss dependencies, see #18https://github.com/auriamg/macdylibbundler/issues/18. I was never able to find out why but I made macpackhttps://github.com/chearon/macpack which might work better for you

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/auriamg/macdylibbundler/issues/22#issuecomment-284161538, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABEM86WKGKV6EZTjAnx0guVg_0KcJR-Fks5riY5QgaJpZM4MS-Gx.

lilmike commented 7 years ago

Hi, I've confirmed: One of the libraries my app depends on (lib allegro_font.5.2.dylib) was built in such a way that it depends on @loader_path/liballegro.5.2.dylib. This is breaking dylibbundler. I tried -i "@loader_path" but that didn't work. -Michael.

mtangoo commented 7 years ago

Faced same issue. Looking at the source code you can add missing libs paths to make sure it finds it Something like:

export DYLD_LIBRARY_PATH=/YOUR/PATH1/lib:/YOUR/PATH2/lib:$DYLD_LIBRARY_PATH
run bundler command here in same terminal

HTH

SCG82 commented 3 years ago

Fixed in #60