[Bug 191161] New: building www/p5-libapreq2 does not link libapreq2.so unless it is installed

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jun 18 16:31:02 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191161

            Bug ID: 191161
           Summary: building www/p5-libapreq2 does not link libapreq2.so
                    unless it is installed
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Many People
          Priority: Normal
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: vivek at khera.org

If you build www/p5-libapreq2 on an empty system, the resulting perl modules
are not linked against libapreq2.so. The second time you build this port, ie,
when libapreq2.so is in /usr/local/bin, it properly builds the perl module.

This is a problem when building packages using poudriere for example, as the
resulting package for p5-libapreq2 does produce a perl library that works.



Specifically:

 ... build on new system ...
# ldd $WRKSRC/glue/perl/blib/arch/auto/APR/Request/Request.so
glue/perl/blib/arch/auto/APR/Request/Request.so:
    libthr.so.3 => /lib/libthr.so.3 (0x80120c000)
    libc.so.7 => /lib/libc.so.7 (0x80081a000)
# perl -MAPR::Request::Apache2 -e 'print $APR::Request::Apache2::VERSION,"\n"'
Can't load
'/usr/local/lib/perl5/site_perl/5.16/mach/auto/APR/Request/Request.so' for
module APR::Request:
/usr/local/lib/perl5/site_perl/5.16/mach/auto/APR/Request/Request.so: Undefined
symbol "apreq_hook_disable_uploads" at
/usr/local/lib/perl5/5.16/mach/DynaLoader.pm line 190.
 at /usr/local/lib/perl5/site_perl/5.16/mach/APR/Request/Apache2.pm line 26.
Compilation failed in require at
/usr/local/lib/perl5/site_perl/5.16/mach/APR/Request/Apache2.pm line 26.
BEGIN failed--compilation aborted at
/usr/local/lib/perl5/site_perl/5.16/mach/APR/Request/Apache2.pm line 26.
Compilation failed in require.
BEGIN failed--compilation aborted.

 ... build on system with a copy of libapreq2 (aka this port) already installed
...
# ldd $WRKSRC/glue/perl/blib/arch/auto/APR/Request/Request.so
glue/perl/blib/arch/auto/APR/Request/Request.so:
    libapreq2.so.11 => /usr/local/lib/libapreq2.so.11 (0x80120c000)
    libaprutil-1.so.0 => /usr/local/lib/libaprutil-1.so.0 (0x80141a000)
    libapr-1.so.0 => /usr/local/lib/libapr-1.so.0 (0x80163f000)
    libcrypt.so.5 => /lib/libcrypt.so.5 (0x801870000)
    libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x801a8f000)
    libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x801cb3000)
    libthr.so.3 => /lib/libthr.so.3 (0x801faf000)
    libc.so.7 => /lib/libc.so.7 (0x80081a000)
# perl -MAPR::Request::Apache2 -e 'print $APR::Request::Apache2::VERSION,"\n"'
2.13

How-To-Repeat:
cd /usr/ports/www/p5-libapreq2
make deinstall
make clean
make install
perl -MAPR::Request::Apache2 -e 1
 ... will give above error ...
ldd /usr/local/lib/perl5/site_perl/5.16/mach/auto/APR/Request/Request.so
 ... will show no extra libs linked ...
make clean
make
make reinstall
perl -MAPR::Request::Apache2 -e 1
 ... will work ...
ldd /usr/local/lib/perl5/site_perl/5.16/mach/auto/APR/Request/Request.so
 ... will show all the extra libs linked ...

Fix:
I think it needs to specify LD_RUN_PATH when linking.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list