#3954 additional tracing and verbose revealed more detail.
The -2 is a compression error then (not malloc or write, as there was some doubt before), and now we have a zlib version number too. However, the nth=0 and 800MB 1-row buffers output looks suspect, so that should be looked at first. That output is from the verbose=TRUE I added to the test temporarily 'just in case'.
There are some script portability issues to Solaris as well. I've done some research and found these:
https://stackoverflow.com/questions/5725296/difference-between-sh-and-bash
http://manpages.ubuntu.com/manpages/disco/en/man1/checkbashisms.1.html
https://wiki.ubuntu.com/DashAsBinSh
If checkbashisms works then :
Also:
Reply thanks to Prof Ripley who ran my attempt on Solaris :
It does not even install:
** using staged installation
./configure: !: not found
./configure: !: not found
zlib 1.2.8 is available ok
./configure: test: unknown operator -lz
You seem to be writing bash, not Bourne shell.
And why should pkg-config --libs zlib be just "-lz"? It certainly is
not what the standard zlib package does ...
% pkg-config --libs zlib
-L/opt/csw/lib -lz
If I alter the configure script to run under bash, this gets to
Running the tests in ‘tests/main.R’ failed.
Last 13 lines of output:
omp_get_thread_limit() 1024
omp_get_max_threads() 16
OMP_THREAD_LIMIT unset
OMP_NUM_THREADS unset
RestoreAfterFork true
data.table is using 8 threads. See ?setDTthreads.
No list columns are present. Setting sep2='' otherwise quote='auto'
would quote fields containing sep2.
Column writers: 3 3
args.doRowNames=0 args.rowNames=0 doQuote=-128 args.nrow=200
args.ncol=0 eolLen=2
maxLineLen=51. Found in 0.000s
Writing bom (false), yaml (0 characters) and column names (true) ...
done in 0.000s
Writing 200 rows in 0 batches of 1 rows (each buffer size 200MB,
showProgress=8, nth=0) ... Error in fwrite(DT, file = f1 <-
tempfile(fileext = ".gz"), verbose = TRUE) :
Error -2: compression error. Please retry with verbose=TRUE and
search online for this error message.
Calls: test.data.table -> sys.source -> eval -> eval -> fwrite
Execution halted
I have no idea what it is asking to 'retry with verbose=TRUE', nor what
'this error message' is (that seems to be part of the message).
BDR
#3954 additional tracing and verbose revealed more detail.
The -2 is a compression error then (not malloc or write, as there was some doubt before), and now we have a zlib version number too. However, the nth=0 and 800MB 1-row buffers output looks suspect, so that should be looked at first. That output is from the verbose=TRUE I added to the test temporarily 'just in case'.
There are some script portability issues to Solaris as well. I've done some research and found these:
https://stackoverflow.com/questions/5725296/difference-between-sh-and-bash
http://manpages.ubuntu.com/manpages/disco/en/man1/checkbashisms.1.html
https://wiki.ubuntu.com/DashAsBinSh
If
checkbashismsworks then :Also:
Reply thanks to Prof Ripley who ran my attempt on Solaris :
It does not even install:
** using staged installation
./configure: !: not found
./configure: !: not found
zlib 1.2.8 is available ok
./configure: test: unknown operator -lz
You seem to be writing bash, not Bourne shell.
And why should pkg-config --libs zlib be just "-lz"? It certainly is
not what the standard zlib package does ...
% pkg-config --libs zlib
-L/opt/csw/lib -lz
If I alter the configure script to run under bash, this gets to
Running the tests in ‘tests/main.R’ failed.
Last 13 lines of output:
omp_get_thread_limit() 1024
omp_get_max_threads() 16
OMP_THREAD_LIMIT unset
OMP_NUM_THREADS unset
RestoreAfterFork true
data.table is using 8 threads. See ?setDTthreads.
No list columns are present. Setting sep2='' otherwise quote='auto'
would quote fields containing sep2.
Column writers: 3 3
args.doRowNames=0 args.rowNames=0 doQuote=-128 args.nrow=200
args.ncol=0 eolLen=2
maxLineLen=51. Found in 0.000s
Writing bom (false), yaml (0 characters) and column names (true) ...
done in 0.000s
Writing 200 rows in 0 batches of 1 rows (each buffer size 200MB,
showProgress=8, nth=0) ... Error in fwrite(DT, file = f1 <-
tempfile(fileext = ".gz"), verbose = TRUE) :
Error -2: compression error. Please retry with verbose=TRUE and
search online for this error message.
Calls: test.data.table -> sys.source -> eval -> eval -> fwrite
Execution halted
I have no idea what it is asking to 'retry with verbose=TRUE', nor what
'this error message' is (that seems to be part of the message).
BDR