Assembla home | Assembla project page
 

PortLog: dev-libs/apr

http://apr.apache.org/

version 1.2.9

R5untested
BONEunstable
Haikuuntested

revision 1 (brecht) - [BONE]

On compiling testfmt.c

output_operand_lossage `invalid expression as operand'

This can be avoided by not passing the '-g' option to gcc for this test.

libtool: link: warning: undefined symbols not allowed in i586-pc-beos shared libraries

Failed tests:

testmutexscope: testmutexscope.c:168: test_mech_mode: Assertion `rv == APR_SUCCESS' failed.
Abort
testdso             : FAILED 4 of 5
testflock           : FAILED 2 of 3

0.9.x branch

R5unstable
BONEuntested
Haikuunstable

work-in-progress (andreasf) - [R5, Haiku]

A patch to fix VPATH builds for BeOS/Haiku has been accepted.

Patch

test/teststr.c fails to compile on Haiku/gcc2, just like testfmt.c was reported above. Removing -g resolves this.

APR Atomic Test, APR Lock Performance Test pass.

testsock fails:

Initializing.........OK
Creating context.......OK
This test relies on the process test working.  Please
run that test first, and only run this test when it
completes successfully.  Alternatively, you could run
server and client by yourself.
Creating children to run network tests.......
Network test completed.
Creating children to run network tests.......
Problem spawning new process
testsock failed

Not surprising, the process test, started manually, hangs as well:

~/apr/test> ./testall testproc
Partial APR Tests:
    Process control:

0.9.x branch, Haiku only

Haikustable

revision 1 (bonefish) - [Haiku]

Changes (patch)

build/apr_hints.m4:

  • Added -lnetwork for Haiku.
  • Use POSIX semaphores instead of fcntl() (performs better and is less overhead).
  • POSIX semaphores also lock threads.

configure.in:

  • No -g on Haiku.
  • Use libnetwork, libbsd and bsd headers.
  • Reordered decision making for anonymous and name-based shared memory. BeOS areas are first now, so that they are overridden by the other mechanisms (affects Haiku only, BeOS doesn't have the others).

include/apr_portable.h:

  • Avoid BeOS-specific definitions. Haiku uses the Unix implementation.

test/{testpipe,testoc,testproc}.c:

  • These tests start a child process, a script which lazily builds an executable and runs it. Changed the process creation so that the environment is not cleared, since Haiku's gcc depends on several environment variables to be set to work correctly.

test/testpoll.c:

  • The test incorrectly assumes that packets sent to a local socket are delivered synchronously and that the select()/poll() events are thus available immediately. Added 10 ms apr_sleep()s so that the tests has a chance to succeed on Haiku.

Configuring/Building

rm build/config.guess build/config.sub
./buildconf
./configure --prefix=/boot/home/config
make

Tests

221 tests run:  218 passed, 1 failed, 2 not implemented.

Failed tests in Socket Options:
1) corkable: expected <0> but was <-2147483643>

Not Implemented tests in Socket Creation:
1) tcp6_socket: IPv6 not implemented on this platform
2) udp6_socket: IPv6 not implemented on this platform

The Socket Options test fails, since Haiku doesn't implement TCP_NODELAY yet (r25483).