mod_compress issue on Solaris
Added by automatthias almost 14 years ago
Hi,
I'm working on a Solaris 9 and 10 builds for OpenCSW. I got lighttpd to build, but one test is failing: mod_compress. Here's the output from VERBOSE=1 gmake check:
gmake[2]: Entering directory `/home/maciej/src/opencsw/pkg/lighttpd/trunk/work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/tests' preparing infrastructure PASS: prepare.sh ./cachable.t .......... 1..13 ok 1 - Starting lighttpd ok 2 - Conditional GET - old If-Modified-Since ok 3 - Conditional GET - old If-Modified-Since, comment ok 4 - Conditional GET - new If-Modified-Since ok 5 - Conditional GET - new If-Modified-Since, comment ok 6 - Conditional GET - old If-None-Match ok 7 - Conditional GET - old If-None-Match ok 8 - Conditional GET - ETag + old Last-Modified ok 9 - Conditional GET - ETag, Last-Modified + comment ok 10 - Conditional GET - old ETAG + old Last-Modified ok 11 - Conditional GET - ETag + Last-Modified + overlong timestamp ok 12 - Conditional GET - ETag + disabled etags on server side ok 13 - Stopping lighttpd ok ./core-404-handler.t .. 1..8 ok 1 - Starting lighttpd ok 2 - 404 handler => static ok 3 - 404 handler => dynamic(200) ok 4 - 404 handler => dynamic(302) ok 5 - 404 handler => dynamic(404) ok 6 - 404 handler => dynamic(nostatus) ok 7 - 404 generated by CGI should stay 404 ok 8 - Stopping lighttpd ok ./core-condition.t .... 1..17 ok 1 - Starting lighttpd ok 2 - config deny ok 3 - 2nd child of chaining ok 4 - 3rd child of chaining ok 5 - nesting ok 6 - Stopping lighttpd ok 7 - Starting lighttpd ok 8 - condition: Referer - no referer ok 9 - condition: Referer - referer matches regex ok 10 - condition: Referer - no referer ok 11 - condition: Referer - referer matches regex ok 12 - condition: Referer - referer doesn't match ok 13 - remote ip cache (\#255) ok 14 - condition: $HTTP["referer"] == "" and Referer is no set ok 15 - condition: $HTTP["referer"] == "" and Referer is empty ok 16 - condition: $HTTP["referer"] == "" and Referer: foobar ok 17 - Stopping lighttpd ok ./core-keepalive.t .... 1..7 ok 1 - Starting lighttpd ok 2 - Explicit HTTP/1.0 Keep-Alive ok 3 - Explicit HTTP/1.0 Keep-Alive ok 4 - Implicit HTTP/1.0 Keep-Alive ok 5 - Explicit HTTP/1.1 Keep-Alive ok 6 - Implicit HTTP/1.1 Keep-Alive ok 7 - Stopping lighttpd ok ./core-request.t ...... 1..36 ok 1 - Starting lighttpd ok 2 - URL-encoding ok 3 - URL-encoding, %00 ok 4 - hostname ok 5 - IPv4 address ok 6 - IPv6 address ok 7 - hostname + port ok 8 - IPv4 address + port ok 9 - IPv6 address + port ok 10 - directory traversal ok 11 - leading and trailing dot ok 12 - trailing dot is ok ok 13 - leading dot ok 14 - two dots ok 15 - broken port-number ok 16 - negative port-number ok 17 - port given but host missing ok 18 - port and host are broken ok 19 - allowed characters in host-name ok 20 - leading dash ok 21 - dot only ok 22 - broken IPv4 address - non-digit ok 23 - broken IPv4 address - too short ok 24 - negative Content-Length ok 25 - Content-Length > max-request-size ok 26 - Content-Length is empty Low-Level Request-Header Parsing - HTTP/1.1 ok 27 - Host missing Content-Type ok 28 - Content-Type - image/jpeg ok 29 - Content-Type - image/jpeg (upper case) ok 30 - Content-Type - unknown ok 31 - empty request-URI ok 32 - uppercase filenames ok 33 - \#1232 - duplicate headers with line-wrapping ok 34 - \#1232 - duplicate headers with line-wrapping - test 2 ok 35 - \#1232 - duplicate headers with line-wrapping - test 3 ok 36 - Stopping lighttpd ok ./core-response.t ..... 1..12 ok 1 - Starting lighttpd ok 2 - Date header ok 3 - Host missing ok 4 - ETag is set ok 5 - ETag has quotes ok 6 - Content-Length for text/html ok 7 - Content-Length for text/plain ok 8 - internal redirect in directory ok 9 - internal redirect in directory + querystring ok 10 - disabling simple-vhost via conditionals ok 11 - simple-vhost via conditionals ok 12 - Stopping lighttpd ok ./core-var-include.t .. 1..17 ok 1 - Starting lighttpd ok 2 - basic test ok 3 - array_append ok 4 - number_append ok 5 - env ok 6 - concat ok 7 - include ok 8 - string_append ok 9 - include_shell ok 10 - var.myvar ok 11 - servername3 ok 12 - number1 ok 13 - number2 ok 14 - servername2 ok 15 - myvar ok 16 - servername1 ok 17 - Stopping lighttpd ok ./core.t .............. 1..21 ok 1 - Starting lighttpd ok 2 - Valid HTTP/1.0 Request ok 3 - missing Protocol ok 4 - zeros in protocol version ok 5 - missing major version ok 6 - missing minor version ok 7 - strings as version ok 8 - missing protocol + unknown method ok 9 - missing protocol + unknown method + missing URI ok 10 - unknown method ok 11 - unknown protocol ok 12 - absolute URI Low-Level Request-Header Parsing ok 13 - whitespace after key ok 14 - whitespace with-in key ok 15 - no whitespace ok 16 - line-folding Low-Level Request-Header Parsing - URI ok 17 - URL-encoding ok 18 - URL-encoding, %00 ok 19 - OPTIONS ok 20 - OPTIONS ok 21 - Stopping lighttpd ok ./lowercase.t ......... 1..10 ok 1 - Starting lighttpd ok 2 - uppercase access ok 3 - lowercase access ok 4 - uppercase access ok 5 - lowercase access ok 6 - upper case access to staticfile.exclude-extension ok 7 - lowercase access ok 8 - uppercase access to url.access-deny protected location ok 9 - lowercase access ok 10 - Stopping lighttpd ok ./mod-access.t ........ 1..4 ok 1 - Starting lighttpd ok 2 - forbid access to ...~ ok 3 - \#1230 - forbid access to ...~ - trailing slash ok 4 - Stopping lighttpd ok ./mod-auth.t .......... 1..14 ok 1 - Starting lighttpd ok 2 - Missing Auth-token ok 3 - Basic-Auth: Wrong Auth-token ok 4 - Basic-Auth: Valid Auth-token - plain ok 5 - Basic-Auth: Valid Auth-token - htpasswd (des) ok 6 - Basic-Auth: Valid Auth-token - htpasswd (des) (lowercase) ok 7 - Basic-Auth: Valid Auth-token - htpasswd (md5) ok 8 - Basic-Auth: Valid Auth-token ok 9 - Digest-Auth: missing qop, no crash ok 10 - Digest-Auth: missing nc (noncecount instead), no crash ok 11 - Basic-Auth: Invalid Base64 ok 12 - Digest-Auth: md5-sess + missing cnonce ok 13 - Digest-Auth: trailing WS ok 14 - Stopping lighttpd ok ./mod-cgi.t ........... 1..18 ok 1 - Starting lighttpd ok 2 - perl via cgi ok 3 - perl via cgi + pathinfo ok 4 - perl via cgi + pathinfo ok 5 - NPH + perl, invalid status-code (\#14) ok 6 - NPH + perl, setting status-code (\#1125) ok 7 - NPH + perl, setting status-code ok 8 - cgi-env: GATEWAY_INTERFACE ok 9 - cgi-env: QUERY_STRING ok 10 - cgi-env: GATEWAY_INTERFACE ok 11 - cgi-env: HTTP_HOST ok 12 - cgi-env: quoting headers with numbers ok 13 - cgi-env: HTTP_HOST ok 14 - cgi-env: HTTP_HOST ok 15 - cgi-env: HTTP_HOST ok 16 - cgi-env: HTTP_HOST ok 17 - broken header via perl cgi ok 18 - Stopping lighttpd ok # # response-header failed: expected '1288', got '4348' # Failed test 'deflate - Content-Length and Content-Encoding is set' # at ./mod-compress.t line 45. # # response-header failed: expected '1306', got '4348' # Failed test 'gzip - Content-Length and Content-Encoding is set' # at ./mod-compress.t line 63. # # required header 'content-encoding' is missing # Failed test 'bzip2 requested but disabled' # at ./mod-compress.t line 100. # Looks like you failed 3 tests of 11. ./mod-compress.t ...... 1..11 ok 1 - Starting lighttpd ok 2 - Vary is set ok 3 - deflate - Content-Length and Content-Encoding is set not ok 4 - deflate - Content-Length and Content-Encoding is set ok 5 - gzip - Content-Length and Content-Encoding is set not ok 6 - gzip - Content-Length and Content-Encoding is set ok 7 - gzip, deflate - Content-Length and Content-Encoding is set ok 8 - Content-Type is from the original file ok 9 - Empty Accept-Encoding not ok 10 - bzip2 requested but disabled ok 11 - Stopping lighttpd Dubious, test returned 3 (wstat 768, 0x300) Failed 3/11 subtests ./mod-fastcgi.t ....... 1..56 ok 1 # skip no php binary found ok 2 # skip no PHP running on port 1026 ok 3 # skip no PHP running on port 1026 ok 4 # skip no PHP running on port 1026 ok 5 # skip no PHP running on port 1026 ok 6 # skip no PHP running on port 1026 ok 7 # skip no PHP running on port 1026 ok 8 # skip no PHP running on port 1026 ok 9 # skip no PHP running on port 1026 ok 10 # skip no PHP running on port 1026 ok 11 # skip no PHP running on port 1026 ok 12 # skip no PHP running on port 1026 ok 13 # skip no PHP running on port 1026 ok 14 # skip no PHP running on port 1026 ok 15 # skip no PHP running on port 1026 ok 16 # skip no PHP running on port 1026 ok 17 # skip no PHP running on port 1026 ok 18 # skip no PHP running on port 1026 ok 19 # skip no PHP running on port 1026 ok 20 # skip no PHP running on port 1026 ok 21 # skip no PHP running on port 1026 ok 22 # skip no PHP running on port 1026 ok 23 # skip no PHP running on port 1026 ok 24 # skip no PHP running on port 1026 ok 25 # skip no PHP running on port 1026 ok 26 # skip no PHP running on port 1026 ok 27 # skip no PHP running on port 1026 ok 28 # skip no PHP running on port 1026 ok 29 # skip no PHP running on port 1026 ok 30 # skip no PHP running on port 1026 ok 31 # skip no PHP running on port 1026 ok 32 # skip no PHP running on port 1026 ok 33 # skip no PHP running on port 1026 ok 34 # skip no PHP running on port 1026 ok 35 # skip PHP not started, cannot stop it ok 36 # skip no fcgi-auth found ok 37 # skip no fcgi-auth found ok 38 # skip no fcgi-auth found ok 39 # skip no fcgi-auth found ok 40 # skip no fcgi-auth found ok 41 # skip no php found ok 42 # skip no php found ok 43 # skip no php found ok 44 # skip no php found ok 45 # skip no php found ok 46 # skip no fcgi-responder found ok 47 # skip no fcgi-responder found ok 48 # skip no fcgi-responder found ok 49 # skip no fcgi-responder found ok 50 # skip no fcgi-responder found ok 51 # skip no fcgi-responder found ok 52 # skip no fcgi-responder found ok 53 # skip no fcgi-responder found ok 54 # skip no fcgi-responder found ok 55 # skip no fcgi-responder found ok 56 # skip no fcgi-responder found ok ./mod-proxy.t ......... 1..9 ok 1 # skip no php binary found ok 2 - Starting lighttpd ok 3 - Starting lighttpd as proxy ok 4 - valid request ok 5 - drop Server from real server ok 6 # skip no PHP running on port 1026 ok 7 - Stopping lighttpd proxy ok 8 - Stopping lighttpd ok 9 # skip PHP not started, cannot stop it ok ./mod-redirect.t ...... 1..7 ok 1 - Starting lighttpd ok 2 - external redirect ok 3 - external redirect should have a Content-Length: 0 ok 4 - external redirect with cond regsub ok 5 - external redirect with cond regsub on remoteip ok 6 - external redirect with cond regsub on remoteip2 ok 7 - Stopping lighttpd ok ./mod-rewrite.t ....... 1..8 ok 1 # skip no php binary found ok 2 # skip no PHP running on port 1026 ok 3 # skip no PHP running on port 1026 ok 4 # skip no PHP running on port 1026 ok 5 # skip no PHP running on port 1026 ok 6 # skip no PHP running on port 1026 ok 7 # skip no PHP running on port 1026 ok 8 # skip PHP not started, cannot stop it ok ./mod-secdownload.t ... 1..7 ok 1 - Starting lighttpd ok 2 - secdownload ok 3 - secdownload - gone (timeout) ok 4 - secdownload - direct access ok 5 - secdownload - conditional access ok 6 - secdownload - timeout ok 7 - Stopping lighttpd ok ./mod-setenv.t ........ 1..6 ok 1 - Starting lighttpd ok 2 - query first setenv ok 3 - query second setenv ok 4 - query add-request-header ok 5 - query add-response-header ok 6 - Stopping lighttpd ok ./mod-ssi.t ........... 1..4 ok 1 - Starting lighttpd ok 2 - ssi - echo ok 3 - ssi - echo ok 4 - Stopping lighttpd ok ./mod-userdir.t ....... 1..5 ok 1 - Starting lighttpd ok 2 - valid user ok 3 - valid user + redirect ok 4 - valid user + redirect ok 5 - Stopping lighttpd ok ./request.t ........... 1..42 ok 1 - Starting lighttpd ok 2 - file not found ok 3 - file not found + querystring ok 4 - GET, content == 12345, mimetype text/plain ok 5 - GET, content == 12345, mimetype text/html ok 6 - GET, content == 12345, mimetype application/octet-stream ok 7 - POST request, no Content-Length ok 8 - POST request, empty request-body ok 9 - HEAD request, no content ok 10 - HEAD request, mimetype text/html, content-length ok 11 - HEAD request, file-not-found, query-string ok 12 - Continue, Expect ok 13 - GET, Range 0-3 ok 14 - GET, Range -3 ok 15 - GET, Range 3- ok 16 - GET, Range 0-1,3-4 ok 17 - GET, Range 0-- ok 18 - GET, Range -2-3 ok 19 - GET, Range -0 ok 20 - GET, Range start out of range ok 21 - larger headers ok 22 - Duplicate Host headers, Bug \#25 ok 23 - Duplicate Content-Length headers ok 24 - Duplicate Content-Type headers ok 25 - Duplicate Range headers ok 26 - Duplicate If-None-Match headers ok 27 - Duplicate If-Modified-Since headers ok 28 - GET, Range with range-requests-disabled ok 29 - GET with Content-Length ok 30 - OPTIONS with Content-Length ok 31 - OPTIONS for RTSP ok 32 - HEAD with Content-Length ok 33 - Duplicate If-Mod-Since, with equal timestamps ok 34 - invalid chars in Header values (bug \#1286) ok 35 - empty If-Modified-Since ok 36 - broken If-Modified-Since ok 37 - broken If-Modified-Since ok 38 - Similar Headers (bug \#1287) ok 39 - If-Modified-Since ok 40 - Status 304 has no Content-Length (\#1002) ok 41 - GET, slow \r\n\r\n (\#2105) ok 42 - Stopping lighttpd ok ./symlink.t ........... 1..10 ok 1 - Starting lighttpd ok 2 - allow: simple file ok 3 - allow: symlinked file ok 4 - allow: directly symlinked dir ok 5 - allow: symlinked dir in path ok 6 - deny: simple file ok 7 - deny: symlinked file ok 8 - deny: directly symlinked dir ok 9 - deny: symlinked dir in path ok 10 - Stopping lighttpd ok Test Summary Report ------------------- ./mod-compress.t (Wstat: 768 Tests: 11 Failed: 3) Failed tests: 4, 6, 10 Non-zero exit status: 3 Files=23, Tests=342, 36 wallclock secs ( 0.69 usr 0.24 sys + 14.71 cusr 16.80 csys = 32.44 CPU) Result: FAIL Failed 1/23 test programs. 3/342 subtests failed. FAIL: run-tests.pl cleaning up PASS: cleanup.sh ===================================== 1 of 3 tests failed Please report to contact@lighttpd.net ===================================== gmake[2]: *** [check-TESTS] Error 1 gmake[2]: Leaving directory `/home/maciej/src/opencsw/pkg/lighttpd/trunk/work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/tests' gmake[1]: *** [check-am] Error 2 gmake[1]: Leaving directory `/home/maciej/src/opencsw/pkg/lighttpd/trunk/work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/tests' gmake: *** [check-recursive] Error 1
I had a suspicion that the mod_compress shared object is unable to find libz.so.1 or libbz2.so.1.0. At OpenCSW, shared libraries are in /opt/csw/lib, so I injected -R/opt/csw/lib to the linker invocation. After doing that, the libz and libbz2 are found by the shared object:
maciej@current9s :~/src/opencsw/pkg/lighttpd/trunk > /usr/ccs/bin/dump -Lv work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/src/.libs/mod_compress.so | grep RUNPATH [13] RUNPATH /opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/lib:/home/maciej/src/opencsw/pkg/lighttpd/trunk/work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/src/.libs:/opt/csw/lib/lighttpd maciej@current9s :~/src/opencsw/pkg/lighttpd/trunk > ldd work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/src/.libs/mod_compress.so /usr/lib/secure/s9_preload.so.1 libsendfile.so.1 => /usr/lib/libsendfile.so.1 libdl.so.1 => /usr/lib/libdl.so.1 libz.so.1 => /opt/csw/lib/sparcv8plus+vis/libz.so.1 libbz2.so.1.0 => /opt/csw/lib/sparcv8/libbz2.so.1.0 liblightcomp.so => /home/maciej/src/opencsw/pkg/lighttpd/trunk/work/solaris9-sparc/build-isa-sparcv8/lighttpd-1.4.28/src/.libs/liblightcomp.so libresolv.so.2 => /usr/lib/libresolv.so.2 libnsl.so.1 => /usr/lib/libnsl.so.1 libsocket.so.1 => /usr/lib/libsocket.so.1 libc.so.1 => /usr/lib/libc.so.1 libpcre.so.0 => /opt/csw/lib/sparcv8/libpcre.so.0 libmp.so.2 => /usr/lib/libmp.so.2 /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
Unfortunately, the test still fails, so mod_compress is unhappy about something. What's the best way to get a specific error message?