Package Details: libeatmydata 105.r15.g1e5ae05-2

Git Clone URL: https://aur.archlinux.org/libeatmydata.git (read-only)
Package Base: libeatmydata
Description: Library and utilities designed to disable fsync and friends.
Upstream URL: https://github.com/stewartsmith/libeatmydata
Keywords: fsync
Licenses: GPL3
Conflicts: eatmydata
Submitter: goetzc
Maintainer: goetzc
Last Packager: goetzc
Votes: 11
Popularity: 0.040181
First Submitted: 2015-08-23 23:31
Last Updated: 2018-04-07 13:12

Latest Comments

natevc commented on 2018-05-13 04:56

There appears to be a race condition that occurs when using multithreaded make. The test_run.sh script by default always uses the same filename, test.result.run, to store and check test results. Since automake test harnesses are concurrent by default, these tests can be run in parallel by make, causing this file to be repeatedly clobbered by each concurrent thread. I was able to fix this by prepending the name of the test to the names of the test.result.run files created by each invocation of test_run.sh. (e.g.: grep "$SYNC_IN_TRACE" $name-test.result.run)

There appears to also be an issue opened upstream regarding this bug: #10

In lieu of an upstream solution (since that issue was opened months ago and hasn't been dealt with), I would imagine that using make -j 1 check in the check section of the PKGBUILD should override any parallel MAKEFLAGS.

txtsd commented on 2018-05-06 06:24

==> Starting check()...
make  libeatmydata/test/fsynctest libeatmydata/test/tst-key4 libeatmydata/test/tst-invalidfd libeatmydata/test/eatmydatatest libeatmydata/test/eatmydatatest_largefile libeatmydata/test/fcntltest libeatmydata/test/tst-cancel4
make[1]: Entering directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
  CC       libeatmydata/test/tst-key4.o
  CC       libeatmydata/test/fsynctest.o
  CC       libeatmydata/test/eatmydatatest.o
  CC       libeatmydata/test/fcntltest.o
  CC       libeatmydata/test/tst-invalidfd.o
  CC       libeatmydata/test/eatmydatatest_largefile.o
  CC       libeatmydata/test/tst-cancel4.o
libeatmydata/test/tst-cancel4.c:28:0: warning: "_GNU_SOURCE" redefined
 #define _GNU_SOURCE

In file included from libeatmydata/test/tst-cancel4.c:26:0:
./config.h:93:0: note: this is the location of the previous definition
 # define _GNU_SOURCE 1

libeatmydata/test/tst-invalidfd.c: In function ‘main’:
libeatmydata/test/tst-invalidfd.c:31:6: warning: implicit declaration of function ‘sync_file_range’; did you mean ‘copy_file_range’? [-Wimplicit-function-declaration]
  r = sync_file_range(fd, 0, 0, 0);
      ^~~~~~~~~~~~~~~
      copy_file_range
  CCLD     libeatmydata/test/tst-invalidfd
  CCLD     libeatmydata/test/fsynctest
  CCLD     libeatmydata/test/fcntltest
  CCLD     libeatmydata/test/eatmydatatest_largefile
  CCLD     libeatmydata/test/eatmydatatest
  CCLD     libeatmydata/test/tst-key4
  CCLD     libeatmydata/test/tst-cancel4
make[1]: Leaving directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
make  check-TESTS
make[1]: Entering directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
make[2]: Entering directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
PASS: libeatmydata/test/eatmydatatest_largefile
PASS: libeatmydata/test/tst-invalidfd
PASS: libeatmydata/test/fcntltest
PASS: libeatmydata/test/eatmydatatest
FAIL: libeatmydata/test/tst-cancel4
FAIL: libeatmydata/test/tst-key4
FAIL: libeatmydata/test/fsynctest
============================================================================
Testsuite summary for libeatmydata 128
============================================================================
# TOTAL: 7
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to http://www.flamingspork.com/projects/libeatmydata
============================================================================
make[2]: *** [Makefile:1130: test-suite.log] Error 1
make[2]: Leaving directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
make[1]: *** [Makefile:1238: check-TESTS] Error 2
make[1]: Leaving directory '/home/txtsd/build/yaourt-tmp-txtsd/aur-libeatmydata/src/libeatmydata'
make: *** [Makefile:1484: check-am] Error 2
==> ERROR: A failure occurred in check().
    Aborting...
==> ERROR: Makepkg was unable to build libeatmydata.

goetzc commented on 2018-04-07 13:12

@intelfx thanks for the suggestion!

intelfx commented on 2018-04-06 09:57

Hello. I suggest factoring out the make check call into its own check() function. This will allow the user to skip tests via makepkg --nocheck if desired.

Anderson commented on 2016-05-04 10:58

Hey, I've created a 32-bit version PKGBUILD here: https://aur.archlinux.org/packages/lib32-eatmydata/