From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48531 invoked by alias); 1 Jul 2019 14:01:28 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 48522 invoked by uid 89); 1 Jul 2019 14:01:28 -0000 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 Received: from mail-wr1-f45.google.com (HELO mail-wr1-f45.google.com) (209.85.221.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 01 Jul 2019 14:01:22 +0000 Received: by mail-wr1-f45.google.com with SMTP id u18so5845927wru.1 for ; Mon, 01 Jul 2019 07:01:22 -0700 (PDT) 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== Return-Path: Received: from ?IPv6:::1? (p200300EE670298014C6AEDB02614805D.dip0.t-ipconnect.de. [2003:ee:6702:9801:4c6a:edb0:2614:805d]) by smtp.gmail.com with ESMTPSA id b2sm8095469wrp.72.2019.07.01.07.01.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 01 Jul 2019 07:01:20 -0700 (PDT) Subject: Re: Compile gsoap as shared library - undefined references To: cygwin@cygwin.com References: <378469b3-97de-b0bb-6664-d6f9db0dc8ee@gmail.com> From: Marco Atzeri Message-ID: <74570fa8-5ca7-0dbb-0112-5bc0d63ce680@gmail.com> Date: Mon, 01 Jul 2019 14:01:00 -0000 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 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00012.txt.bz2 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-genera= ted 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 integrat= ed and fixed in the stdsoap2.c library since the struct >> may change per application (e.g. SOAP_ENV_Detail may have additional str= uct 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=3DCC --mode=3Dcompile 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=3DCC --mode=3Dcompile 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=3DCC --mode=3Dlink gcc -DWITH_IPV6 -DLINUX > -g -O2 -release 2.8.84 -Wl,--version-script=3Dgsoap.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=3Dgsoap.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=C3=BCft. 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