Обсуждение: BUG #13622: unsafe use of relative rpath libpq.5.dylib
The following bug has been logged on the website: Bug reference: 13622 Logged by: Adam Wizon Email address: adamwizon@me.com PostgreSQL version: 9.4.0 Operating system: Mac OS X 10.11 Description: I was building Perl module DBD::Pg and received the following link error: Reason: unsafe use of relative rpath libpq.5.dylib in /Users/mydir/Perl_Modules/DBD-Pg-3.5.1/blib/arch/auto/DBD/Pg/Pg.bundle with restricted binary at /System/Library/Perl/5.18/darwin-thread-multi-2level/DynaLoader.pm line 194. I believe I am running the 10.11 GM candidate. Thanks, Adam
adamwizon@me.com writes: > I was building Perl module DBD::Pg and received the following link error: > Reason: unsafe use of relative rpath libpq.5.dylib in > /Users/mydir/Perl_Modules/DBD-Pg-3.5.1/blib/arch/auto/DBD/Pg/Pg.bundle with > restricted binary at > /System/Library/Perl/5.18/darwin-thread-multi-2level/DynaLoader.pm line > 194. Hm ... I think this represents a build bug in DBD::Pg. You need to report this to the authors of that module (who don't hang out here AFAIK). regards, tom lane
This is not BUG! This is a new policy of secure SIP, this library have permission "restricted" Use manual http://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html -- View this message in context: http://postgresql.nabble.com/BUG-13622-unsafe-use-of-relative-rpath-libpq-5-dylib-tp5866235p5868332.html Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.
Yes, the issue is being caused by SIP. Here is a workaround. It is not difficult but it is a bit cumbersome. 1. Boot into recovery mode and disable SIP. 2. reboot 3. You need to run the install_name_tool command to specify the absolute path to the libpq.5.dylib library. You can see where it is pointing to with another command, otool. Ex. libpq.5.dylib is a relative path and that is causing the error. bash-3.2# otool -L <Dir_Where_Your_postgres_lib_is>/pdo_pgsql.so <Dir_Where_Your_postgres_lib_is>/pdo_pgsql.so: libpq.5.dylib (compatibility version 5.0.0, current version 5.6.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1) Run this. bash-3.2# install_name_tool -change libpq.5.dylib /usr/lib/libpq.5.dylib <Dir_Where_Your_postgres_lib_is>/pdo_pgsql.so After running when you check with otool you will see the change. (it says /usr/lib/libpq.5.dylib) bash-3.2# otool -L <Dir_Where_Your_postgres_lib_is>/pdo_pgsql.so <Dir_Where_Your_postgres_lib_is>/pdo_pgsql.so: /usr/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.6.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1) 4. Boot back into recovery mode and enable SIP. 5. Reboot again. That should be it. -- View this message in context: http://postgresql.nabble.com/BUG-13622-unsafe-use-of-relative-rpath-libpq-5-dylib-tp5866235p5873522.html Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.