Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jun 2014 16:31:02 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 191161] New: building www/p5-libapreq2 does not link libapreq2.so unless it is installed
Message-ID:  <bug-191161-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
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@FreeBSD.org
          Reporter: vivek@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-191161-13>