-
Type: Build Failure
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
unit-test failed on ~ Ubuntu 18.04 PPC
Host: ubuntu1804-ppc-5.pic.build.10gen.cc
Project: WiredTiger (develop)
Commit: diff: WT-7749 Assorted fixes for (and from) building and testing on NetBSD (#6721)
- test/evergreen/evg_cfg.py: allow repos cloned anonymously from github
- Doxyfile: adjustments for doxygen 1.8.20
- comment out TCL_SUBST, no longer supported (wasn't being used)
- set PAPER_TYPE to a4 as "a4wide" no longer exists and doxygen complains
(and it shouldn't be getting used for anything anyway)
- src/docs: add whitespace to @plantuml_start{} to avoid doxygen errors
I don't know why this should now be necessary but it runs and produces
the correct output this way.
- dist/s_export: work with both autoconf and cmake configury
- look in the whole tree for library images
- test all libraries found, not just the first
- report which one was wrong if something's found
- dist/s_clang-format, s_typedef: minor portability fixes
cmp -s is POSIX; [[:space:]] in regexps is POSIX and \s is a gnuism.
- ext/test/fail_fs: generalize _FreeBSD_ ifdefs
- cmake: Demand swig 3.x for the python bindings and don't accept 1.x.
When I first built it found an ancient swig 1.x on my machine
(arguably my fault for having it around...) and then the build failed
mysteriously because swig 1.x doesn't support python3.
While here, ask for the swig python module; probably not necessary
but harmless.
- ext/storage_sources/local_store: fix strict build failure with gcc
On gcc8 and also gcc10, the value range analysis is primitive or maybe
missing entirely and it can't tell that (x % 1000) * 1000 (for
unsigned x) is less than INT_MAX. So if -Wsign-conversion is enabled,
as we do with strict builds, it spuriously complains about unsigned to
signed conversion possibly changing the value. Add explicit cast to
suseconds_t (the type of ->tv_usec in struct timeval according to
POSIX) to silence this.
- Add spelling words for the comment in the previous change. :-|
- Add cmake build config for NetBSD on x86.
(It might be desirable to adjust this stuff so explicit configs for
every machine/OS pair aren't needed, but one thing at a time)
- test/csuite/random_directio: honor configured O_DIRECT blocksize
The code here was using the block size reported by stat.st_blksize as
the alignment requirement for O_DIRECT I/O. This is not correct; it
should be using the O_DIRECT blocksize from the build configuration.
- Distinguish the block alignment from the block size; use
WT_BUFFER_ALIGNMENT_DEFAULT as the alignment, and use the block size
from stat to replace this only if WT_BUFFER_ALIGNMENT_DEFAULT is 0.
- Adjust the assertions about the space in the copy buffer; there
should be space for one block, plus the block alignment so the block
can begin at any offset modulo the block alignment.
- Align the buffer start by the block alignment. At EOF, align the
size up by only the alignment (that's all that's necessary).
- Make the buffer larger. st_blksize typically reports the filesystem
block size, which is mostly 4K on Linux, but on BSD because FFS
supports fragments it's often larger. Most of my volumes are 16K or
32K, and I know there are 64K volumes out there. A 20K buffer isn't
big enough, so make it 64K as a starting point.
- build-posix.dox: typo
- Doxyfile: G/C "TCL_SUBST" entirely; not used and no longer supported.
- Whitespace.
- ext/storage_sources/local_store: explicitly reflow comment.
(was inadvertently suppressed by leading dashes in the name of
a gcc option)
- random_directio: revert, and redo as suggested
Revert most of a5d95a70f129b9608147aaf026fadf743acbc9ac, and just (a)
make the buffer larger and (b) make sure the size is at least the
configured direct IO size.
Co-authored-by: Alex Cameron <alex.cameron@10gen.com> | 02 Jul 21 03:12 UTC
Evergreen Subscription: ; Evergreen Event: