bug-wget
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]