NetBSD Problem Report #54793

From john@athena.zia.io  Sun Dec 22 00:00:18 2019
Return-Path: <john@athena.zia.io>
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 "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 95A6E7A174
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 22 Dec 2019 00:00:18 +0000 (UTC)
Message-Id: <201912220000.xBM00Aiw015229@athena.zia.io>
Date: Sun, 22 Dec 2019 00:00:10 GMT
From: john@ziaspace.com
Reply-To: john@ziaspace.com
To: gnats-bugs@NetBSD.org
Subject: lang/php74 fails to compile on multiple architectures
X-Send-Pr-Version: 3.95

>Number:         54793
>Category:       pkg
>Synopsis:       lang/php74 fails to compile on multiple architectures
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 22 00:05:00 +0000 2019
>Closed-Date:    Tue Oct 13 03:27:03 +0000 2020
>Last-Modified:  Tue Oct 13 03:27:03 +0000 2020
>Originator:     John Klos
>Release:        NetBSD 9.0_RC1
>Organization:

>Environment:


System: NetBSD athena.zia.io 9.0_RC1 NetBSD 9.0_RC1 (ATHENA-$Revision: 9.9l $) #0: Sun Dec 15 16:34:56 UTC 2019 john@athena.zia.io:/home/netbsd-9/obj-alpha/sys/arch/alpha/compile/ATHENA alpha
Architecture: alpha
Machine: alpha
>Description:

lang/php74 fails to compile on Alpha, m68k, sparc64 and likely others:

/home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:81:2: error: #error Unsupported architecture
 #error Unsupported architecture
  ^~~~~
In file included from /home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:14158:0:
/home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_misc.c: In function 'php_pcre2_jit_free_unused_memory':
/home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_misc.c:113:1: warning: implicit declaration of function 'sljit_free_unused_memory_exec'; did you mean 'pcre2_jit_free_unused_memory_32'? [-Wimplicit-function-declaration]
 sljit_free_unused_memory_exec();
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 pcre2_jit_free_unused_memory_32
In file included from /home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/sljit/sljitLir.c:27:0,
                 from /home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:78:
/home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c: At top level:
/home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/sljit/sljitLir.h:1456:36: warning: 'sljit_get_float_register_index' declared 'static' but never defined [-Wunused-function]
 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_s32 reg);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmake: *** [Makefile:576: ext/pcre/pcre2lib/pcre2_jit_compile.lo] Error 1


On sparc64:

...
In file included from /usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/sljit/sljitLir.c:27:0,
                 from /usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:78:
/usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/sljit/sljitLir.h:1408:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 #define SLJIT_FUNC_OFFSET(func_name) ((sljit_sw)func_name)
                                       ^
/usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:13911:100: note: in expansion of macro 'SLJIT_FUNC_OFFSET'
 sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_RET(SW) | SLJIT_ARG1(SW) | SLJIT_ARG2(SW), SLJIT_IMM, SLJIT_FUNC_OFFSET(sljit_stack_resize));
                                                                                                    ^~~~~~~~~~~~~~~~~
In file included from /usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_internal.h:132:0,
                 from /usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:45:
/usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_match.c: In function 'php_pcre2_jit_match':
/usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2.h:464:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PCRE2_UNSET           (~(PCRE2_SIZE)0)
                               ^
/usr/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_match.c:149:28: note: in expansion of macro 'PCRE2_UNSET'
   arguments.offset_limit = PCRE2_UNSET;
                            ^~~~~~~~~~~
gmake: *** [Makefile:576: ext/pcre/pcre2lib/pcre2_jit_compile.lo] Error 1




Unsetting PHP_PCRE_JIT or ac_cv_have_pcre2_jit allows for compilation to continue, but then it fails here:

Generating phar.php
PHP Fatal error:  Unable to start pcre module in Unknown on line 0
gmake: *** [Makefile:359: ext/phar/phar.php] Error 254
gmake: *** Waiting for unfinished jobs....
*** Error code 2



>How-To-Repeat:

>Fix:


>Release-Note:

>Audit-Trail:
From: Takahiro Kambe <taca@back-street.net>
To: john@ziaspace.com
Cc: gnats-bugs@netbsd.org
Subject: Re: pkg/54793: lang/php74 fails to compile on multiple
 architectures
Date: Sat, 04 Jan 2020 19:41:07 +0900 (JST)

 Hi,

 In message <20191222000500.5D9F97A19B@mollari.NetBSD.org>
 	on Sun, 22 Dec 2019 00:05:00 +0000 (UTC),
 	john@ziaspace.com wrote:
 >>Release:        NetBSD 9.0_RC1
 >>Organization:
 > 	
 >>Environment:
 > 	
 > 	
 > System: NetBSD athena.zia.io 9.0_RC1 NetBSD 9.0_RC1 (ATHENA-$Revision: 9.9l $) #0: Sun Dec 15 16:34:56 UTC 2019 john@athena.zia.io:/home/netbsd-9/obj-alpha/sys/arch/alpha/compile/ATHENA alpha
 > Architecture: alpha
 > Machine: alpha
 >>Description:
 > 	
 > lang/php74 fails to compile on Alpha, m68k, sparc64 and likely others:
 > 
 > /home/pkgsrc/lang/php74/work/php-7.4.1/ext/pcre/pcre2lib/pcre2_jit_compile.c:81:2: error: #error Unsupported architecture
 >  #error Unsupported architecture
 Is this change help your problem?

 Index: lang/php74/Makefile.php
 ===================================================================
 RCS file: /cvsroot/pkgsrc/lang/php74/Makefile.php,v
 retrieving revision 1.1
 diff -u -u -r1.1 Makefile.php
 --- lang/php74/Makefile.php	15 Dec 2019 17:56:34 -0000	1.1
 +++ lang/php74/Makefile.php	4 Jan 2020 10:40:28 -0000
 @@ -33,8 +33,9 @@
  CONFIGURE_ARGS+=	--without-iconv
  CONFIGURE_ARGS+=	--without-pear
  CONFIGURE_ARGS+=	--without-sqlite3
 -#CONFIGURE_ARGS+=	--without-intl
 +CONFIGURE_ARGS+=	--with-external-pcre

 +CONFIGURE_ARGS+=	--disable-intl
  CONFIGURE_ARGS+=	--disable-posix
  CONFIGURE_ARGS+=	--disable-opcache
  CONFIGURE_ARGS+=	--disable-pdo


 -- 
 Takahiro Kambe <taca@back-street.net>

From: John Klos <john@ziaspace.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/54793: lang/php74 fails to compile on multiple architectures
Date: Fri, 10 Jan 2020 00:38:51 +0000 (UTC)

 > Is this change help your problem?
 >
 > Index: lang/php74/Makefile.php
 > ===================================================================
 > RCS file: /cvsroot/pkgsrc/lang/php74/Makefile.php,v
 > retrieving revision 1.1
 > diff -u -u -r1.1 Makefile.php
 > --- lang/php74/Makefile.php	15 Dec 2019 17:56:34 -0000	1.1
 > +++ lang/php74/Makefile.php	4 Jan 2020 10:40:28 -0000
 > @@ -33,8 +33,9 @@
 >  CONFIGURE_ARGS+=	--without-iconv
 >  CONFIGURE_ARGS+=	--without-pear
 >  CONFIGURE_ARGS+=	--without-sqlite3
 > -#CONFIGURE_ARGS+=	--without-intl
 > +CONFIGURE_ARGS+=	--with-external-pcre
 >
 > +CONFIGURE_ARGS+=	--disable-intl
 >  CONFIGURE_ARGS+=	--disable-posix
 >  CONFIGURE_ARGS+=	--disable-opcache
 >  CONFIGURE_ARGS+=	--disable-pdo

 That, plus removing these lines from PLIST makes a functional package:

      134 include/php/ext/pcre/pcre2lib/config.h
      135 include/php/ext/pcre/pcre2lib/pcre2.h
      136 include/php/ext/pcre/pcre2lib/pcre2_internal.h
      137 include/php/ext/pcre/pcre2lib/pcre2_intmodedep.h
      138 include/php/ext/pcre/pcre2lib/pcre2_ucp.h

 Tested on NetBSD 9 on Alpha and SPARC64 so far.

 Thanks!
 John

From: "Takahiro Kambe" <taca@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/54793 CVS commit: pkgsrc/lang/php74
Date: Tue, 21 Jan 2020 14:16:27 +0000

 Module Name:	pkgsrc
 Committed By:	taca
 Date:		Tue Jan 21 14:16:27 UTC 2020

 Modified Files:
 	pkgsrc/lang/php74: Makefile Makefile.php PLIST

 Log Message:
 lang/php74: switch to use external pcre

 Switch to use external pcre, fixing PR pkg/54793.

 Bump PKGREVISION.


 To generate a diff of this commit:
 cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/php74/Makefile
 cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/php74/Makefile.php \
     pkgsrc/lang/php74/PLIST

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

From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/54793 CVS commit: [pkgsrc-2019Q4] pkgsrc/lang
Date: Wed, 29 Jan 2020 13:34:47 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Wed Jan 29 13:34:46 UTC 2020

 Modified Files:
 	pkgsrc/lang/php [pkgsrc-2019Q4]: phpversion.mk
 	pkgsrc/lang/php74 [pkgsrc-2019Q4]: Makefile.php PLIST distinfo

 Log Message:
 Pullup ticket #6128 - requested by taca
 lang/php74: security fix

 Revisions pulled up:
 - lang/php/phpversion.mk                                        1.285
 - lang/php74/Makefile                                           1.3-1.5
 - lang/php74/Makefile.php                                       1.2
 - lang/php74/PLIST                                              1.2
 - lang/php74/distinfo                                           1.4

 ---
    Module Name:	pkgsrc
    Committed By:	jperkin
    Date:		Sat Jan 18 21:51:16 UTC 2020

    Modified Files:
    	pkgsrc/lang/php74: Makefile

    Log Message:
    *: Recursive revision bump for openssl 1.1.1.

 ---
    Module Name:	pkgsrc
    Committed By:	taca
    Date:		Tue Jan 21 14:16:27 UTC 2020

    Modified Files:
    	pkgsrc/lang/php74: Makefile Makefile.php PLIST

    Log Message:
    lang/php74: switch to use external pcre

    Switch to use external pcre, fixing PR pkg/54793.

    Bump PKGREVISION.

 ---
    Module Name:	pkgsrc
    Committed By:	taca
    Date:		Sat Jan 25 17:22:49 UTC 2020

    Modified Files:
    	pkgsrc/lang/php: phpversion.mk
    	pkgsrc/lang/php74: Makefile distinfo

    Log Message:
    lang/php74: update to 7.4.2

    Update php74 to 7.4.2 (PHP 7.4.2).

    23 Jan 2020, PHP 7.4.2

    - Core:
      . Preloading support on Windows has been disabled. (Nikita)
      . Fixed bug #79022 (class_exists returns True for classes that are no=
    t ready
        to be used). (Laruence)
      . Fixed bug #78929 (plus signs in cookie values are converted to spac=
    es).
        (Alexey Kachalin)
      . Fixed bug #78973 (Destructor during CV freeing causes segfault if o=
    pline
        never saved). (Nikita)
      . Fixed bug #78776 (Abstract method implementation from trait does no=
    t check
        "static"). (Nikita)
      . Fixed bug #78999 (Cycle leak when using function result as temporar=
    y).
        (Dmitry)
      . Fixed bug #79008 (General performance regression with PHP 7.4 on Wi=
    ndows).
        (cmb)
      . Fixed bug #79002 (Serializing uninitialized typed properties with _=
    _sleep
        makes unserialize throw). (Nikita)

    - CURL:
      . Fixed bug #79033 (Curl timeout error with specific url and post). (=
    cmb)
      . Fixed bug #79063 (curl openssl does not respect PKG_CONFIG_PATH). (=
    Nikita)

    - Date:
      . Fixed bug #79015 (undefined-behavior in php_date.c). (cmb)

    - DBA:
      . Fixed bug #78808 ([LMDB] MDB_MAP_FULL: Environment mapsize limit re=
    ached).
        (cmb)

    - Exif:
      . Fixed bug #79046 (NaN to int cast undefined behavior in exif). (Nik=
    ita)

    - Fileinfo:
      . Fixed bug #74170 (locale information change after mime_content_type=
    ).
        (Sergei Turchanov)

    - GD:
      . Fixed bug #79067 (gdTransformAffineCopy() may use unitialized value=
    s). (cmb)
      . Fixed bug #79068 (gdTransformAffineCopy() changes interpolation met=
    hod).
        (cmb)

    - Libxml:
      . Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter). (Laru=
    ence)

    - Mbstring:
      . Fixed bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wc=
    har`).
        (CVE-2020-7060) (Nikita)

    - OPcache:
      . Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS). =
    (Dmitry)
      . Fixed bug #78950 (Preloading trait method with static variables). (=
    Nikita)
      . Fixed bug #78903 (Conflict in RTD key for closures results in crash=
    ).
        (Nikita)
      . Fixed bug #78986 (Opcache segfaults when inheriting ctor from immut=
    able
        into mutable class). (Nikita)
      . Fixed bug #79040 (Warning Opcode handlers are unusable due to ASLR)=
    . (cmb)
      . Fixed bug #79055 (Typed property become unknown with OPcache file c=
    ache).
        (Nikita)

    - Pcntl:
      . Fixed bug #78402 (Converting null to string in error message is bad=
     DX).
        (SAT=D2 Kentar=F2)

    - PDO_PgSQL:
      . Fixed bug #78983 (pdo_pgsql config.w32 cannot find libpq-fe.h). (SA=
    T=D2
        Kentar=F2)
      . Fixed bug #78980 (pgsqlGetNotify() overlooks dead connection). (SAT=
    =D2
        Kentar=F2)
      . Fixed bug #78982 (pdo_pgsql returns dead persistent connection). (S=
    AT=D2
        Kentar=F2)

    - Session:
      . Fixed bug #79091 (heap use-after-free in session_create_id()). (cmb=
    ,
        Nikita)
      . Fixed bug #79031 (Session unserialization problem). (Nikita)

    - Shmop:
      . Fixed bug #78538 (shmop memory leak). (cmb)

    - Sqlite3:
      . Fixed bug #79056 (sqlite does not respect PKG_CONFIG_PATH during
        compilation). (Nikita)

    - Spl:
      . Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (c=
    mb)

    - Standard:
      . Fixed bug #79099 (OOB read in php_strip_tags_ex). (CVE-2020-7059). =
    (cmb)
      . Fixed bug #79000 (Non-blocking socket stream reports EAGAIN as erro=
    r).
        (Nikita)
      . Fixed bug #54298 (Using empty additional_headers adding extraneous =
    CRLF).
        (cmb)


 To generate a diff of this commit:
 cvs rdiff -u -r1.283.4.1 -r1.283.4.2 pkgsrc/lang/php/phpversion.mk
 cvs rdiff -u -r1.1 -r1.1.4.1 pkgsrc/lang/php74/Makefile.php \
     pkgsrc/lang/php74/PLIST
 cvs rdiff -u -r1.3 -r1.3.4.1 pkgsrc/lang/php74/distinfo

 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: maya@NetBSD.org
State-Changed-When: Tue, 13 Oct 2020 03:27:03 +0000
State-Changed-Why:
Patch reported to help has been committed by taca@. Thanks!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.