GNU bug report logs -
#43666
[grep-3.5] make failed on Solaris 11.3 x86/x64
Previous Next
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.
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):
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):
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):
[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):
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):
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):
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):
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):
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):
[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):
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):
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.