Code Monkey home page Code Monkey logo

Comments (9)

esabol avatar esabol commented on August 21, 2024 1

https://rt.cpan.org/Public/Bug/Display.html?id=117082 is related.

from dbdpg.

turnstep avatar turnstep commented on August 21, 2024

Anyone have ideas on this? I do not have a OSX system to test this out on. My internet investigation seems to reveal that disabling System Integrity Protection is not an option, as it requires a reboot, and the only option is to write a shell script that 1) gets run and thus stripped of LD_* and DYLD_* 2) Sets LD_LIBRARY_PATH itself and then 3) runs the actual program. I have no idea how to make all that magic happen via Makefile.PL however.

Seems there must be some other solution, as stripping those ENVs seems so draconian it must be affecting lots of programs, not just little old DBD::Pg.

from dbdpg.

briandfoy avatar briandfoy commented on August 21, 2024

You don't want to use install_name_tool as I showed? I don't have time to work on this right now, but my first goal would be to check that DBD::Pg isn't ignoring some setting in the tool that would put the paths to the libraries in the bundle.

from dbdpg.

esabol avatar esabol commented on August 21, 2024

@briandfoy is correct. You need to use install_name_tool as shown above.

from dbdpg.

briandfoy avatar briandfoy commented on August 21, 2024

Oh man, had I checked RT and seen that, I would have saved myself a couple days of frustrating work. Always check the bug queues!

from dbdpg.

turnstep avatar turnstep commented on August 21, 2024

Update the README but unsure of what else to do. Give Makefile.PL a lot of brains so it detects the error and creates a wrapper shell script with the correct ENV vars that calls install_name_tool?

from dbdpg.

esabol avatar esabol commented on August 21, 2024

I think the solution is to tweak the Makefile by inserting the install_name_tool commands somewhere in MY::postamble in Makefile.PL if the platform is macOS, but I’m by no means an expert in Perl build mechanisms.

from dbdpg.

shmenolin avatar shmenolin commented on August 21, 2024

I had the exact problem. Updating the bundle files solved it! Thank you very much!

from dbdpg.

esabol avatar esabol commented on August 21, 2024

This development seems relevant to this issue:

https://stackoverflow.com/questions/77078167/how-does-one-consistently-set-rpath-on-a-dynamic-library-and-compile-time

The answer, ultimately, is update to the latest ExtUtils::MakeMaker.

As @håkon-hægland points out in his comment on the OP, he's investigated this quite a bit, as documented in ExtUtils-MakeMaker issue #402. A pull request merged in September 2021 was his attempt to address the issue; it was released in v7.64 in December 2021.

Upgrading to the latest version fixed the issue completely, so I was able to remove the call to install_name_tool. Anyone testing on macOS 10.4 or earlier will need v7.66 to avoid the setting of rpath, however.

from dbdpg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.