[PATCH] lib, ruby: make use of -Wl,--no-undefined configurable

Jinwoo Lee jinwoo68 at gmail.com
Tue Jun 16 23:39:40 PDT 2015


On Tue, Jun 16, 2015 at 11:23 PM, David Bremner <david at tethera.net> wrote:
> At a guess, this again has to do with spaces in the pathname. Maybe this
> is fixable with more quoting, but it's really independent of mac vs
> gnu/linux. In this instance it looks like quoting "test_results_path"
> would help.

Ah, I thought the readelf error was a fatal one.  I re-ran `make test'
from a new directory that doesn't have spaces in its name.  It gave
different errors and I'm attaching the output.

-------------- next part --------------
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C .. test
cd bindings/ruby && \
		EXTRA_LDFLAGS="" \
		LIBNOTMUCH="../../lib/libnotmuch.dylib" \
		ruby extconf.rb --vendor
creating Makefile
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C bindings/ruby
linking shared-object notmuch.bundle
ld: warning: directory not found for option '-L/usr/local/lib'
ld: warning: directory not found for option '-L/usr/local/lib'
ld: warning: ignoring file ../../lib/libnotmuch.dylib, file was built for x86_64 which is not the architecture being linked (i386): ../../lib/libnotmuch.dylib
Use "/Applications/Xcode.app/Contents/Developer/usr/bin/make V=1" to see the verbose compile lines.
CC  -g -O2 test/arg-test.o
CC test/arg-test
CC  -g -O2 test/hex-xcode.o
CC test/hex-xcode
CC  -g -O2 test/random-corpus.o
CC  -g -O2 test/database-test.o
CXX test/random-corpus
CC  -g -O2 test/parse-time.o
CC test/parse-time
CC  -g -O2 test/smtp-dummy.o
CC test/smtp-dummy
CXX  -g -O2 test/symbol-test.o
test/symbol-test.cc:7:14: warning: unused parameter 'argc' [-Wunused-parameter]
int main(int argc, char** argv) {
             ^
1 warning generated.
CXX test/symbol-test
CXX  -g -O2 test/make-db-version.o
CXX test/make-db-version
INFO: using 2 minute timeout for tests

T000-basic: Testing the test framework itself.
 PASS   success is reported like this
 PASS   test runs if prerequisite is satisfied
 PASS   tests clean up after themselves
 PASS   tests clean up even after a failure
 PASS   failure to clean up causes the test to fail
 PASS   Ensure that test output is suppressed unless the test fails
 PASS   Ensure that -v does not suppress test output
 PASS   test that mail store was created
 PASS   mail store should be empty
 PASS   NOTMUCH_CONFIG is set and points to an existing file
 PASS   PATH is set to build directory
 FAIL   notmuch is compiled with debugging symbols
	--- T000-basic.12.expected	2015-06-17 06:35:04.000000000 +0000
	+++ T000-basic.12.output	2015-06-17 06:35:04.000000000 +0000
	@@ -1 +1 @@
	-1
	+0
./T000-basic.sh: line 95: readelf: command not found

T010-help-test: Testing online help
 PASS   notmuch --help
 PASS   notmuch help
 PASS   notmuch --version
 FAIL   notmuch --help tag (man pages not available)
	test_must_fail notmuch --help tag >/dev/null
 PASS   notmuch help tag (man pages not available)

T020-compact: Testing "notmuch compact"
 PASS   Running compact
 PASS   Compact preserves database
 PASS   Restoring Backup
 PASS   Checking restored backup

T030-config: Testing "notmuch config"
 PASS   Get string value
 PASS   Get list value
 PASS   Set string value
 PASS   Set string value again
 PASS   Set list value
 PASS   Set list value again
 PASS   Remove key
 PASS   Remove non-existent key
 PASS   List all items
 PASS   Top level --config=FILE option
 PASS   Top level --config=FILE option changed the right file
 PASS   Read config file through a symlink
 PASS   Write config file through a symlink
 PASS   Writing config file through symlink follows symlink

T040-setup: Testing "notmuch setup"
 PASS   Notmuch new without a config suggests notmuch setup
 PASS   Create a new config interactively

T050-new: Testing "notmuch new" in several variations
 PASS   No new messages
 PASS   Single new message
 PASS   Multiple new messages
 PASS   No new messages (non-empty DB)
 PASS   New directories
 PASS   Alternate inode order
 PASS   Message moved in
 PASS   Renamed message
 PASS   Deleted message
 PASS   Renamed directory
 PASS   Deleted directory
 PASS   New directory (at end of list)
 PASS   Deleted directory (end of list)
 PASS   New symlink to directory
 PASS   New symlink to a file
 PASS   Broken symlink aborts
 PASS   New two-level directory
 PASS   Deleted two-level directory
 PASS   Support single-message mbox (deprecated)
 PASS   Skip and report non-mail files
 PASS   Ignore files and directories specified in new.ignore
 PASS   Ignore files and directories specified in new.ignore (multiple occurrences)
 PASS   Don't stop for ignored broken symlinks
 PASS   Quiet: No new mail.
 PASS   Quiet: new, removed and renamed messages.
 PASS   Empty tags in new.tags are forbidden
 PASS   Tags starting with '-' in new.tags are forbidden
 PASS   Invalid tags set exit code
 PASS   Xapian exception: read only files

T060-count: Testing "notmuch count" for messages and threads
 PASS   message count is the default for notmuch count
 PASS   message count with --output=messages
 PASS   thread count with --output=threads
 PASS   thread count is the default for notmuch search
 PASS   files count
 PASS   files count for a duplicate message-id
 PASS   count with no matching messages
 PASS   count with no matching threads
 PASS   message count is the default for batch count
 PASS   batch message count
 PASS   batch thread count
 PASS   batch message count with input file

T070-insert: Testing "notmuch insert"
 missing prerequisites: gdb(1)
 SKIP   all tests in T070-insert

T080-search: Testing "notmuch search" in several variations
 PASS   Search body
 PASS   Search by from:
 PASS   Search by to:
 PASS   Search by subject:
 PASS   Search by subject (utf-8):
 PASS   Search by id:
 PASS   Search by tag:
 PASS   Search by thread:
 PASS   Search body (phrase)
 PASS   Search by from: (address)
 PASS   Search by from: (name)
 PASS   Search by from: (name and address)
 PASS   Search by from: without prefix (name and address)
 PASS   Search by to: (address)
 PASS   Search by to: (name)
 PASS   Search by to: (name and adress)
 PASS   Search by to: without prefix (name and adress)
 PASS   Search by subject: (phrase)
 PASS   Search for all messages ("*")
 PASS   Search body (utf-8):
 PASS   headers do not have adjacent term positions
 PASS   parts have non-overlapping term positions
 PASS   parts do not have adjacent term positions

T090-search-output: Testing various settings for "notmuch search --output="
 PASS   --output=threads
 PASS   --output=threads --format=json
 PASS   --output=messages
 PASS   --output=messages --duplicate=1
 PASS   --output=messages --duplicate=2
 PASS   --output=messages --duplicate=3
 PASS   --output=messages --format=json
 PASS   --output=messages --format=json --duplicate=1
 PASS   --output=messages --format=json --duplicate=2
 PASS   --output=messages --format=json --duplicate=3
 PASS   --output=files
 PASS   --output=files --duplicate=1
 PASS   --output=files --format=json
 PASS   --output=files --format=json --duplicate=2
 PASS   --output=tags
 PASS   --output=tags --format=json
 PASS   sanitize output for quoted-printable line-breaks in author and subject
 PASS   search for non-existent message prints nothing
 PASS   search --format=json for non-existent message prints proper empty json

T095-address: Testing "notmuch address" in several variants
 PASS   --output=sender
 PASS   without --output
 PASS   --output=sender --format=json
 PASS   --output=recipients
 PASS   --output=sender --output=recipients
 PASS   --output=sender --output=count
 PASS   --output=count --format=json

T100-search-by-folder: Testing "notmuch search" by folder: and path: (with variations)
 PASS   Single-world folder: specification (multiple results)
 PASS   Top level folder
 PASS   Two-word path to narrow results to one
 PASS   Folder search with --output=files
 PASS   After removing duplicate instance of matching path
 PASS   Folder search with --output=files part #2
 PASS   After removing duplicate instance of matching path part #2
 PASS   After rename, old path returns nothing
 PASS   After rename, new path returns result
 PASS   folder: search
 PASS   top level folder: search
 PASS   path: search
 PASS   top level path: search
 PASS   recursive path: search

T110-search-position-overlap-bug: Testing that notmuch does not overlap term positions
 PASS   Search for a at b.c matches
 PASS   Search for x at y.z matches
 PASS   Search for a at y.c must not match

T120-search-insufficient-from-quoting: Testing messages with unquoted . in name
 PASS   Search by first name
 PASS   Search by last name:
 PASS   Search by address:
 PASS   Search for all messages:

T130-search-limiting: Testing "notmuch search" --offset and --limit parameters
 PASS   messages: limit does the right thing
 PASS   messages: concatenation of limited searches
 PASS   messages: limit larger than result set
 PASS   messages: limit = 0
 PASS   messages: offset does the right thing
 PASS   messages: offset = 0
 PASS   messages: negative offset
 PASS   messages: negative offset
 PASS   messages: negative offset combined with limit
 PASS   messages: negative offset combined with equal limit
 PASS   messages: negative offset combined with large limit
 PASS   messages: negative offset larger then results
 PASS   threads: limit does the right thing
 PASS   threads: concatenation of limited searches
 PASS   threads: limit larger than result set
 PASS   threads: limit = 0
 PASS   threads: offset does the right thing
 PASS   threads: offset = 0
 PASS   threads: negative offset
 PASS   threads: negative offset
 PASS   threads: negative offset combined with limit
 PASS   threads: negative offset combined with equal limit
 PASS   threads: negative offset combined with large limit
 PASS   threads: negative offset larger then results

T140-excludes: Testing "notmuch search, count and show" with excludes in several variations
 PASS   Search, exclude "deleted" messages from search
 PASS   Search, exclude "deleted" messages from message search
 PASS   Search, exclude "deleted" messages from message search --exclude=false
 PASS   Search, exclude "deleted" messages from message search (non-existent exclude-tag)
 PASS   Search, exclude "deleted" messages from search, overridden
 PASS   Search, exclude "deleted" messages from threads
 PASS   Search, don't exclude "deleted" messages when --exclude=flag specified
 PASS   Search, don't exclude "deleted" messages from search if not configured
 PASS   Search, default exclusion (thread summary)
 PASS   Search, default exclusion (messages)
 PASS   Search, exclude=true (thread summary)
 PASS   Search, exclude=true (messages)
 PASS   Search, exclude=false (thread summary)
 PASS   Search, exclude=false (messages)
 PASS   Search, exclude=flag (thread summary)
 PASS   Search, exclude=flag (messages)
 PASS   Search, exclude=all (thread summary)
 PASS   Search, exclude=all (messages)
 PASS   Search, default exclusion: tag in query (thread summary)
 PASS   Search, default exclusion: tag in query (messages)
 PASS   Search, exclude=true: tag in query (thread summary)
 PASS   Search, exclude=true: tag in query (messages)
 PASS   Search, exclude=false: tag in query (thread summary)
 PASS   Search, exclude=false: tag in query (messages)
 PASS   Search, exclude=flag: tag in query (thread summary)
 PASS   Search, exclude=flag: tag in query (messages)
 PASS   Search, exclude=all: tag in query (thread summary)
 PASS   Search, exclude=all: tag in query (messages)
 PASS   Count, default exclusion (messages)
 PASS   Count, default exclusion (threads)
 PASS   Count, exclude=true (messages)
 PASS   Count, exclude=true (threads)
 PASS   Count, exclude=false (messages)
 PASS   Count, exclude=false (threads)
 PASS   Count, default exclusion: tag in query (messages)
 PASS   Count, default exclusion: tag in query (threads)
 PASS   Count, exclude=true: tag in query (messages)
 PASS   Count, exclude=true: tag in query (threads)
 PASS   Count, exclude=false: tag in query (messages)
 PASS   Count, exclude=false: tag in query (threads)
 PASS   Show, default exclusion
 PASS   Show, default exclusion (entire-thread)
 PASS   Show, exclude=true
 PASS   Show, exclude=true (entire-thread)
 PASS   Show, exclude=false
 PASS   Show, exclude=false (entire-thread)

T150-tagging: Testing "notmuch tag"
 PASS   Adding tags
 PASS   Removing tags
 PASS   No tag operations
 PASS   No query
 PASS   Redundant tagging
 PASS   Remove all
 PASS   Remove all with a no-op
 PASS   Special characters in tags
 PASS   Tagging order
 PASS   --batch
 PASS   --input
 PASS   --batch --input
 PASS   --batch, blank lines and comments
 PASS   --batch: checking error messages
 PASS   --batch: tags with quotes
 PASS   --batch: tags with punctuation and space
 PASS   --batch: unicode tags
 PASS   --batch: only space and % needs to be encoded.
 PASS   --batch: unicode message-ids
 PASS   Empty tag names
 PASS   Tag name beginning with -
 PASS   Xapian exception: read only files

T160-json: Testing --format=json output
 PASS   Show message: json
 PASS   Show message: json --body=true
 PASS   Show message: json --body=false
 PASS   Search message: json
 PASS   Show message: json, utf-8
 missing prerequisites: dtach(1)
 SKIP   Show message: json, inline attachment filename
 PASS   Search message: json, utf-8
 PASS   Format version: too low
 PASS   Format version: too high

T170-sexp: Testing --format=sexp output
 PASS   Show message: sexp
 PASS   Show message: sexp --body=true
 PASS   Show message: sexp --body=false
 PASS   Search message: sexp
 PASS   Show message: sexp, utf-8
 missing prerequisites: dtach(1)
 SKIP   Show message: sexp, inline attachment filename
 FAIL   Search message: sexp, utf-8
	--- T170-sexp.7.expected	2015-06-17 06:35:18.000000000 +0000
	+++ T170-sexp.7.output	2015-06-17 06:35:18.000000000 +0000
	@@ -1 +1 @@
	-((:thread "0000000000000005" :timestamp 946728000 :date_relative "2000-01-01" :matched 1 :total 1 :authors "Notmuch Test Suite" :subject "sexp-search-utf8-body-sübjéct" :query ("id:msg-004 at notmuch-test-suite" nil) :tags ("inbox" "unread")))
	+((:thread "0000000000000004" :timestamp 946728000 :date_relative "2000-01-01" :matched 1 :total 1 :authors "Notmuch Test Suite" :subject "sexp-search-utf8-body-sübjéct" :query ("id:msg-004 at notmuch-test-suite" nil) :tags ("inbox" "unread")))

T180-text: Testing --format=text output
 PASS   Show message: text
 PASS   Search message: text
 PASS   Show message: text, utf-8
 PASS   Search message: text, utf-8
 PASS   Search message tags: text0
 PASS   Compare text vs. text0 for threads
 PASS   Compare text vs. text0 for messages
 PASS   Compare text vs. text0 for files
 PASS   Compare text vs. text0 for tags

T190-multipart: Testing output of multipart message
 PASS   --format=text --part=0, full message
 PASS   --format=text --part=1, message body
 PASS   --format=text --part=2, multipart/mixed
 PASS   --format=text --part=3, rfc822 part
 PASS   --format=text --part=4, rfc822's multipart
 PASS   --format=text --part=5, rfc822's html part
 PASS   --format=text --part=6, rfc822's text part
 PASS   --format=text --part=7, inline attachement
 PASS   --format=text --part=8, plain text part
 PASS   --format=text --part=9, pgp signature (unverified)
 PASS   --format=text --part=8, no part, expect error
 PASS   --format=json --part=0, full message
 PASS   --format=json --part=1, message body
 PASS   --format=json --part=2, multipart/mixed
 PASS   --format=json --part=3, rfc822 part
 PASS   --format=json --part=4, rfc822's multipart/alternative
 PASS   --format=json --part=5, rfc822's html part
 PASS   --format=json --part=6, rfc822's text part
 PASS   --format=json --part=7, inline attachment
 PASS   --format=json --part=8, plain text part
 PASS   --format=json --part=9, pgp signature (unverified)
 PASS   --format=json --part=10, no part, expect error
 PASS   --format=raw
 PASS   --format=raw --part=0, full message
 PASS   --format=raw --part=1, message body
 PASS   --format=raw --part=2, multipart/mixed
 PASS   --format=raw --part=3, rfc822 part
 PASS   --format=raw --part=4, rfc822's multipart
 PASS   --format=raw --part=5, rfc822's html part
 PASS   --format=raw --part=6, rfc822's text part
 PASS   --format=raw --part=7, inline attachment
 PASS   --format=raw --part=8, plain text part
 PASS   --format=raw --part=9, pgp signature (unverified)
 PASS   --format=raw --part=10, no part, expect error
 PASS   --format=mbox
 PASS   --format=mbox --part=1, incompatible, expect error
 PASS   'notmuch reply' to a multipart message
 PASS   'notmuch reply' to a multipart message with json format
 PASS   'notmuch show --part' does not corrupt a part with CRLF pair
 PASS   html parts excluded by default
Timeout: aborting command ``./T190-multipart.sh'' with signal 9
test/notmuch-test: line 36: 32948 Killed: 9               $TEST_TIMEOUT_CMD ./$test "$@"
make[1]: *** [test] Error 137
make: *** [test] Error 2


More information about the notmuch mailing list