| 1 | | [[TOC]] |
| 2 | | |
| 3 | | == version 1.2.9 == |
| 4 | | |
| 5 | | ||R5||untested|| |
| 6 | | ||BONE||unstable|| |
| 7 | | ||Haiku||untested|| |
| 8 | | |
| 9 | | === revision 1 (brecht) - [BONE] === |
| 10 | | |
| 11 | | On compiling {{{testfmt.c}}} |
| 12 | | |
| 13 | | {{{ |
| 14 | | output_operand_lossage `invalid expression as operand' |
| 15 | | }}} |
| 16 | | |
| 17 | | This can be avoided by not passing the '-g' option to gcc for this test. |
| 18 | | |
| 19 | | {{{ |
| 20 | | libtool: link: warning: undefined symbols not allowed in i586-pc-beos shared libraries |
| 21 | | }}} |
| 22 | | |
| 23 | | Failed tests: |
| 24 | | {{{ |
| 25 | | testmutexscope: testmutexscope.c:168: test_mech_mode: Assertion `rv == APR_SUCCESS' failed. |
| 26 | | Abort |
| 27 | | }}} |
| 28 | | {{{ |
| 29 | | testdso : FAILED 4 of 5 |
| 30 | | }}} |
| 31 | | {{{ |
| 32 | | testflock : FAILED 2 of 3 |
| 33 | | }}} |
| 34 | | |
| 35 | | == 0.9.x branch == |
| 36 | | |
| 37 | | ||R5||unstable|| |
| 38 | | ||BONE||untested|| |
| 39 | | ||Haiku||unstable|| |
| 40 | | |
| 41 | | === work-in-progress (andreasf) - [R5, Haiku] === |
| 42 | | |
| 43 | | A [https://issues.apache.org/bugzilla/show_bug.cgi?id=44362 patch] to fix VPATH builds for BeOS/Haiku has been accepted. |
| 44 | | |
| 45 | | [source:BePorts/trunk/dev-libs/apr/apr-0.9.x.diff Patch] |
| 46 | | |
| 47 | | {{{test/teststr.c}}} fails to compile on Haiku/gcc2, just like {{{testfmt.c}}} was reported above. Removing -g resolves this. |
| 48 | | |
| 49 | | APR Atomic Test, APR Lock Performance Test pass. |
| 50 | | |
| 51 | | `testsock` fails: |
| 52 | | {{{ |
| 53 | | Initializing.........OK |
| 54 | | Creating context.......OK |
| 55 | | This test relies on the process test working. Please |
| 56 | | run that test first, and only run this test when it |
| 57 | | completes successfully. Alternatively, you could run |
| 58 | | server and client by yourself. |
| 59 | | Creating children to run network tests....... |
| 60 | | Network test completed. |
| 61 | | Creating children to run network tests....... |
| 62 | | Problem spawning new process |
| 63 | | testsock failed |
| 64 | | }}} |
| 65 | | Not surprising, the process test, started manually, hangs as well: |
| 66 | | {{{ |
| 67 | | ~/apr/test> ./testall testproc |
| 68 | | Partial APR Tests: |
| 69 | | Process control: |
| 70 | | }}} |
| 71 | | |
| 72 | | == 0.9.x branch, Haiku only == |
| 73 | | |
| 74 | | ||Haiku||stable|| |
| 75 | | |
| 76 | | === revision 1 (bonefish) - [Haiku] === |
| 77 | | |
| 78 | | ==== Changes ([source:BePorts/trunk/dev-libs/apr/apr-0.9.x-haiku.diff patch]) ==== |
| 79 | | {{{build/apr_hints.m4}}}: |
| 80 | | - Added -lnetwork for Haiku. |
| 81 | | - Use POSIX semaphores instead of fcntl() (performs better and is less |
| 82 | | overhead). |
| 83 | | - POSIX semaphores also lock threads. |
| 84 | | {{{configure.in}}}: |
| 85 | | - No -g on Haiku. |
| 86 | | - Use libnetwork, libbsd and bsd headers. |
| 87 | | - Reordered decision making for anonymous and name-based shared memory. |
| 88 | | BeOS areas are first now, so that they are overridden by the other |
| 89 | | mechanisms (affects Haiku only, BeOS doesn't have the others). |
| 90 | | {{{include/apr_portable.h}}}: |
| 91 | | - Avoid BeOS-specific definitions. Haiku uses the Unix implementation. |
| 92 | | {{{test/{testpipe,testoc,testproc}.c}}}: |
| 93 | | - These tests start a child process, a script which lazily builds an executable |
| 94 | | and runs it. Changed the process creation so that the environment is |
| 95 | | not cleared, since Haiku's gcc depends on several environment variables to |
| 96 | | be set to work correctly. |
| 97 | | {{{test/testpoll.c}}}: |
| 98 | | - The test incorrectly assumes that packets sent to a local socket are |
| 99 | | delivered synchronously and that the select()/poll() events are thus |
| 100 | | available immediately. Added 10 ms apr_sleep()s so that the tests has a |
| 101 | | chance to succeed on Haiku. |
| 102 | | |
| 103 | | ==== Configuring/Building ==== |
| 104 | | {{{ |
| 105 | | rm build/config.guess build/config.sub |
| 106 | | ./buildconf |
| 107 | | ./configure --prefix=/boot/home/config |
| 108 | | make |
| 109 | | }}} |
| 110 | | |
| 111 | | ==== Tests ==== |
| 112 | | {{{ |
| 113 | | 221 tests run: 218 passed, 1 failed, 2 not implemented. |
| 114 | | |
| 115 | | Failed tests in Socket Options: |
| 116 | | 1) corkable: expected <0> but was <-2147483643> |
| 117 | | |
| 118 | | Not Implemented tests in Socket Creation: |
| 119 | | 1) tcp6_socket: IPv6 not implemented on this platform |
| 120 | | 2) udp6_socket: IPv6 not implemented on this platform |
| 121 | | }}} |
| 122 | | |
| 123 | | The {{{Socket Options}}} test fails, since Haiku doesn't implement TCP_NODELAY yet (!r25483). |