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