Thread: BUG #13622: unsafe use of relative rpath libpq.5.dylib

BUG #13622: unsafe use of relative rpath libpq.5.dylib

From
adamwizon@me.com
Date:
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

Re: BUG #13622: unsafe use of relative rpath libpq.5.dylib

From
Tom Lane
Date:
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

Re: BUG #13622: unsafe use of relative rpath libpq.5.dylib

From
Serge
Date:
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.

Re: BUG #13622: unsafe use of relative rpath libpq.5.dylib

From
jhirsch
Date:
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.