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:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=GvhEZ/khQ7KwV2aM LeS4Ga7VskWJB9q4BxdPuyzWg8xx/Rbd4CcVJRTAyzdAVjpGbGsPBjbY1Po3m5b9 aNkCnuVmNVYQecsmp2ZNTs0DAjS73wZAj31mlFtgIyD6Mv67vAx/7EZBnYSvihA4 srsDjTupmM2XtszdX5nr9jmkAK4= 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:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=CeqKTcOEmPYjUQx3H851gr sngx4=; b=vvSV3J+F9XWKL8uzZixIigvnJwmXBJrYzb7N9CEVoV+Bdcj0U9Cy3G ZpVdJmjNUhTgjmBJ+7cxqNMU6uFgOul4JZRvTMz8S+SDzmxfHfPKyV3Z7Nrq9b0l GzGE5uNkdZ7JNeeqCahk0K+wDN8i13oa8M34Q6rkWQGxnMT5qhTog= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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=-0.9 required=5.0 tests=BAYES_00,FOREIGN_BODY,FREEMAIL_FROM,GIT_PATCH_2,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.1 spammy=auf, diese, bottom, wurde X-HELO: mail-wr1-f45.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=+PlrszoGHSNJ2UIO0R72NIZptvAZRpVDu6ebEUJulg4=; b=qJ+tA0OMy8TwDuyY4/I6YaGuWLqkK80uB31XE65Mq5YSe9X/M/rzBuH8yCCBoyog6D 6H1NWSikU3MJ3/sAOXI6pJIrvqvZAwV564gKvQdP14Puhf5D3kVUNhz6Cv241gmTPCfU YmPzmaJkX2eSFx5gQ0jxtDOad9+AkhdGaobgAqwKlcKeu3AVhg7/ZGk9bAAsZgkpmKrG YstQzvRbJ24VRCG6++2TnNI+gnDGTdeCwjH+J5C6II6omPqZFtqbFN/My7TZXsgPn3Td 2XJAFCYUxhlok40x2LJNzRc8r8tkc3RSHAHSi/rnR971uxjnqVZfZyrUE2KfYGwA+PP1 bBsg== Subject: Re: Compile gsoap as shared library - undefined references To: cygwin AT cygwin DOT com References: <378469b3-97de-b0bb-6664-d6f9db0dc8ee AT gmail DOT com> From: Marco Atzeri Message-ID: <74570fa8-5ca7-0dbb-0112-5bc0d63ce680@gmail.com> Date: Mon, 1 Jul 2019 16:01:18 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id x61E2162027382 Am 01.07.2019 um 15:38 schrieb Wilhelm Eger: > Hi Marco, > > I think this is the actual problem. This might answer your question > (posted on stackoverflow for the same question): > >> 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, this seems to be valied for all undefined references. > > However, I have tried compiling the package modified as set out above > (without further adaption to cygwin) on archlinux and it compiles > fine! > > Compilation on archlinux: > > make all-recursive > make[1]: Entering directory '/home/office2pdf/test/gsoap-2.8' > Making all in . > make[2]: Entering directory '/home/office2pdf/test/gsoap-2.8' > make[2]: Leaving directory '/home/office2pdf/test/gsoap-2.8' > Making all in gsoap > make[2]: Entering directory '/home/office2pdf/test/gsoap-2.8/gsoap' > ln -s -f ../gsoap/stdsoap2.cpp stdsoap2_cpp.cpp > ln -s -f ../gsoap/dom.cpp dom_cpp.cpp > ln -s -f ../gsoap/stdsoap2.cpp stdsoap2_ck.c > ln -s -f ../gsoap/stdsoap2.cpp stdsoap2_ck_cpp.cpp > ln -s -f ../gsoap/stdsoap2.cpp stdsoap2_ssl.c > ln -s -f ../gsoap/stdsoap2.cpp stdsoap2_ssl_cpp.cpp > make all-recursive > make[3]: Entering directory '/home/office2pdf/test/gsoap-2.8/gsoap' > Making all in . > make[4]: Entering directory '/home/office2pdf/test/gsoap-2.8/gsoap' > /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. > -I.. -DWITH_IPV6 -DLINUX -g -O2 -MT libgsoap_la-stdsoap2.lo -MD > -MP -MF .deps/libgsoap_la-stdsoap2.Tpo -c -o libgsoap_la-stdsoap2.lo > `test -f 'stdsoap2.c' || echo './'`stdsoap2.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -DWITH_IPV6 -DLINUX -g > -O2 -MT libgsoap_la-stdsoap2.lo -MD -MP -MF > .deps/libgsoap_la-stdsoap2.Tpo -c stdsoap2.c -fPIC -DPIC -o > .libs/libgsoap_la-stdsoap2.o > 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.. -DWITH_IPV6 -DLINUX -g -O2 -MT libgsoap_la-dom.lo -MD -MP > -MF .deps/libgsoap_la-dom.Tpo -c -o libgsoap_la-dom.lo `test -f > 'dom.c' || echo './'`dom.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -DWITH_IPV6 -DLINUX -g > -O2 -MT libgsoap_la-dom.lo -MD -MP -MF .deps/libgsoap_la-dom.Tpo -c > dom.c -fPIC -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 -DWITH_IPV6 -DLINUX > -g -O2 -release 2.8.84 -Wl,--version-script=gsoap.sym -o libgsoap.la > -rpath /usr/local/lib libgsoap_la-stdsoap2.lo libgsoap_la-dom.lo > libtool: link: gcc -shared -fPIC -DPIC .libs/libgsoap_la-stdsoap2.o > .libs/libgsoap_la-dom.o -g -O2 -Wl,--version-script=gsoap.sym > -Wl,-soname -Wl,libgsoap-2.8.84.so -o .libs/libgsoap-2.8.84.so > libtool: link: (cd ".libs" && rm -f "libgsoap.so" && ln -s > "libgsoap-2.8.84.so" "libgsoap.so") > libtool: link: ( cd ".libs" && rm -f "libgsoap.la" && ln -s > "../libgsoap.la" "libgsoap.la" ) > [...] > > nm --undefined gsoap/.libs/libgsoap.so | grep soap > U soap_delelement > U soap_dupelement > 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_getelement > U soap_getfault > U soap_getheader > U soap_markelement > U soap_putelement > U soap_putfault > U soap_putheader > U soap_serializefault > U soap_serializeheader > > Why does the code compile on linux, but not on cygwin and how to make > this happen on cygwin? > > post bottom and trim in this mailing list, please. Windows and some other platforms do NOT allow undefined at link time, linux and some other Unix (not all) are ignoring the issue. IMHO this source package is bad defined and need modifications, so you need to work with upstream developers. --- Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus -- 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