On Nov  4 11:24, Corinna Vinschen via Cygwin wrote:
> On Oct 29 22:35, Named T. Relay via Cygwin wrote:
> > Hello,
> > 
> > Today i installed cygwin to compile a windows .exe out of a Linux source 
> > program.
> > While G++ on Linux compiles it correctly into a binary, on cygwin i got an 
> > issue during linking:
> > 
> > $ g++ -O2 -Wall -Isrc -o bin/sealtool <SNIP> src/sign-verify.cpp -lcrypto 
> > -lssl -lcurl -lresolv
> > /usr/lib/gcc/x86_64-pc-cygwin/12/../../../../x86_64-pc-cygwin/bin/ld: 
> > /tmp/ccA3GExv.o:sign-verify.cp:(.text+0x437): undefined reference to 
> > `__ns_initparse'
> > /usr/lib/gcc/x86_64-pc-cygwin/12/../../../../x86_64-pc-cygwin/bin/ld: 
> > /tmp/ccA3GExv.o:sign-verify.cp:(.text+0x49a): undefined reference to 
> > `__ns_parserr'
> > collect2: error: ld returned 1 exit status
> > 
> > >From looking at the nm results, the provided libresolv library does not 
> > >include these symbols.
> > (But my linux distro's version of libresolv DOES have them!)
> > 
> > Does anyone know why these symbols are missing?
> 
> They have never been implemented in Cygwin itself. Cygwin only has a
> piece of source called minires, a simple resolver lib depending on
> the underlying Windows resolver, providing the res_FOO symbols from
> resolv.h.  The nameserver symbols from nameser.h are not part of the
> Cywin core lib.  Maybe you have more luck with the (unmaintained)
> bind libs?

But then again, if you use the bind libs, you have to maintain your own
/etc/resolv.conf, since the bind libs don't call the Cygwin resolver and
thus have no access to the OS resolver.


Corinna

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

Reply via email to