NetBSD Problem Report #51359

From www@NetBSD.org  Tue Jul 26 13:15:28 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 6D18A7A1BC
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 26 Jul 2016 13:15:28 +0000 (UTC)
Message-Id: <20160726131527.4C8437A271@mollari.NetBSD.org>
Date: Tue, 26 Jul 2016 13:15:27 +0000 (UTC)
From: nonakap@gmail.com
Reply-To: nonakap@gmail.com
To: gnats-bugs@NetBSD.org
Subject: www/ap2-perl: Undefined PLT symbol "modperl_handler_name" (symnum = 26)
X-Send-Pr-Version: www-1.0

>Number:         51359
>Category:       pkg
>Synopsis:       www/ap2-perl: Undefined PLT symbol "modperl_handler_name" (symnum = 26)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 26 13:20:00 +0000 2016
>Closed-Date:    Thu Aug 04 14:31:13 +0000 2016
>Last-Modified:  Thu Aug 04 14:31:13 +0000 2016
>Originator:     Kimihiro Nonaka
>Release:        HEAD (20160725)
>Organization:
>Environment:
NetBSD koharu.myhome.nonakap.org 7.99.34 NetBSD 7.99.34 (KOHARU) #3904: Tue Jul 26 01:56:03 JST 2016  nonaka@koharu.myhome.nonakap.org:/home/storage/snapshot/NetBSD/HEAD-20160725/obj.NetBSD-amd64/amd64/sys/arch/amd64/compile/KOHARU amd64
>Description:
nonaka@koharu$ sudo/etc/rc.d/apache start
Starting apache.
httpd: Syntax error on line 486 of /usr/pkg/etc/httpd/httpd.conf: Syntax error on line 40 of /usr/pkg/etc/httpd/httpd-vhosts.conf: Cannot load lib/httpd/mod_perl.so into server: /usr/pkg/lib/httpd/mod_perl.so: Undefined PLT symbol "modperl_handler_name" (symnum = 26)
>How-To-Repeat:
1) install mod_perl.
   # cd /usr/pkgsrc/www/ap2-perl && make install
2) configure httpd.conf.
   # echo "LoadModule perl_module lib/httpd/mod_perl.so" >> /usr/pkg/etc/httpd/httpd.conf
3) start apache http server.
   # /etc/rc.d/apache start

>Fix:
from mod_perl-2.0.9/README.

> C compiler:
>   The mod_perl source currently uses GNU89 inline semantics on GCC, but
>   GCC 5 defaults to newer C99 semantics.  If you see MP_INLINE related
>   warnings during the build and missing symbols when starting the test
>   suite, adding "-fgnu89-inline" to MP_CCOPTS may help.
>   There are also some reports of this happening with the Clang compiler,
>   where the corresponding option to try is "-std=gnu89".

The latest version of mod_perl already includes fixes.

http://svn.apache.org/viewvc?view=revision&revision=1733566

I create a patch from mod_perl r1733566.
Please apply it.

Index: www/ap2-perl/distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/www/ap2-perl/distinfo,v
retrieving revision 1.20
diff -u -p -r1.20 distinfo
--- www/ap2-perl/distinfo	4 Nov 2015 02:46:48 -0000	1.20
+++ www/ap2-perl/distinfo	26 Jul 2016 08:31:31 -0000
@@ -4,4 +4,5 @@ SHA1 (mod_perl-2.0.9.tar.gz) = 5de301821
 RMD160 (mod_perl-2.0.9.tar.gz) = f4be60f1b4f4b5645aa7e97ad09d6b1871611bd4
 SHA512 (mod_perl-2.0.9.tar.gz) = 421d385f0d5d04cbe8c1e9559960eea86a017fa1bed88e614009143550baf852e2345001faff1fb849d9b3e6383786e0011f45ebc3e7d26ad57651fbad4e2f2c
 Size (mod_perl-2.0.9.tar.gz) = 3846584 bytes
+SHA1 (patch-lib_Apache2_Build.pm) = b2dd179612272ff6facb0280c00d9589aa93dad6
 SHA1 (patch-src_modules_perl_modperl_common_util.h) = a5fd094351fef2994b67c6c70abc18c772aec532
Index: www/ap2-perl/patches/patch-lib_Apache2_Build.pm
===================================================================
RCS file: www/ap2-perl/patches/patch-lib_Apache2_Build.pm
diff -N www/ap2-perl/patches/patch-lib_Apache2_Build.pm
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ www/ap2-perl/patches/patch-lib_Apache2_Build.pm	26 Jul 2016 08:31:31 -0000
@@ -0,0 +1,48 @@
+$NetBSD$
+
+from mod_perl r1733566.
+
+-----
+Automatic compiler flags for gcc 5 and clang
+
+To make compilation easier on gcc5/clang hosts, this patch automatically selects the appropriate c89 option, when modperl is being built with either gcc 5 or clang.
+
+Tested by the author on Ubuntu 15.10 (with gcc 5.2.1), Fedora 23 (with gcc 5.3.1) and FreeBSD 10.2 (with clang).
+
+Thanks to Klaus S. Madsen <ksm@jobindex.dk> for the patch.
+-----
+
+--- lib/Apache2/Build.pm.orig	2015-06-19 05:13:53.000000000 +0900
++++ lib/Apache2/Build.pm	2016-07-26 17:27:03.000000000 +0900
+@@ -611,6 +611,14 @@ sub ap_ccopts {
+         $ccopts .= " -DMP_TRACE";
+     }
+ 
++    if ($self->has_gcc_version('5.0.0') && $ccopts !~ /-fgnu89-inline/) {
++        $ccopts .= " -fgnu89-inline";
++    }
++
++    if ($self->has_clang && $ccopts !~ /-std=gnu89/) {
++        $ccopts .= " -std=gnu89";
++    }
++
+     # make sure apr.h can be safely included
+     # for example Perl's included -D_GNU_SOURCE implies
+     # -D_LARGEFILE64_SOURCE on linux, but this won't happen on
+@@ -641,6 +649,16 @@ sub has_gcc_version {
+     return cmp_tuples(\@tuples, \@r_tuples) == 1;
+ }
+ 
++sub has_clang {
++    my $self = shift;
++
++    my $has_version = $self->perl_config('gccversion');
++
++    return 0 unless $has_version;
++
++    return $has_version =~ m/Clang/;
++}
++
+ sub cmp_tuples {
+     my ($num_a, $num_b) = @_;
+ 

>Release-Note:

>Audit-Trail:
From: "NONAKA Kimihiro" <nonaka@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51359 CVS commit: pkgsrc/www/ap2-perl
Date: Thu, 4 Aug 2016 14:18:15 +0000

 Module Name:	pkgsrc
 Committed By:	nonaka
 Date:		Thu Aug  4 14:18:15 UTC 2016

 Modified Files:
 	pkgsrc/www/ap2-perl: distinfo
 Added Files:
 	pkgsrc/www/ap2-perl/patches: patch-lib_Apache2_Build.pm

 Log Message:
 PR/51359: Automatic compiler flags for gcc 5 and clang.


 To generate a diff of this commit:
 cvs rdiff -u -r1.20 -r1.21 pkgsrc/www/ap2-perl/distinfo
 cvs rdiff -u -r0 -r1.1 pkgsrc/www/ap2-perl/patches/patch-lib_Apache2_Build.pm

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: nonaka@NetBSD.org
State-Changed-When: Thu, 04 Aug 2016 14:31:13 +0000
State-Changed-Why:
patch applied


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.