[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] [bug #44090] The function strcasestr is strictly non-stan
From: |
Tim Rühsen |
Subject: |
Re: [Bug-wget] [bug #44090] The function strcasestr is strictly non-standard and non-portable thus wget is broken |
Date: |
Tue, 10 Feb 2015 19:47:16 +0100 |
User-agent: |
KMail/4.14.2 (Linux/3.16.0-4-amd64; KDE/4.14.2; x86_64; ; ) |
Hi Dennis,
I put this discussion onto the wget mailing list.
There is Dagobert Michelsen, a Solaris expert.
He drives a Solaris build farm. I git-cloned wget on that farm and built it
from scratch without problems. (I did not try the official tarball.)
Of course I don't know in detail how the systems are configured.
If he has time, I am sure he could give you some hints and answers some of
your questions.
I guess you should subscribe to the list (if not already done) to not miss an
answer. see https://lists.gnu.org/mailman/listinfo/bug-wget
@Dago: the issue started here: https://savannah.gnu.org/bugs/?44090
Could you give some advice or hints on this issue ?
My compilation says:
address@hidden [global]:~/wget > src/wget --version
GNU Wget 1.16.1.40-8705-dirty built on solaris2.10.
+digest +https +ipv6 +iri +large-file -nls +ntlm +opie +psl +ssl/gnutls
Wgetrc:
/usr/local/etc/wgetrc (system)
Compile:
gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/usr/local/etc/wgetrc"
-DLOCALEDIR="/usr/local/share/locale" -I. -I../lib -I../lib
-D_REENTRANT -I/opt/csw/include -I/opt/csw/include
-I/opt/csw/include/p11-kit-1 -DHAVE_LIBGNUTLS -I/opt/csw/include
-I/opt/csw/include -DNDEBUG
Link:
gcc -I/opt/csw/include -I/opt/csw/include
-I/opt/csw/include/p11-kit-1 -DHAVE_LIBGNUTLS -I/opt/csw/include
-I/opt/csw/include -DNDEBUG -liconv -L/opt/csw/lib -lpcre -luuid
-lnettle -L/opt/csw/lib -lgnutls -L/opt/csw/lib -lz -L/opt/csw/lib
-lpsl -lsocket -lnsl -lrt -lidn -lrt ftp-opie.o gnutls.o
http-ntlm.o ../lib/libgnu.a
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Originally written by Hrvoje Niksic <address@hidden>.
Please send bug reports and questions to <address@hidden>.
address@hidden [global]:~/wget > file src/wget
src/wget: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically
linked (uses shared libs), not stripped
address@hidden [global]:~/wget > ldd src/wget
libiconv.so.2 => /opt/csw/lib/libiconv.so.2
libpcre.so.1 => /opt/csw/lib/libpcre.so.1
libuuid.so.1 => /opt/csw/lib/libuuid.so.1
libnettle.so.4 => /opt/csw/lib/libnettle.so.4
libgnutls.so.28 => /opt/csw/lib/libgnutls.so.28
libz.so.1 => /opt/csw/lib/libz.so.1
libpsl.so.0 => /opt/csw/lib/libpsl.so.0
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
librt.so.1 => /lib/librt.so.1
libidn.so.11 => /opt/csw/lib/libidn.so.11
libc.so.1 => /lib/libc.so.1
libpthread.so.1 => /lib/libpthread.so.1
libp11-kit.so.0 => /opt/csw/lib/libp11-kit.so.0
libhogweed.so.2 => /opt/csw/lib/libhogweed.so.2
libgmp.so.10 => /opt/csw/lib/libgmp.so.10
libintl.so.8 => /opt/csw/lib/libintl.so.8
libgcc_s.so.1 => /opt/csw/lib/libgcc_s.so.1
libicuuc.so.54 => /opt/csw/lib/i386/libicuuc.so.54
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libaio.so.1 => /lib/libaio.so.1
libm.so.1 => /lib/libm.so.1
libdl.so.1 => /lib/libdl.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libicudata.so.54 => /opt/csw/lib/libicudata.so.54
libm.so.2 => /lib/libm.so.2
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
Tim
Am Dienstag, 10. Februar 2015, 11:29:43 schrieb address@hidden:
> > On February 10, 2015 at 10:00 AM Tim Ruehsen <address@hidden>
> > wrote:
> >
> >
> > Follow-up Comment #2, bug #44090 (project wget):
> >
> > strcasecmp is not standard, right.
> > Wget takes this function from the gnulib code. That means we bring our
> > own
> > code with us. There is no general portability problem.
> >
> > BTW, Wget compiles well on Solaris 10 (out of the box).
> >
> > If you think that the gnulib submodule has a bug, please report to
> > gnulib.
> > Changes will automatically be pulled in not only from Wget but from
> > almost all
> > GNU projects.
>
> I will try again from scratch but the whole process generally comes
> to a halt because of that function. Which I ddid look into and I like
> that fact that it implements the Boyer-Moore string search algorithm.
> Would be even better if it were to check if the algorithm makes sense
> for a short string but that is another discussion.
>
> In any case, I recall doing this battle before when I had to build
> wget 1.14 and I simply wrote my own replacement for that call. Works
> great. I just wanted to go with code out of the box on Solaris 10 and
> have no issues. I know you say that it does compile, out of the box on
> Solaris 10 but to this I must say, have you seen it with your own eyes?
>
> Anyways :
>
> node000$ wget --version
> GNU Wget 1.14 built on solaris2.10.
>
> +digest +https +ipv6 -iri +large-file +nls +ntlm +opie +ssl/openssl
>
> Wgetrc:
> /export/home/dclarke/.wgetrc (user)
> /usr/local/etc/wgetrc (system)
> Locale: /usr/local/share/locale
> Compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H
> -DSYSTEM_WGETRC="/usr/local/etc/wgetrc"
> -DLOCALEDIR="/usr/local/share/locale" -I. -I../lib -I../lib
> -I/usr/local/include -I/usr/local/ssl/include -D_REENTRANT
> -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64
> -xmemalign=8s -xnolibmil -Xc -xcode=pic32 -xregs=no%appl -xlibmieee
> -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf
> -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -D_TS_ERRNO
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
> Link: /opt/solarisstudio12.3/bin/cc -errfmt=error -erroff=%none
> -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil
> -Xc -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none
> -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2
> -xcache=8/16/4:4096/64/16 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
> -D_LARGEFILE64_SOURCE /usr/local/lib/libiconv.so -R/usr/local/lib
> /usr/local/lib/libintl.so -L/usr/local/lib
> /usr/local/lib/libiconv.so -lc -R/usr/local/lib
> /usr/local/ssl/lib/libssl.so /usr/local/ssl/lib/libcrypto.so -lz
> -R/usr/local/ssl/lib -ldl -lz -lz -lsocket -lnsl -lrt -luuid -lrt
> ftp-opie.o openssl.o http-ntlm.o ../lib/libgnu.a
>
> Copyright (C) 2011 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://www.gnu.org/licenses/gpl.html>.
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> Originally written by Hrvoje Niksic <address@hidden>.
> Please send bug reports and questions to <address@hidden>.
>
>
> node000$ file /usr/local/bin/wget
> /usr/local/bin/wget: ELF 64-bit MSB executable SPARCV9 Version 1,
> UltraSPARC3 Extensions Required, dynamically linked, not stripped
>
> node000$ ldd /usr/local/bin/wget
> libiconv.so.2 => /usr/local/lib/libiconv.so.2
> libintl.so.8 => /usr/local/lib/libintl.so.8
> libc.so.1 => /lib/64/libc.so.1
> libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0
> libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0
> libz.so.1 => /usr/local/lib/libz.so.1
> libdl.so.1 => /lib/64/libdl.so.1
> libsocket.so.1 => /lib/64/libsocket.so.1
> libnsl.so.1 => /lib/64/libnsl.so.1
> librt.so.1 => /lib/64/librt.so.1
> libuuid.so.1 => /lib/64/libuuid.so.1
> libz.so.1 (SUNW_1.1) => (version not found)
> libmp.so.2 => /lib/64/libmp.so.2
> libmd.so.1 => /lib/64/libmd.so.1
> libscf.so.1 => /lib/64/libscf.so.1
> libaio.so.1 => /lib/64/libaio.so.1
> libdoor.so.1 => /lib/64/libdoor.so.1
> libuutil.so.1 => /lib/64/libuutil.so.1
> libgen.so.1 => /lib/64/libgen.so.1
> libm.so.2 => /lib/64/libm.so.2
> /platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr.so.1
> /platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libmd_psr.so.1
>
>
> That SUNW "libz.so.1" is a weird nit that seems to never go away.
>
> Dennis
signature.asc
Description: This is a digitally signed message part.
- Re: [Bug-wget] [bug #44090] The function strcasestr is strictly non-standard and non-portable thus wget is broken,
Tim Rühsen <=