delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/07/01/05:10:56

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:from:date:message-id:subject:to
:content-type; q=dns; s=default; b=NpD8KYaE7R/GgUsGPjOJBvU4tlSg1
tolzM8TxXfpqNTgX50tP4wHXCqTGeaMoDR2ZAggwnmwGmaVz09yv7L/kl1VgQBmN
bGRqPWDH6ZNhJNaEtuMi8syTuK23sF4mq+RY/soLzIO4os4mnnNDzplI7DF9EdMZ
c5Xm/xe8vSF+ZM=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:from:date:message-id:subject:to
:content-type; s=default; bh=Q0iMtCdwa2fUs51qqW1Gn85gno8=; b=wRP
mqQNQ/5Din9BmIyUV9bqd1X/UfbL0ATsskBYk28TAdcPEDUvqlI73lBWgcFwV45e
R9lmms2dVtSL8vasAh7aO7VaRQsIdTe6pMm88aRYn+DGJcOHGM4YQp3zqkJ/fxJE
mtpQNPXdi/ZSyWNABHOn9GL3uKzRxIcH2D6C/ttQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=
X-HELO: mail-qt1-f194.google.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=1SszA1WrHTOslUMBhGkPka+axEnSrgUQMJpZ9Rz2LvU=; b=a5uhC9vgQGkfYKLhcNpR5A4zEMdvdnnMDggqfm+0jqplDcA5IevDGWNV/LrIUUbXjG ufv3agyAHXMW/yAAiA3vVy4XIf8L+e+7dVsDqBJ4LPPZYIXs3qKx8cXccM/12KsrtEOf PmNaFkw0JFaG5TB79Cv3pHHLyljQaekaFkTsmY7cAfGMZ5uaE1JOXnnziH3I0wUuinrR mtQ6JxudxzPqf68MuMtSuDjNo4bMBOOfISw2TqbzxvgPh/t2DaGdwj+ULD9TUUFg+NTD sLtA6412r3tgcP/hGIFviURjaXl2Hs6kqCnpVX9cCdnKTxSuBFn4XrKYHy5PVAmg0QJa OaXA==
MIME-Version: 1.0
From: Wilhelm Eger <wilhelm DOT eger AT gmail DOT com>
Date: Mon, 1 Jul 2019 11:09:48 +0200
Message-ID: <CAC6GFCs8_My9Gp_9DQmRt2AQ0zOt4kvgFUNatz5Z2HEA6UDswQ@mail.gmail.com>
Subject: Compile gsoap as shared library - undefined references
To: cygwin AT cygwin DOT com
X-IsSubscribed: yes

--0000000000001ba4c1058c9afe5d
Content-Type: text/plain; charset="UTF-8"

Hello there!

This is my first post to the cygwin mailing list. Hence, I hope, this
is the right place to post my problem. It seems to be a mixture of
packaging / compiling / linking / porting problem. However, I was
thinking that starting in this list is more appropriate than in e.g.
the packagers list.

I would like to compile gsoap as a shared library to use it in another
project (kopano-core). Please note that static linking works fine.
However, I would like to achieve a shared library of gsoap. gsoap
itself provides only static compilation. However, the major
distributions deliver it as shared library. That's where I have
started:

gSoap: https://sourceforge.net/projects/gsoap2/
OpenSuse Patches for shared library:
https://build.opensuse.org/package/show/home:mrbadguy/gsoap

Please find my respective patches plus cygport package attached to this mail.

Unfortunately, the package does not build. In fact, it fails at
linking the shared library due to undefined references. Please not
that I have updated the OpenSuse patches by adding '-no-undefined' to
the libtool chain. Further, I have added 'mcmodel=large' to the CFLAGS
to work around relocation problems.

Still, undefined references are found:

make  all-recursive
make[1]: Entering directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build'
Making all in .
make[2]: Entering directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build'
make[2]: Leaving directory '/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build'
Making all in gsoap
make[2]: Entering directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.cpp
stdsoap2_cpp.cpp
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/dom.cpp
dom_cpp.cpp
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.cpp
stdsoap2_ck.c
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.cpp
stdsoap2_ck_cpp.cpp
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.cpp
stdsoap2_ssl.c
ln -s -f /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.cpp
stdsoap2_ssl_cpp.cpp
make  all-recursive
make[3]: Entering directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
Making all in .
make[4]: Entering directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap
-I..   -D_GNU_SOURCE -Wno-attributes      -mcmodel=large -DCYGWIN
-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -D_GNU_SOURCE
-Wno-attributes
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build=/usr/src/debug/gsoap-2.8.84-1
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8=/usr/src/debug/gsoap-2.8.84-1
-MT libgsoap_la-stdsoap2.lo -MD -MP -MF .deps/libgsoap_la-stdsoap2.Tpo
-c -o libgsoap_la-stdsoap2.lo `test -f 'stdsoap2.c' || echo
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/'`stdsoap2.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I.
-I/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap
-I.. -D_GNU_SOURCE -Wno-attributes -mcmodel=large -DCYGWIN -ggdb -O2
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -D_GNU_SOURCE
-Wno-attributes
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build=/usr/src/debug/gsoap-2.8.84-1
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8=/usr/src/debug/gsoap-2.8.84-1
-MT libgsoap_la-stdsoap2.lo -MD -MP -MF .deps/libgsoap_la-stdsoap2.Tpo
-c /home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c
 -DDLL_EXPORT -DPIC -o .libs/libgsoap_la-stdsoap2.o
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:
In function 'tcp_gethostbyname':
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:5074:10:
warning: unused variable 'tmplen' [-Wunused-variable]
   size_t tmplen = sizeof(soap->tmpbuf);
          ^~~~~~
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:5073:9:
warning: unused variable 'tmpbuf' [-Wunused-variable]
   char *tmpbuf = soap->tmpbuf;
         ^~~~~~
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:5072:7:
warning: unused variable 'r' [-Wunused-variable]
   int r;
       ^
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:
In function 'soap_strerror':
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/stdsoap2.c:22334:9:
warning: assignment makes integer from pointer without a cast
[-Wint-conversion]
     err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /*
XSI-compliant */
         ^
mv -f .deps/libgsoap_la-stdsoap2.Tpo .deps/libgsoap_la-stdsoap2.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap
-I..   -D_GNU_SOURCE -Wno-attributes      -mcmodel=large -DCYGWIN
-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -D_GNU_SOURCE
-Wno-attributes
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build=/usr/src/debug/gsoap-2.8.84-1
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8=/usr/src/debug/gsoap-2.8.84-1
-MT libgsoap_la-dom.lo -MD -MP -MF .deps/libgsoap_la-dom.Tpo -c -o
libgsoap_la-dom.lo `test -f 'dom.c' || echo
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/'`dom.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I.
-I/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap
-I.. -D_GNU_SOURCE -Wno-attributes -mcmodel=large -DCYGWIN -ggdb -O2
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -D_GNU_SOURCE
-Wno-attributes
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build=/usr/src/debug/gsoap-2.8.84-1
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8=/usr/src/debug/gsoap-2.8.84-1
-MT libgsoap_la-dom.lo -MD -MP -MF .deps/libgsoap_la-dom.Tpo -c
/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8/gsoap/dom.c
 -DDLL_EXPORT -DPIC -o .libs/libgsoap_la-dom.o
mv -f .deps/libgsoap_la-dom.Tpo .deps/libgsoap_la-dom.Plo
/bin/sh ../libtool  --tag=CC   --mode=link gcc      -mcmodel=large
-DCYGWIN -ggdb -O2 -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -D_GNU_SOURCE -Wno-attributes
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build=/usr/src/debug/gsoap-2.8.84-1
-fdebug-prefix-map=/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/src/gsoap-2.8=/usr/src/debug/gsoap-2.8.84-1
-release 2.8.84 -Wl,--version-script=gsoap.sym -no-undefined     -o
libgsoap.la -rpath /usr/lib libgsoap_la-stdsoap2.lo libgsoap_la-dom.lo
libtool: link: gcc -shared  .libs/libgsoap_la-stdsoap2.o
.libs/libgsoap_la-dom.o    -mcmodel=large -ggdb -O2
-fstack-protector-strong -Wl,--version-script=gsoap.sym   -o
.libs/cyggsoap-2-8-84.dll -Wl,--enable-auto-image-base -Xlinker
--out-implib -Xlinker .libs/libgsoap.dll.a
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_fault_detail[.refptr.soap_fault_detail]+0x0):
undefined reference to `soap_fault_detail'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_fault_string[.refptr.soap_fault_string]+0x0):
undefined reference to `soap_fault_string'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_fault_subcode[.refptr.soap_fault_subcode]+0x0):
undefined reference to `soap_fault_subcode'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_putfault[.refptr.soap_putfault]+0x0):
undefined reference to `soap_putfault'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_putheader[.refptr.soap_putheader]+0x0):
undefined reference to `soap_putheader'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_serializefault[.refptr.soap_serializefault]+0x0):
undefined reference to `soap_serializefault'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_serializeheader[.refptr.soap_serializeheader]+0x0):
undefined reference to `soap_serializeheader'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_getfault[.refptr.soap_getfault]+0x0):
undefined reference to `soap_getfault'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_getheader[.refptr.soap_getheader]+0x0):
undefined reference to `soap_getheader'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.namespaces[.refptr.namespaces]+0x0):
undefined reference to `namespaces'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_faultdetail[.refptr.soap_faultdetail]+0x0):
undefined reference to `soap_faultdetail'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_faultstring[.refptr.soap_faultstring]+0x0):
undefined reference to `soap_faultstring'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_faultsubcode[.refptr.soap_faultsubcode]+0x0):
undefined reference to `soap_faultsubcode'
.libs/libgsoap_la-stdsoap2.o:stdsoap2.c:(.rdata$.refptr.soap_faultcode[.refptr.soap_faultcode]+0x0):
undefined reference to `soap_faultcode'
.libs/libgsoap_la-dom.o:dom.c:(.rdata$.refptr.soap_delelement[.refptr.soap_delelement]+0x0):
undefined reference to `soap_delelement'
.libs/libgsoap_la-dom.o:dom.c:(.rdata$.refptr.soap_dupelement[.refptr.soap_dupelement]+0x0):
undefined reference to `soap_dupelement'
.libs/libgsoap_la-dom.o:dom.c:(.rdata$.refptr.soap_getelement[.refptr.soap_getelement]+0x0):
undefined reference to `soap_getelement'
.libs/libgsoap_la-dom.o:dom.c:(.rdata$.refptr.soap_putelement[.refptr.soap_putelement]+0x0):
undefined reference to `soap_putelement'
.libs/libgsoap_la-dom.o:dom.c:(.rdata$.refptr.soap_markelement[.refptr.soap_markelement]+0x0):
undefined reference to `soap_markelement'
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:574: libgsoap.la] Error 1
make[4]: Leaving directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
make[3]: *** [Makefile:797: all-recursive] Error 1
make[3]: Leaving directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
make[2]: *** [Makefile:501: all] Error 2
make[2]: Leaving directory
'/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build/gsoap'
make[1]: *** [Makefile:503: all-recursive] Error 1
make[1]: Leaving directory '/home/eger/gsoap-shared/gsoap-2.8.84-1.x86_64/build'
make: *** [Makefile:402: all] Error 2

It seems to be a problem with exporting/importing of symbols. There is
already a passage for ___dllexport in the stdsoap.h file, which looks
like:

#ifdef _WIN32
# ifndef WIN32
#  define WIN32
# endif
#endif

/* for legacy purposes we use WIN32 macro, even when WIN64 is supported */
#ifdef _WIN64
# ifndef WIN32
#  define WIN32
# endif
#endif

#ifdef WIN32
# ifdef SOAP_STD_EXPORTS        /* dllexport the API functions and classes */
#  ifndef SOAP_STD_API
#   define SOAP_STD_API __declspec(dllexport)
#  endif
#  ifndef SOAP_CMAC
#   define SOAP_CMAC SOAP_STD_API       /* export soap struct and
generated classes */
#  endif
#  ifndef SOAP_FMAC1
#   define SOAP_FMAC1 SOAP_STD_API      /* export stdsoap2.cpp API */
#  endif
#  ifndef SOAP_FMAC3
#   define SOAP_FMAC3 SOAP_STD_API      /* export soapC.cpp serializers API */
#  endif
#  ifndef SOAP_FMAC5
#   define SOAP_FMAC5 SOAP_STD_API      /* export soapClient.cpp and
soapServer.cpp API */
#  endif
# endif
#endif

I have played with this code adding defs for CYGWIN, but it did not
help. I have even removed the whole block, but that did not help
either. I have tried adding -Wl,--export-all-symbols to the gcc
-shared command - no luck.

Then I started looking in the code. The respectively undefined
references are to be found at the end of the stdsoap.h file:

SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap*);
SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap*);
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap*);
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap*);
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap*);
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap*);
SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_subcode(struct soap*);
SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_string(struct soap*);
SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_detail(struct soap*);
SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap*);
SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap*);
SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap*);
SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap*);
SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap*);
SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap*);

If the definition as given further up works, SOAP_FMAC3 is
__declspec(dllexport). Hence, they should be exported. I have tried by
adding explicitly 'extern' in front of these definitions (and also in
front of the general definition higher up), even more error messages.
I have tried to remove them, but they are referred to in stdsoap.c

However, unluckily, they are referred to without being defined. This
seems to be the major problem to me right now.

nm also reports them as being undefined (besides others):

 nm --undefined libgsoap_la-stdsoap2.o
                 U ___chkstk_ms
                 U __chk_fail
                 U __errno
                 U __imp_h_errno
                 U __locale_mb_cur_max
                 U __stack_chk_fail
                 U __stack_chk_guard
                 U accept
                 U bind
                 U close
                 U connect
                 U difftime
                 U fcntl
                 U fprintf
                 U free
                 U freelocale
                 U fwrite
                 U gethostbyname
                 U getsockopt
                 U gettimeofday
                 U gmtime_r
                 U inet_addr
                 U inet_pton
                 U listen
                 U malloc
                 U mbtowc
                 U memcpy
                 U memmove
                 U mktime
                 U namespaces
                 U newlocale
                 U poll
                 U random
                 U read
                 U recv
                 U recvfrom
                 U select
                 U send
                 U sendto
                 U setsockopt
                 U shutdown
                 U snprintf
                 U soap_fault_detail
                 U soap_fault_string
                 U soap_fault_subcode
                 U soap_faultcode
                 U soap_faultdetail
                 U soap_faultstring
                 U soap_faultsubcode
                 U soap_getfault
                 U soap_getheader
                 U soap_putfault
                 U soap_putheader
                 U soap_serializefault
                 U soap_serializeheader
                 U socket
                 U strchr
                 U strcmp
                 U strerror_r
                 U strftime
                 U strlcat
                 U strlcpy
                 U strlen
                 U strncmp
                 U strncpy
                 U strrchr
                 U strstr
                 U strtod
                 U strtol
                 U strtoll
                 U strtoul
                 U strtoull
                 U time
                 U timegm
                 U uselocale
                 U wctomb
                 U write

nm --undefined libgsoap_la-dom.o
                 U __stack_chk_fail
                 U __stack_chk_guard
                 U free
                 U malloc
                 U snprintf
                 U soap_attribute
                 U soap_begin_count
                 U soap_begin_recv
                 U soap_closesock
                 U soap_connect_command
                 U soap_current_namespace_att
                 U soap_current_namespace_tag
                 U soap_delelement
                 U soap_double_nan
                 U soap_double2s
                 U soap_dupelement
                 U soap_element
                 U soap_element_begin_in
                 U soap_element_end_in
                 U soap_element_end_out
                 U soap_element_start_end_out
                 U soap_end_count
                 U soap_end_recv
                 U soap_end_send
                 U soap_getelement
                 U soap_http_get_body
                 U soap_LONG642s
                 U soap_lookup_ns
                 U soap_malloc
                 U soap_markelement
                 U soap_peek_element
                 U soap_push_namespace
                 U soap_putelement
                 U soap_s2double
                 U soap_s2int
                 U soap_s2long
                 U soap_s2LONG64
                 U soap_send
                 U soap_set_attr
                 U soap_strdup
                 U soap_string_in
                 U soap_string_out
                 U soap_strtrim
                 U soap_wchar2s
                 U strchr
                 U strcmp
                 U strlen
                 U strncmp
                 U strncpy

However, they are not to be found.

Hence, I am currently stuck on this problem (since a few days already
now). I have opened a ticket on the respective sourceforge site
(without no reaction yet): https://sourceforge.net/p/gsoap2/bugs/1249/
I have also asked on stackoverflow:
https://stackoverflow.com/questions/56811125/compiling-gsoap-on-cygwin-as-shared-library-undefined-reference-relocation-tr

There was already one reaction letting me know:

The soap_faultcode and other functions are not defined in stdsoap2.c
but are referenced in stdsoap2.c and should be linked with the
soapcpp2-generated code e.g. soapC.c that define these functions.
These functions depend on the way SOAP_ENV__Fault struct is declared
(in the .h file for soapcpp2) and therefore these functions cannot be
integrated and fixed in the stdsoap2.c library since the struct may
change per application (e.g. SOAP_ENV_Detail may have additional
struct members).

Hence, I appreciated very much any intput in this matter. Maybe we
even get so far that we can implement gsoap as a shared library
package! Thanks in advance!

Wilhelm

--0000000000001ba4c1058c9afe5d
Content-Type: application/octet-stream; name="sharedlibs.patch"
Content-Disposition: attachment; filename="sharedlibs.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_jxk5woab3>
X-Attachment-Id: f_jxk5woab3

LS0tIGNvbmZpZ3VyZS5hYworKysgY29uZmlndXJlLmFjCkBAIC0xNSw4ICsx
NSw4IEBAIEFNX1BST0dfQ0NfQ19PCiBBTV9QUk9HX0xFWAogQUNfUFJPR19Z
QUNDCiBBQ19QUk9HX0NQUAotQUNfUFJPR19SQU5MSUIKLSNBTV9QUk9HX0xJ
QlRPT0wKK0FNX0RJU0FCTEVfU1RBVElDCitBTV9QUk9HX0xJQlRPT0wKIEFD
X1BST0dfTE5fUwogQUNfUFJPR19BV0sKIEFDX1BST0dfSU5TVEFMTApAQCAt
Mjk0LDcgKzI5NCw3IEBAIGlmIHRlc3QgIngkd2l0aF9vcGVuc3NsIiA9ICJ4
eWVzIjsgdGhlbgogICAgIFdTREwySF9FWFRSQV9MSUJTPSIke1dTREwySF9F
WFRSQV9MSUJTfSAtbGdudXRscyAtbGdjcnlwdCAtbGdwZy1lcnJvciAtbHoi
CiAgICAgU0FNUExFX0lOQ0xVREVTPQogICAgIFNBTVBMRV9TU0xfTElCUz0i
LWxnbnV0bHMgLWxnY3J5cHQgLWxncGctZXJyb3IgLWx6IgotICAgIFdTREwy
SF9TT0FQX0NQUF9MSUI9ImxpYmdzb2Fwc3NsKysuYSIKKyAgICBXU0RMMkhf
U09BUF9DUFBfTElCPSJsaWJnc29hcHNzbCsrLmxhIgogICBlbHNlCiAgICAg
QUNfTVNHX1JFU1VMVChubykKICAgICBXU0RMMkhfRVhUUkFfRkxBR1M9Ii1E
V0lUSF9PUEVOU1NMIC1EV0lUSF9HWklQIgpAQCAtMzAyLDcgKzMwMiw3IEBA
IGlmIHRlc3QgIngkd2l0aF9vcGVuc3NsIiA9ICJ4eWVzIjsgdGhlbgogICAg
IFdTREwySF9FWFRSQV9MSUJTPSIke1dTREwySF9FWFRSQV9MSUJTfSAtbHNz
bCAtbGNyeXB0byAtbHoiCiAgICAgU0FNUExFX0lOQ0xVREVTPQogICAgIFNB
TVBMRV9TU0xfTElCUz0iLWxzc2wgLWxjcnlwdG8gLWx6IgotICAgIFdTREwy
SF9TT0FQX0NQUF9MSUI9ImxpYmdzb2Fwc3NsKysuYSIKKyAgICBXU0RMMkhf
U09BUF9DUFBfTElCPSJsaWJnc29hcHNzbCsrLmxhIgogICBmaQogICBpZiB0
ZXN0IC1uICIkWkxJQiI7IHRoZW4KICAgICBXU0RMMkhfRVhUUkFfRkxBR1M9
Ii1JJHtaTElCfS9pbmNsdWRlICR7V1NETDJIX0VYVFJBX0ZMQUdTfSIKQEAg
LTMyMSw3ICszMjEsNyBAQCBlbHNlCiAgIFdTREwySF9FWFRSQV9GTEFHUz0K
ICAgU0FNUExFX1NTTF9MSUJTPQogICBTQU1QTEVfSU5DTFVERVM9Ci0gIFdT
REwySF9TT0FQX0NQUF9MSUI9ImxpYmdzb2FwKysuYSIKKyAgV1NETDJIX1NP
QVBfQ1BQX0xJQj0ibGliZ3NvYXArKy5sYSIKIGZpCiBBTV9DT05ESVRJT05B
TChXSVRIX09QRU5TU0wsIHRlc3QgIngkd2l0aF9vcGVuc3NsIiA9ICJ4eWVz
IiAtYSAieCR3aXRoX2dudXRscyIgIT0gInh5ZXMiKQogQUNfU1VCU1QoV0lU
SF9PUEVOU1NMKQotLS0gZ3NvYXAvTWFrZWZpbGUuYW0KKysrIGdzb2FwL01h
a2VmaWxlLmFtCkBAIC0zNCwyMCArMzQsMzQgQEAgc3Rkc29hcDJfc3NsX2Nw
cC5jcHA6IHN0ZHNvYXAyLmNwcAogZG9tX2NwcC5jcHA6IGRvbS5jcHAKIAkk
KExOX1MpIC1mICQodG9wX3NyY2RpcikvZ3NvYXAvZG9tLmNwcCBkb21fY3Bw
LmNwcAogCi1saWJfTElCUkFSSUVTID0gbGliZ3NvYXAuYSBsaWJnc29hcCsr
LmEgbGliZ3NvYXBjay5hIGxpYmdzb2FwY2srKy5hIGxpYmdzb2Fwc3NsLmEg
bGliZ3NvYXBzc2wrKy5hCitsaWJfTFRMSUJSQVJJRVMgPSBsaWJnc29hcC5s
YSBsaWJnc29hcCsrLmxhIGxpYmdzb2FwY2subGEgbGliZ3NvYXBjaysrLmxh
IGxpYmdzb2Fwc3NsLmxhIGxpYmdzb2Fwc3NsKysubGEKIAotbGliZ3NvYXBf
YV9TT1VSQ0VTID0gc3Rkc29hcDIuYyBkb20uYwotbGliZ3NvYXBfYV9DRkxB
R1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNF
UykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAk
KFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pCi1saWJnc29h
cF9fX2FfU09VUkNFUyA9IHN0ZHNvYXAyX2NwcC5jcHAgZG9tX2NwcC5jcHAK
LWxpYmdzb2FwX19fYV9DWFhGTEFHUyA9ICQoU09BUENQUDJfREVCVUcpICQo
U09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0NfTE9DQUxF
KSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9OTFkpIC1E
JChwbGF0Zm9ybSkKLWxpYmdzb2FwY2tfYV9TT1VSQ0VTID0gc3Rkc29hcDJf
Y2suYyBkb20uYwotbGliZ3NvYXBja19hX0NGTEFHUyA9ICQoU09BUENQUDJf
REVCVUcpICQoU09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05P
X0NfTE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJfSVBWNl9W
Nk9OTFkpIC1EJChwbGF0Zm9ybSkgLURXSVRIX0NPT0tJRVMKLWxpYmdzb2Fw
Y2tfX19hX1NPVVJDRVMgPSBzdGRzb2FwMl9ja19jcHAuY3BwIGRvbV9jcHAu
Y3BwCi1saWJnc29hcGNrX19fYV9DWFhGTEFHUyA9ICQoU09BUENQUDJfREVC
VUcpICQoU09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0Nf
TE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9O
TFkpIC1EJChwbGF0Zm9ybSkgLURXSVRIX0NPT0tJRVMKLWxpYmdzb2Fwc3Ns
X2FfU09VUkNFUyA9IHN0ZHNvYXAyX3NzbC5jIGRvbS5jCi1saWJnc29hcHNz
bF9hX0NGTEFHUyA9ICQoU09BUENQUDJfREVCVUcpICQoU09BUENQUDJfTk9O
QU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAy
X0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9OTFkpIC1EJChwbGF0Zm9ybSkg
JChXU0RMMkhfRVhUUkFfRkxBR1MpIC1EV0lUSF9ET00gLURXSVRIX0NPT0tJ
RVMKLWxpYmdzb2Fwc3NsX19fYV9TT1VSQ0VTID0gc3Rkc29hcDJfc3NsX2Nw
cC5jcHAgZG9tX2NwcC5jcHAKLWxpYmdzb2Fwc3NsX19fYV9DWFhGTEFHUyA9
ICQoU09BUENQUDJfREVCVUcpICQoU09BUENQUDJfTk9OQU1FU1BBQ0VTKSAk
KFNPQVBDUFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09B
UENQUDJfSVBWNl9WNk9OTFkpIC1EJChwbGF0Zm9ybSkgJChXU0RMMkhfRVhU
UkFfRkxBR1MpIC1EV0lUSF9ET00gLURXSVRIX0NPT0tJRVMKK2xpYmdzb2Fw
X2xhX1NPVVJDRVMgPSBzdGRzb2FwMi5jIGRvbS5jCitsaWJnc29hcF9sYV9D
RkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQ
QUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2
KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtbWNtb2RlbD1sYXJnZSAtRCQo
cGxhdGZvcm0pCitsaWJnc29hcF9fX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9j
cHAuY3BwIGRvbV9jcHAuY3BwCitsaWJnc29hcF9fX2xhX0NYWEZMQUdTID0g
JChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQo
U09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQ
Q1BQMl9JUFY2X1Y2T05MWSkgLW1jbW9kZWw9bGFyZ2UgLUQkKHBsYXRmb3Jt
KQorbGliZ3NvYXBja19sYV9TT1VSQ0VTID0gc3Rkc29hcDJfY2suYyBkb20u
YworbGliZ3NvYXBja19sYV9DRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAk
KFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FM
RSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAt
bWNtb2RlbD1sYXJnZSAtRCQocGxhdGZvcm0pIC1EV0lUSF9DT09LSUVTCits
aWJnc29hcGNrX19fbGFfU09VUkNFUyA9IHN0ZHNvYXAyX2NrX2NwcC5jcHAg
ZG9tX2NwcC5jcHAKK2xpYmdzb2FwY2tfX19sYV9DWFhGTEFHUyA9ICQoU09B
UENQUDJfREVCVUcpICQoU09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBD
UFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJf
SVBWNl9WNk9OTFkpIC1tY21vZGVsPWxhcmdlIC1EJChwbGF0Zm9ybSkgLURX
SVRIX0NPT0tJRVMKK2xpYmdzb2Fwc3NsX2xhX1NPVVJDRVMgPSBzdGRzb2Fw
Ml9zc2wuYyBkb20uYworbGliZ3NvYXBzc2xfbGFfQ0ZMQUdTID0gJChTT0FQ
Q1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQ
UDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9J
UFY2X1Y2T05MWSkgLW1jbW9kZWw9bGFyZ2UgLUQkKHBsYXRmb3JtKSAkKFdT
REwySF9FWFRSQV9GTEFHUykgLURXSVRIX0RPTSAtRFdJVEhfQ09PS0lFUwor
bGliZ3NvYXBzc2xfX19sYV9TT1VSQ0VTID0gc3Rkc29hcDJfc3NsX2NwcC5j
cHAgZG9tX2NwcC5jcHAKK2xpYmdzb2Fwc3NsX19fbGFfQ1hYRkxBR1MgPSAk
KFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChT
T0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBD
UFAyX0lQVjZfVjZPTkxZKSAtbWNtb2RlbD1sYXJnZSAtRCQocGxhdGZvcm0p
ICQoV1NETDJIX0VYVFJBX0ZMQUdTKSAtRFdJVEhfRE9NIC1EV0lUSF9DT09L
SUVTCitsaWJnc29hcF9sYV9MREZMQUdTID0gLXJlbGVhc2UgJHtQQUNLQUdF
X1ZFUlNJT059IC1XbCwtLXZlcnNpb24tc2NyaXB0PWdzb2FwLnN5bSAtbm8t
dW5kZWZpbmVkICAgCitsaWJnc29hcF9fX2xhX0xERkxBR1MgPSAtcmVsZWFz
ZSAke1BBQ0tBR0VfVkVSU0lPTn0gLVdsLC0tdmVyc2lvbi1zY3JpcHQ9Z3Nv
YXArKy5zeW0gLW5vLXVuZGVmaW5lZCAgCitsaWJnc29hcGNrX2xhX0xERkxB
R1MgPSAtcmVsZWFzZSAke1BBQ0tBR0VfVkVSU0lPTn0gLVdsLC0tdmVyc2lv
bi1zY3JpcHQ9Z3NvYXBjay5zeW0gLW5vLXVuZGVmaW5lZCAgCitsaWJnc29h
cGNrX19fbGFfTERGTEFHUyA9IC1yZWxlYXNlICR7UEFDS0FHRV9WRVJTSU9O
fSAtV2wsLS12ZXJzaW9uLXNjcmlwdD1nc29hcGNrKysuc3ltIC1uby11bmRl
ZmluZWQgIAorbGliZ3NvYXBzc2xfbGFfTERGTEFHUyA9IC1yZWxlYXNlICR7
UEFDS0FHRV9WRVJTSU9OfSAtV2wsLS12ZXJzaW9uLXNjcmlwdD1nc29hcHNz
bC5zeW0gLW5vLXVuZGZpbmVkICAKK2xpYmdzb2Fwc3NsX2xhX0xJQkFERCA9
ICR7U0FNUExFX1NTTF9MSUJTfQorbGliZ3NvYXBzc2xfX19sYV9MREZMQUdT
ID0gLXJlbGVhc2UgJHtQQUNLQUdFX1ZFUlNJT059IC1XbCwtLXZlcnNpb24t
c2NyaXB0PWdzb2Fwc3NsKysuc3ltIC1uby11bmRlZmluZWQgIAorbGliZ3Nv
YXBzc2xfX19sYV9MSUJBREQgPSAke2xpYmdzb2Fwc3NsX2xhX0xJQkFERH0K
K0VYVFJBX2xpYmdzb2FwX2xhX0RFUEVOREVOQ0lFUyA9IGdzb2FwLnN5bQor
RVhUUkFfbGliZ3NvYXBfX19sYV9ERVBFTkRFTkNJRVMgPSBnc29hcCsrLnN5
bQorRVhUUkFfbGliZ3NvYXBja19sYV9ERVBFTkRFTkNJRVMgPSBnc29hcGNr
LnN5bQorRVhUUkFfbGliZ3NvYXBja19fX2xhX0RFUEVOREVOQ0lFUyA9IGdz
b2FwY2srKy5zeW0KK0VYVFJBX2xpYmdzb2Fwc3NsX2xhX0RFUEVOREVOQ0lF
UyA9IGdzb2Fwc3NsLnN5bQorRVhUUkFfbGliZ3NvYXBzc2xfX19sYV9ERVBF
TkRFTkNJRVMgPSBnc29hcHNzbCsrLnN5bQogCiBCVUlMVF9TT1VSQ0VTID0g
c3Rkc29hcDJfY3BwLmNwcCBkb21fY3BwLmNwcCBzdGRzb2FwMl9jay5jIHN0
ZHNvYXAyX2NrX2NwcC5jcHAgc3Rkc29hcDJfc3NsLmMgc3Rkc29hcDJfc3Ns
X2NwcC5jcHAKCi0tLSAvZGV2L251bGwKKysrIGdzb2FwL2dzb2FwKysuc3lt
CkBAIC0wLDAgKzEgQEAKK0dTT0FQWFggeyBnbG9iYWw6ICo7IH07Ci0tLSAv
ZGV2L251bGwKKysrIGdzb2FwL2dzb2FwLnN5bQpAQCAtMCwwICsxIEBACitH
U09BUCB7IGdsb2JhbDogKjsgfTsKLS0tIC9kZXYvbnVsbAorKysgZ3NvYXAv
Z3NvYXBjaysrLnN5bQpAQCAtMCwwICsxIEBACitHU09BUENLWFggeyBnbG9i
YWw6ICo7IH07Ci0tLSAvZGV2L251bGwKKysrIGdzb2FwL2dzb2FwY2suc3lt
CkBAIC0wLDAgKzEgQEAKK0dTT0FQQ0sgeyBnbG9iYWw6ICo7IH07Ci0tLSAv
ZGV2L251bGwKKysrIGdzb2FwL2dzb2FwY2tzc2wrKy5zeW0KQEAgLTAsMCAr
MSBAQAorR1NPQVBDS1NTTFhYIHsgZ2xvYmFsOiAqOyB9OwotLS0gL2Rldi9u
dWxsCisrKyBnc29hcC9nc29hcGNrc3NsLnN5bQpAQCAtMCwwICsxIEBACitH
U09BUENLU1NMIHsgZ2xvYmFsOiAqOyB9OwotLS0gL2Rldi9udWxsCisrKyBn
c29hcC9nc29hcHNzbCsrLnN5bQpAQCAtMCwwICsxIEBACitHU09BUFNTTFhY
IHsgZ2xvYmFsOiAqOyB9OwotLS0gL2Rldi9udWxsCisrKyBnc29hcC9nc29h
cHNzbC5zeW0KQEAgLTAsMCArMSBAQAorR1NPQVBTU0wgeyBnbG9iYWw6ICo7
IH07IAoK

--0000000000001ba4c1058c9afe5d
Content-Type: application/octet-stream; name="automake.patch"
Content-Disposition: attachment; filename="automake.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_jxk5wo9l0>
X-Attachment-Id: f_jxk5wo9l0

LS0tIGNvbmZpZ3VyZS5hYworKysgY29uZmlndXJlLmFjCkBAIC00LDggKzQs
NyBAQCBBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKIEFDX0NPTkZJR19T
UkNESVIoW2dzb2FwL3N0ZHNvYXAyLmNwcF0pCiBBQ19DQU5PTklDQUxfSE9T
VAogCi0jIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCi1BTV9DT05G
SUdfSEVBREVSKGNvbmZpZy5oKQorQUNfQ09ORklHX0hFQURFUlMoW2NvbmZp
Zy5oXSkKIAogIyB3ZSB1c2Ugc3ViZGlycy4KIEFDX1BST0dfTUFLRV9TRVQg
Cgo=

--0000000000001ba4c1058c9afe5d
Content-Type: application/octet-stream; name="gsoap.cygport"
Content-Disposition: attachment; filename="gsoap.cygport"
Content-Transfer-Encoding: base64
Content-ID: <f_jxk5woa42>
X-Attachment-Id: f_jxk5woa42

IyBwYWNrYWdlIG5hbWUKTkFNRT0iZ3NvYXAiClZFUlNJT049Mi44Ljg0ClJF
TEVBU0U9MQoKIyAuaGludCBnZW5lcmF0aW9uCkNBVEVHT1JZPSJMaWJzIgpT
VU1NQVJZPSdEZXZlbG9wbWVudCB0b29sa2l0IGZvciBXZWIgU2VydmljZXMg
YW5kIFhNTCBkYXRhIGJpbmRpbmdzIGZvciBDICYgQysrJwpERVNDUklQVElP
Tj0nVGhlIGdTT0FQIHRvb2xraXQgaXMgYW4gZXh0ZW5zaXZlIHN1aXRlIG9m
IHBvcnRhYmxlIEMgYW5kIEMrKyBzb2Z0d2FyZSB0byBkZXZlbG9wIFhNTCBX
ZWIgc2VydmljZXMgd2l0aCBwb3dlcmZ1bCB0eXBlLXNhZmUgWE1MIGRhdGEg
YmluZGluZ3MuIEVhc3ktdG8tdXNlIGNvZGUtZ2VuZXJhdG9yIHRvb2xzIGFs
bG93IHlvdSB0byBkaXJlY3RseSBpbnRlZ3JhdGUgWE1MIGRhdGEgaW4gQyBh
bmQgQysrLiBTZXJpYWxpemVzIG5hdGl2ZSBhcHBsaWNhdGlvbiBkYXRhIGlu
IFhNTC4gSW5jbHVkZXMgV1NETC9YU0Qgc2NoZW1hIGJpbmRpbmcgYW5kIGF1
dG8tY29kaW5nIHRvb2xzLCBzdHViL3NrZWxldG9uIGNvbXBpbGVyLCBXZWIg
c2VydmVyIGludGVncmF0aW9uIHdpdGggQXBhY2hlIG1vZHVsZSBhbmQgSUlT
IGV4dGVuc2lvbiwgaGlnaC1wZXJmb3JtYW5jZSBYTUwgcHJvY2Vzc2luZyB3
aXRoIHNjaGVtYSB2YWxpZGF0aW9uLCBmYXN0IE1JTUUvTVRPTSBzdHJlYW1p
bmcsIFNPQVAgYW5kIFJFU1QgV2ViIEFQSSBkZXZlbG9wbWVudCwgV1MtKiBw
cm90b2NvbHMgKFdTLVNlY3VyaXR5LCBXUy1Qb2xpY3ksIFdTLVJlbGlhYmxl
TWVzc2FnaW5nLCBldGMpLCBYTUwtUlBDIGFuZCBKU09OLiBMaWNlbnNlZCB1
bmRlciBHUEx2Mi4nCgojIHNvdXJjZSBhbmQgcGF0Y2ggZmlsZXMKU1JDX1VS
ST0iaHR0cHM6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2dzb2FwMi9n
c29hcF8ke1ZFUlNJT059LnppcCIKUEFUQ0hfVVJJPSJnZXRob3N0YnluYW1l
LnBhdGNoIGF1dG9tYWtlLnBhdGNoIHNoYXJlZGxpYnMucGF0Y2giClNSQ19E
SVI9Imdzb2FwLTIuOCIKCmV4cG9ydCBDUFBGTEFHUz0iJHtDUFBGTEFHU30g
LURfR05VX1NPVVJDRSAtV25vLWF0dHJpYnV0ZXMiCmV4cG9ydCBDRkxBR1M9
IiR7Q0ZMQUdTfSAtRF9HTlVfU09VUkNFIC1Xbm8tYXR0cmlidXRlcyIKCkNZ
R0NPTkZfQVJHUz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtc2FtcGxl
cyIKCk1BS0VPUFRTPSItajEiCgpwcmVwYXJlKCkgewoJY2QgIiR7U30iCglj
bXAgZ3NvYXAvc3Rkc29hcDIuY3BwIGdzb2FwL3N0ZHNvYXAyLmMKCWxuIC1m
cyBzdGRzb2FwMi5jcHAgZ3NvYXAvc3Rkc29hcDIuYwp9CgpzcmNfY29tcGls
ZSgpIHsKCWNkICR7U30KCWN5Z2F1dG9yZWNvbmYKCWNkICR7Qn0KCW1rZGly
IC1wIGdzb2FwCgljcCAiJHtTfSIvZ3NvYXAvKi5zeW0gIiR7Qn0iL2dzb2Fw
LwoJY3lnY29uZgoJY3lnbWFrZQp9Cgo=

--0000000000001ba4c1058c9afe5d
Content-Type: application/octet-stream; name="gethostbyname.patch"
Content-Disposition: attachment; filename="gethostbyname.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_jxk5wo9x1>
X-Attachment-Id: f_jxk5wo9x1

LS0tIGdzb2FwL3N0ZHNvYXAyLmNwcAkyMDE5LTA2LTIzIDIzOjAyOjUzLjE4
NDM1MDAwMCArMDIwMAorKysgZ3NvYXAvc3Rkc29hcDIuY3BwCTIwMTktMDYt
MjMgMjM6MDM6MTQuNTg2NzU0NzAwICswMjAwCkBAIC01MTAxLDIxICs1MTAx
LDYgQEAKICAgICBob3N0ZW50ID0gTlVMTDsKICAgICBzb2FwLT5lcnJudW0g
PSBoX2Vycm5vOwogICB9Ci0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYg
KCFfR05VX1NPVVJDRSAmJiAhZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYm
ICFkZWZpbmVkIChfWE9QRU5fU09VUkNFKSAmJiBkZWZpbmVkKEhBVkVfR0VU
SE9TVEJZTkFNRV9SKSkgfHwgX1BPU0lYX0NfU09VUkNFID49IDIwMDExMkwg
fHwgX1hPUEVOX1NPVVJDRSA+PSA2MDAgfHwgZGVmaW5lZChfX0FORFJPSURf
XykgfHwgKGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1IpICYmIChkZWZp
bmVkKEZSRUVCU0QpIHx8IGRlZmluZWQoX19GcmVlQlNEX18pKSkKLSAgd2hp
bGUgKChyID0gZ2V0aG9zdGJ5bmFtZV9yKGFkZHIsIGhvc3RlbnQsIHRtcGJ1
ZiwgdG1wbGVuLCAmaG9zdGVudCwgJnNvYXAtPmVycm51bSkpIDwgMCkKLSAg
ewotICAgIGlmICh0bXBidWYgIT0gc29hcC0+dG1wYnVmKQotICAgICAgU09B
UF9GUkVFKHNvYXAsIHRtcGJ1Zik7Ci0gICAgaWYgKHIgIT0gU09BUF9FUkFO
R0UpCi0gICAgewotICAgICAgaG9zdGVudCA9IE5VTEw7Ci0gICAgICBicmVh
azsKLSAgICB9Ci0gICAgdG1wbGVuICo9IDI7Ci0gICAgdG1wYnVmID0gKGNo
YXIqKVNPQVBfTUFMTE9DKHNvYXAsIHRtcGxlbik7Ci0gICAgaWYgKCF0bXBi
dWYpCi0gICAgICBicmVhazsKLSAgfQogI2VsaWYgZGVmaW5lZChIQVZFX0dF
VEhPU1RCWU5BTUVfUikKICAgaG9zdGVudCA9IGdldGhvc3RieW5hbWVfcihh
ZGRyLCBob3N0ZW50LCB0bXBidWYsIHRtcGxlbiwgJnNvYXAtPmVycm51bSk7
CiAjZWxpZiBkZWZpbmVkKFZYV09SS1MpCi0tLSBnc29hcC9zdGRzb2FwMi5j
CTIwMTktMDYtMjMgMjM6MDI6NDcuNzU0Njg1MTAwICswMjAwCisrKyBnc29h
cC9zdGRzb2FwMi5jCTIwMTktMDYtMjMgMjM6MDM6MjcuOTY3NjYzMzAwICsw
MjAwCkBAIC01MTAxLDIxICs1MTAxLDYgQEAKICAgICBob3N0ZW50ID0gTlVM
TDsKICAgICBzb2FwLT5lcnJudW0gPSBoX2Vycm5vOwogICB9Ci0jZWxpZiBk
ZWZpbmVkKF9fR0xJQkNfXykgJiYgKCFfR05VX1NPVVJDRSAmJiAhZGVmaW5l
ZChfUE9TSVhfQ19TT1VSQ0UpICYmICFkZWZpbmVkIChfWE9QRU5fU09VUkNF
KSAmJiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKSkgfHwgX1BPU0lY
X0NfU09VUkNFID49IDIwMDExMkwgfHwgX1hPUEVOX1NPVVJDRSA+PSA2MDAg
fHwgZGVmaW5lZChfX0FORFJPSURfXykgfHwgKGRlZmluZWQoSEFWRV9HRVRI
T1NUQllOQU1FX1IpICYmIChkZWZpbmVkKEZSRUVCU0QpIHx8IGRlZmluZWQo
X19GcmVlQlNEX18pKSkKLSAgd2hpbGUgKChyID0gZ2V0aG9zdGJ5bmFtZV9y
KGFkZHIsIGhvc3RlbnQsIHRtcGJ1ZiwgdG1wbGVuLCAmaG9zdGVudCwgJnNv
YXAtPmVycm51bSkpIDwgMCkKLSAgewotICAgIGlmICh0bXBidWYgIT0gc29h
cC0+dG1wYnVmKQotICAgICAgU09BUF9GUkVFKHNvYXAsIHRtcGJ1Zik7Ci0g
ICAgaWYgKHIgIT0gU09BUF9FUkFOR0UpCi0gICAgewotICAgICAgaG9zdGVu
dCA9IE5VTEw7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgdG1wbGVuICo9
IDI7Ci0gICAgdG1wYnVmID0gKGNoYXIqKVNPQVBfTUFMTE9DKHNvYXAsIHRt
cGxlbik7Ci0gICAgaWYgKCF0bXBidWYpCi0gICAgICBicmVhazsKLSAgfQog
I2VsaWYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUikKICAgaG9zdGVu
dCA9IGdldGhvc3RieW5hbWVfcihhZGRyLCBob3N0ZW50LCB0bXBidWYsIHRt
cGxlbiwgJnNvYXAtPmVycm51bSk7CiAjZWxpZiBkZWZpbmVkKFZYV09SS1Mp
Ci0tLSBnc29hcC9zcmMvc3ltYm9sMi5jCTIwMTktMDYtMjMgMjM6MjA6MzQu
ODY2OTg5ODAwICswMjAwCisrKyBnc29hcC9zcmMvc3ltYm9sMi5jCTIwMTkt
MDYtMjMgMjM6MTk6MjkuODI4Mzg0ODAwICswMjAwCkBAIC0zNyw3ICszNyw3
IEBACiAjaW5jbHVkZSAic29hcGNwcDIuaCIKIAogI2lmZGVmIEhBVkVfQ09O
RklHX0gKLSNpbmNsdWRlICJzb2FwY3BwMl95YWNjLmgiCisjaW5jbHVkZSAi
c29hcGNwcDJfeWFjYy50YWIuaCIKICNlbHNlCiAjaW5jbHVkZSAic29hcGNw
cDJfeWFjYy50YWIuaCIKICNlbmRpZgo=


--0000000000001ba4c1058c9afe5d
Content-Type: text/plain; charset=us-ascii


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--0000000000001ba4c1058c9afe5d--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019