On 1 December 2016 at 08:23, William A Rowe Jr <wr...@rowe-clan.net> wrote:
> Even as httpd is operating under paralysis by analysis, we are long past a
> year since the last releases.
>
> Is there anything holding up the jumps to 1.6, or 2.0?
>
> I'd personally like to see an API harmonising memcache to redis, but that
> can't possibly be a showstopper to any incremental release.
>
> If nobody else offers, I'll T&R 1.6 objects in 72 or so hours for a vote,
> alongside the first 2.0 RC.
>
> Feedback welcomed.
>

1. Currently apr 1.6.x doesn't build on Windows using makefiles:
[[[
 link.exe @C:\Users\ivan\AppData\Local\Temp\nm2BCE.tmp
   Creating library .\x64\Release\libapr-1.lib and object
.\x64\Release\libapr-1.exp
poll.obj : error LNK2019: unresolved external symbol
apr_poll_drain_wakeup_pipe referenced in function impl_pollset_poll
select.obj : error LNK2001: unresolved external symbol
apr_poll_drain_wakeup_pipe
pollcb.obj : error LNK2019: unresolved external symbol
apr_poll_create_wakeup_pipe referenced in function
apr_pollcb_create_ex
pollset.obj : error LNK2001: unresolved external symbol
apr_poll_create_wakeup_pipe
pollcb.obj : error LNK2019: unresolved external symbol
apr_poll_close_wakeup_pipe referenced in function pollcb_cleanup
pollset.obj : error LNK2001: unresolved external symbol
apr_poll_close_wakeup_pipe
.\x64\Release\libapr-1.dll : fatal error LNK1120: 3 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files
(x86)\VS14\VC\BIN\amd64\link.exe"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files
(x86)\VS14\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
]]]

Attached patch apr-1.6.x-win32-fix-makefiles-v1.patch.txt fixes this
problem. There is no makefiles for Windows on trunk, so how should I
proceed? May I just commit this patch to 1.6.x branch or it's better
to propose it to STATUS?

2. The same problem with CMake build. There is no such problem on
trunk. Attached patch apr-1.6.x-win32-fix-cmake-v1.patch

3. Compilation fails due unresolved external symbol
file_socket_pipe_close referenced in function
_apr_poll_close_wakeup_pipe. This happens because there is no
file_socket_pipe_close() function on the 1.6.x branch: it's named
apr_file_socket_pipe_close(). Solution could either backport r892386
[1] from trunk or apply attached patch
(apr-1.6.x-unix-wakeup.patch.txt) . The r892386 doesn't merge cleanly
so I think applying local patch to branch is better.

I'm not familiar with APR release/backport process yet, so please
excuse me if my questions are stupid.

[1] https://svn.apache.org/r892386

-- 
Ivan Zhakov
Index: apr.mak
===================================================================
--- apr.mak     (revision 1772461)
+++ apr.mak     (working copy)
@@ -115,6 +115,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -215,6 +216,7 @@
        "$(INTDIR)\poll.obj" \
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\select.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
@@ -329,6 +331,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -430,6 +433,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -543,6 +547,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -644,6 +649,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -757,6 +763,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -858,6 +865,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -971,6 +979,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -1072,6 +1081,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -1185,6 +1195,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\apr-1.lib"
        -@erase ".\include\apr.h"
        -@erase ".\include\apr_gen_test_char.h"
@@ -1286,6 +1297,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -1632,7 +1644,11 @@
 "$(INTDIR)\select.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
        $(CPP) $(CPP_PROJ) $(SOURCE)
 
+SOURCE=.\poll\unix\wakeup.c
 
+"$(INTDIR)\wakeup.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
+       $(CPP) $(CPP_PROJ) $(SOURCE)
+
 SOURCE=.\random\unix\apr_random.c
 
 "$(INTDIR)\apr_random.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
Index: libapr.mak
===================================================================
--- libapr.mak  (revision 1772461)
+++ libapr.mak  (working copy)
@@ -117,6 +117,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\libapr-1.dll"
        -@erase "$(OUTDIR)\libapr-1.exp"
        -@erase "$(OUTDIR)\libapr-1.lib"
@@ -245,6 +246,7 @@
        "$(INTDIR)\timestr.obj" \
        "$(INTDIR)\groupinfo.obj" \
        "$(INTDIR)\userinfo.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\libapr.res"
 
 "$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@@ -353,6 +355,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\libapr-1.dll"
        -@erase "$(OUTDIR)\libapr-1.exp"
        -@erase "$(OUTDIR)\libapr-1.lib"
@@ -481,6 +484,7 @@
        "$(INTDIR)\timestr.obj" \
        "$(INTDIR)\groupinfo.obj" \
        "$(INTDIR)\userinfo.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\libapr.res"
 
 "$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@@ -589,6 +593,7 @@
        -@erase "$(INTDIR)\userinfo.obj"
        -@erase "$(INTDIR)\utf8.obj"
        -@erase "$(INTDIR)\version.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(OUTDIR)\libapr-1.dll"
        -@erase "$(OUTDIR)\libapr-1.exp"
        -@erase "$(OUTDIR)\libapr-1.lib"
@@ -696,6 +701,7 @@
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
        "$(INTDIR)\select.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
        "$(INTDIR)\sha2_glue.obj" \
@@ -798,6 +804,7 @@
        -@erase "$(INTDIR)\poll.obj"
        -@erase "$(INTDIR)\pollcb.obj"
        -@erase "$(INTDIR)\pollset.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(INTDIR)\proc.obj"
        -@erase "$(INTDIR)\proc_mutex.obj"
        -@erase "$(INTDIR)\rand.obj"
@@ -931,6 +938,7 @@
        "$(INTDIR)\poll.obj" \
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\select.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
@@ -1034,6 +1042,7 @@
        -@erase "$(INTDIR)\poll.obj"
        -@erase "$(INTDIR)\pollcb.obj"
        -@erase "$(INTDIR)\pollset.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(INTDIR)\proc.obj"
        -@erase "$(INTDIR)\proc_mutex.obj"
        -@erase "$(INTDIR)\rand.obj"
@@ -1167,6 +1176,7 @@
        "$(INTDIR)\poll.obj" \
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\select.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
@@ -1270,6 +1280,7 @@
        -@erase "$(INTDIR)\poll.obj"
        -@erase "$(INTDIR)\pollcb.obj"
        -@erase "$(INTDIR)\pollset.obj"
+       -@erase "$(INTDIR)\wakeup.obj"
        -@erase "$(INTDIR)\proc.obj"
        -@erase "$(INTDIR)\proc_mutex.obj"
        -@erase "$(INTDIR)\rand.obj"
@@ -1403,6 +1414,7 @@
        "$(INTDIR)\poll.obj" \
        "$(INTDIR)\pollcb.obj" \
        "$(INTDIR)\pollset.obj" \
+       "$(INTDIR)\wakeup.obj" \
        "$(INTDIR)\select.obj" \
        "$(INTDIR)\apr_random.obj" \
        "$(INTDIR)\sha2.obj" \
@@ -1758,7 +1770,12 @@
 "$(INTDIR)\pollset.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
        $(CPP) $(CPP_PROJ) $(SOURCE)
 
+SOURCE=.\poll\unix\wakeup.c
 
+"$(INTDIR)\wakeup.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
+       $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
 SOURCE=.\poll\unix\select.c
 
 "$(INTDIR)\select.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 1772461)
+++ CMakeLists.txt	(working copy)
@@ -181,6 +181,7 @@
   poll/unix/pollcb.c
   poll/unix/pollset.c
   poll/unix/select.c
+  poll/unix/wakeup.c
   random/unix/apr_random.c
   random/unix/sha2.c
   random/unix/sha2_glue.c
Index: poll/unix/wakeup.c
===================================================================
--- poll/unix/wakeup.c  (revision 1772461)
+++ poll/unix/wakeup.c  (working copy)
@@ -32,8 +32,8 @@
 {
     apr_status_t rv;
 
-    if ((rv = file_socket_pipe_create(&wakeup_pipe[0], &wakeup_pipe[1],
-                                      pool)) != APR_SUCCESS)
+    if ((rv = apr_file_socket_pipe_create(&wakeup_pipe[0], &wakeup_pipe[1],
+                                          pool)) != APR_SUCCESS)
         return rv;
 
     pfd->reqevents = APR_POLLIN;
@@ -49,11 +49,11 @@
 
     /* Close both sides of the wakeup pipe */
     if (wakeup_pipe[0]) {
-        rv0 = file_socket_pipe_close(wakeup_pipe[0]);
+        rv0 = apr_file_socket_pipe_close(wakeup_pipe[0]);
         wakeup_pipe[0] = NULL;
     }
     if (wakeup_pipe[1]) {
-        rv1 = file_socket_pipe_close(wakeup_pipe[1]);
+        rv1 = apr_file_socket_pipe_close(wakeup_pipe[1]);
         wakeup_pipe[1] = NULL;
     }
     return rv0 ? rv0 : rv1;

Reply via email to