Hello.

We have tested Naviserver RC.
No problem found on Ubuntu 20.04 and Windows10/MSVC2019/32bit.

Have an issue for Windows10/MSVC2019/64bit build.
Deprecated ns_httpget/post does not work with the error "select failed: no such 
file or directory".
Code that causes an error:
lassign [ns_sockopen -nonblock httpbin.org 80] rfd wfd
ns_sockselect -timeout 1000 {} $wfd {}
It looks like the problem is using DuplicateHandle on the socket handle and 
passing duplicated handle to the select call.
>From DuplicateHandle docs:  "Sockets. No error is returned, but the duplicate 
>handle may not be recognized by Winsock at the target process."
>From googling: should work in most cases. I was just unlucky.

Crosscompiled (gcc/mingw) for Windows 64bit Naviserver works perfectly but 
there are difficulties in configure/make/install:
        We had to make changes to the code (patch attached):
                nsthread.h - some variables are not defined,
                connchan.c - definition of beXXtoh/htobeXX, as for MSVC,
                dstring.c - realloc dstrings as for older MSVC,
                exec.c - lowercased header.
        Configure magic does not detect some settings for MINGW, they need to 
be specified explicitly
                ./configure --host=x86_64-w64-mingw32 --enable-64bit \
                                 --prefix=<path> --with-zlib=<path> 
--with-openssl=<path> --with-tcl=<path>/lib
                CFLAGS="-DHAVE_INET_PTON -DHAVE_INET_NTON -DHAVE_GETADDRINFO 
-D_WIN32_WINNT=0x600" \
                             LDFLAGS="-static-libgcc" \
                make LIBLIBS="-Wl,-Bstatic -lpthread -Wl,-Bdynamic"
        Installation script does not expect .exe extension, workaround
                cp nsthread/nsthreadtest.exe nsthread/nsthreadtest
                cp nsd/nsd.exe nsd/nsd
                cp nsproxy/nsproxy.exe nsproxy/nsproxy
                make install

Regards,
Oleg.

Attachment: naviserver.mingw.diff
Description: Binary data

_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to