GNU bug report logs - #43666
[grep-3.5] make failed on Solaris 11.3 x86/x64

Previous Next

Package: grep;

Reported by: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>

Date: Mon, 28 Sep 2020 06:57:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43666 in the body.
You can then email your comments to 43666 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 06:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Mon, 28 Sep 2020 06:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: "bug-grep <at> gnu.org" <bug-grep <at> gnu.org>
Subject: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 15:55:47 +0900 (JST)
Hello,

Trying to build grep-3.5, but make failed on Solaris 11.3 x86/x64.

$ uname -a
SunOS hidden 5.11 11.3 i86pc i386 i86pc
$ gcc --version
gcc (GCC) 9.3.0

$ ./configure CC=gcc
$ make
  :
  CC       searchutils.o
  CC       pcresearch.o
  CCLD     grep
Undefined                       first referenced
 symbol                             in file
stackoverflow_install_handler       ../lib/libgreputils.a(c-stack.o)
sigsegv_install_handler             ../lib/libgreputils.a(c-stack.o)
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1620: grep] Error 1
make[2]: Leaving directory '/tmp/grep-3.5/src'
make[1]: *** [Makefile:1609: all-recursive] Error 1
make[1]: Leaving directory '/tmp/grep-3.5'
make: *** [Makefile:1550: all] Error 2


Regards,

--- Kiyoshi





Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 07:47:01 GMT) Full text and rfc822 format available.

Message #8 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
Cc: 43666 <at> debbugs.gnu.org
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 00:46:39 -0700
It worked for us on Solaris 10; see:

https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/205

so either there's something different about Solaris 11, or something else 
different on your setup (maybe you have libsigsegv installed?).

On 9/27/20 11:55 PM, Kiyoshi KANAZAWA wrote:

> $ ./configure CC=gcc

What's the output of that command? In particular, what does it say here?

...
checking for a traditional french locale... none
checking for working C stack overflow detection... yes
checking for correct stack_t interpretation... yes
checking for precise C stack overflow detection... yes
checking for ld used by gcc -std=gnu99... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for shared library run path origin... done
checking 32-bit host C ABI... yes
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... 
lib,lib,lib
checking for libsigsegv... no, consider installing GNU libsigsegv
checking how gcc -std=gnu99 reports undeclared, standard C functions... error
...

(This is a copy of what I got on Solaris 10 when configuring with "./configure 
CC=gcc".)

What are the contents of src/Makefile, config.h, and config.log? Please send 
them as attachments.

Thanks.




Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 08:16:02 GMT) Full text and rfc822 format available.

Message #11 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 17:15:36 +0900 (JST)
[Message part 1 (text/plain, inline)]
Hi,

Yes, I have libsigsegv.
$ pkg info libsigsegv
          Name: library/libsigsegv
       Summary: libsigsegv - handling page faults in user mode
   Description: libsigsegv provides a set of functions for handling page faults
                in user mode
      Category: System/Libraries
         State: Installed
     Publisher: solaris
       Version: 2.6
 Build Release: 5.11
        Branch: 0.175.3.0.0.30.0
Packaging Date: Fri Aug 21 16:55:38 2015
          Size: 88.46 kB
          FMRI: pkg://solaris/library/libsigsegv <at> 2.6,5.11-0.175.3.0.0.30.0:20150821T165538Z

$ find /usr -name 'libsigsegv*' | sort
/usr/lib/amd64/libsigsegv.so
/usr/lib/amd64/libsigsegv.so.0
/usr/lib/amd64/libsigsegv.so.0.0.0
/usr/lib/libsigsegv.so
/usr/lib/libsigsegv.so.0
/usr/lib/libsigsegv.so.0.0.0


And I found make & make check passes with 64 bit, such as CC='gcc -m64'.

$ ./configure CC='gcc -m64'
$ make
$ make check
  :
# TOTAL: 192
# PASS:  171
# SKIP:  21
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0


I do not understand why it does not go with 32 bit.
src/Makefile, config.h and config.log are attached.



Regards,

--- Kiyoshi



----- Original Message -----
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> To: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
> Cc: 43666 <at> debbugs.gnu.org
> Date: 2020/9/28, Mon 16:46
> Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
> 
> It worked for us on Solaris 10; see:
> 
> https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/205 
> 
> 
> so either there's something different about Solaris 11, or something else 
> different on your setup (maybe you have libsigsegv installed?).
> 
> On 9/27/20 11:55 PM, Kiyoshi KANAZAWA wrote:
> 
>>  $ ./configure CC=gcc
> 
> What's the output of that command? In particular, what does it say here?
> 
> ...
> checking for a traditional french locale... none
> checking for working C stack overflow detection... yes
> checking for correct stack_t interpretation... yes
> checking for precise C stack overflow detection... yes
> checking for ld used by gcc -std=gnu99... /usr/ccs/bin/ld
> checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
> checking for shared library run path origin... done
> checking 32-bit host C ABI... yes
> checking for ELF binary format... yes
> checking for the common suffixes of directories in the library search path... 
> lib,lib,lib
> checking for libsigsegv... no, consider installing GNU libsigsegv
> checking how gcc -std=gnu99 reports undeclared, standard C functions... error
> ...
> 
> (This is a copy of what I got on Solaris 10 when configuring with 
> "./configure 
> CC=gcc".)
> 
> What are the contents of src/Makefile, config.h, and config.log? Please send 
> them as attachments.
> 
> Thanks.
>
[Makefile.xz (application/x-xz, attachment)]
[config.h.xz (application/x-xz, attachment)]
[config.log.xz (application/x-xz, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 09:12:02 GMT) Full text and rfc822 format available.

Message #14 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Jeffrey Walton <noloader <at> gmail.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>, 43666 <at> debbugs.gnu.org
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 05:10:57 -0400
On Mon, Sep 28, 2020 at 3:47 AM Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>
> It worked for us on Solaris 10; see:
>
> https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/205
>
> so either there's something different about Solaris 11, or something else
> different on your setup (maybe you have libsigsegv installed?).

From https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/205/steps/shell_1/logs/stdio:

    PATH=/opt/csw/gnu:/usr/bin:/usr/ccs/bin:/opt/csw/bin

You should probably remove OpenCSW from PATH. The OpenCSW machines
will obviously have the path, but not other machines in general.

Jeff




Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 10:46:02 GMT) Full text and rfc822 format available.

Message #17 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: "noloader <at> gmail.com" <noloader <at> gmail.com>, 
 Paul Eggert <eggert <at> cs.ucla.edu>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 19:45:46 +0900 (JST)
Hi Jeff,

OpenCSW is not the default Solaris package.
Is it a new requirement from grep-3.5 ?
I can install other GNU software without OpenCSW, including grep-3.4.

Tried OpenCSW.
$ sudo pkgadd -d http://get.opencsw.org/now
and set /opt/csw/bin in PATH.
(/opt/csw/gnu is not found.)
But the result was the same.

Comparing src/Makefile between CC=gcc & CC='gcc -m64',
I found
"LIBCSTACK = "           with CC=gcc
"LIBCSTACK = -lsigsegv"  with CC='gcc -m64'

and it is possible to build grep-3.5 with CC=gcc such as
$ ./configure CC=gcc LIBCSTACK=-lsigsegv
$ make
$ make check

Regards,

--- Kiyoshi





Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 28 Sep 2020 19:53:01 GMT) Full text and rfc822 format available.

Message #20 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>,
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 28 Sep 2020 12:52:45 -0700
On 9/28/20 3:45 AM, Kiyoshi KANAZAWA wrote:
> OpenCSW is not the default Solaris package.
> Is it a new requirement from grep-3.5 ?

No, grep should build just fine without OpenCSW, and it does so on Solaris 10. 
(It should also build fine *with* OpenCSW. :-)




Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Tue, 29 Sep 2020 22:49:02 GMT) Full text and rfc822 format available.

Message #23 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Wed, 30 Sep 2020 07:47:49 +0900 (JST)
Hello,

I'm watching bug-gnulib.
It is strange that only i386 has the problem, but amd64 do not.

FYI.
When building autogen-5.19.96 on Solaris 11.3 x86/x64, make error is detected only with i386.
With amd64 (CC='gcc -m64') make & make check passes.

$ ./configure CC=gcc
$ make
  :
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -O2 -m32 -DHAVE_CONFIG_H -I. -I..  -I.. -I../autoopts  -DPKGDATADIR='"/opt/local/share/autogen"' -Wno-format-contains-nul -fno-strict-aliasing -Wall -Werror -Wcast-align -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings -Wstrict-aliasing=3 -Wextra -Wno-cast-qual -Wno-format-contains-nul -fno-strict-aliasing -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo './'`libopts.c
libtool: compile:  gcc -O2 -m32 -DHAVE_CONFIG_H -I. -I.. -I.. -I../autoopts "-DPKGDATADIR=\"/opt/local/share/autogen\"" -Wno-format-contains-nul -fno-strict-aliasing -Wall -Werror -Wcast-align -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings -Wstrict-aliasing=3 -Wextra -Wno-cast-qual -Wno-format-contains-nul -fno-strict-aliasing -c libopts.c  -fPIC -DPIC -o .libs/libopts_la-libopts.o
In file included from libopts.c:57:
usage.c: In function 'prt_extd_usage':
usage.c:736:38: error: 's ' directive output may be truncated writing 2 bytes into a region of size between 0 and 9 [-Werror=format-truncation=]
  736 |         snprintf(vfmt, sizeof(vfmt), vfmtfmt, (unsigned int)nmlen + 4);
      |                                      ^~~~~~~
usage.c:736:9: note: 'snprintf' output between 9 and 18 bytes into a destination of size 12
  736 |         snprintf(vfmt, sizeof(vfmt), vfmtfmt, (unsigned int)nmlen + 4);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[4]: *** [Makefile:1081: libopts_la-libopts.lo] Error 1
make[4]: Leaving directory '/tmp/autogen-5.19.96/autoopts'
make[3]: *** [Makefile:1311: all-recursive] Error 1
make[3]: Leaving directory '/tmp/autogen-5.19.96/autoopts'
make[2]: *** [Makefile:930: all] Error 2
make[2]: Leaving directory '/tmp/autogen-5.19.96/autoopts'
make[1]: *** [Makefile:857: all-recursive] Error 1
make[1]: Leaving directory '/tmp/autogen-5.19.96'
make: *** [Makefile:764: all] Error 2


To avoid this, I have to kill -Werror option with the following patch.
I'm afraid that this is not a correct way.

diff -ur ../autogen-5.19.96.orig/configure.ac ./configure.ac
--- ../autogen-5.19.96.orig/configure.ac        2020-09-28 04:45:31.000000000 +0000
+++ ./configure.ac      2020-09-30 07:35:55.837238555 +0000
@@ -197,7 +197,7 @@
 WARN_CFLAGS=
 test "X${GCC}" = Xyes && {
   CFLAGS="$CFLAGS -Wno-format-contains-nul -fno-strict-aliasing"
-  WARN_CFLAGS="$CFLAGS "`echo -Wall -Werror -Wcast-align -Wmissing-prototypes \
+  WARN_CFLAGS="$CFLAGS "`echo -Wall -Wcast-align -Wmissing-prototypes \
        -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
        -Wstrict-aliasing=3 -Wextra -Wno-cast-qual`
 }]dnl -Wconversion -Wsign-conversion -Wstrict-overflow


Regards,

--- Kiyoshi





Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 05 Oct 2020 08:03:02 GMT) Full text and rfc822 format available.

Message #26 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>,
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 5 Oct 2020 01:02:42 -0700
On 9/29/20 3:47 PM, Kiyoshi KANAZAWA wrote:

> It is strange that only i386 has the problem, but amd64 do not.

Yes, that is odd. I'm not sure why that would be. However, I've made several 
fixes to Gnulib in this area and have propagated them to grep master on 
Savannah. Please give that a try now. You can try it directly from Savannah 
(which requires maintainer tools), or by using this tarball I just created:

https://www.cs.ucla.edu/~eggert/grep-3.5.6-9c6e8.tar.gz

The Autogen problem you mentioned should probably be sent on to the Autogen 
folks, which would be a different mailing list.




Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Mon, 05 Oct 2020 12:55:01 GMT) Full text and rfc822 format available.

Message #29 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Mon, 5 Oct 2020 21:53:54 +0900 (JST)
[Message part 1 (text/plain, inline)]
Hello,

Make passed both with CC=gcc (CC='gcc -m32) & CC='gcc -m64'.
But make -k check failed in filename-lineno & triple-backref.
Segmentation Fault & Abort appeared in triple-backref.
Warning about cast was also detected with CC='gcc -m64'.

config.log, filename-lineno.log, triple-backref.log are attached for both 32bit & 64bit.
Whole log of make -k check for 64bit is also attached.


Regards,

--- Kiyoshi
[logs.tar.xz (application/x-xz, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Tue, 06 Oct 2020 18:14:01 GMT) Full text and rfc822 format available.

Message #32 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>,
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Tue, 6 Oct 2020 11:13:48 -0700
On 10/5/20 5:53 AM, Kiyoshi KANAZAWA wrote:

> Make passed both with CC=gcc (CC='gcc -m32) & CC='gcc -m64'.
> But make -k check failed in filename-lineno & triple-backref.
> Segmentation Fault & Abort appeared in triple-backref.
> Warning about cast was also detected with CC='gcc -m64'.

The triple-backref failure is expected (that's what "XFAIL" means); it's a known 
bug that nobody has had time to fix.

The other two problems should not occur, though. One was due to my typo that Jim 
Meyering recently fixed; the other due to a portability glitch in Gnulib that I 
recently fixed. These fixes should appear in the next grep release. I created a 
new grep tarball with the fixes, which you can try if you have the time:

https://www.cs.ucla.edu/~eggert/grep-3.5.8-b3eb.tar.gz

I just tried this on Solaris 10 sparc with Oracle Developer Studio 12.6, and all 
tests passed. There were some compile-time warnings in Gnulib test cases, such as:

"test-accept.c", line 22: warning: initialization type mismatch
"test-intprops.c", line 194: warning: integer overflow detected: op "-"
"test-nl_langinfo-mt.c", line 75: warning: statement not reached
"test-setlocale_null-mt-one.c", line 81: warning: statement not reached
"test-xalloc-die.c", line 27: warning: statement not reached

but these are known issues that Gnulib does not bother to work around, and which 
are not real problems for grep.




Information forwarded to bug-grep <at> gnu.org:
bug#43666; Package grep. (Tue, 06 Oct 2020 21:15:01 GMT) Full text and rfc822 format available.

Message #35 received at 43666 <at> debbugs.gnu.org (full text, mbox):

From: Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 
 "noloader <at> gmail.com" <noloader <at> gmail.com>
Cc: "43666 <at> debbugs.gnu.org" <43666 <at> debbugs.gnu.org>
Subject: Re: bug#43666: [grep-3.5] make failed on Solaris 11.3 x86/x64
Date: Wed, 7 Oct 2020 06:14:03 +0900 (JST)
Hi, Paul,

I confirmed.
All the tests passed with every combination of (gcc 9.3.0, developerstudio12.6) & (-m32, -m64) on Solaris11.3 x86/x64.
Segmentation Fault & Abort disappeared from triple-backref.

Thank you.

--- Kiyoshi





bug closed, send any further explanations to 43666 <at> debbugs.gnu.org and Kiyoshi KANAZAWA <yoi_no_myoujou <at> yahoo.co.jp> Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Mon, 02 Nov 2020 18:58:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 01 Dec 2020 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 145 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.