Updating the Debian package to the current 2.7.1 rc, I noticed that R decides to use its own bzip2 sources. Looking at configure, I see the test is essentially a strcmp on '1.0.5' from the version-returning function: #ifdef HAVE_BZLIB_H #include <bzlib.h> #endif int main() { char *ver = BZ2_bzlibVersion(); exit(strcmp(ver, "1.0.5") < 0); }
but unfortunately, bzip2 returns a different string that includes the date: [EMAIL PROTECTED]:~/src/debian/R/R-2.7.1.20080621> cat /tmp/bzver.c #include <bzlib.h> #include <string.h> int main() { const char *ver = BZ2_bzlibVersion(); printf("[%s] strcmp: %d strncmp(5): %d\n", ver, strcmp(ver, "1.0.5"), strncmp(ver, "1.0.5", 5)); return 0; } [EMAIL PROTECTED]:~/src/debian/R/R-2.7.1.20080621> gcc -Wall -O2 -o /tmp/bzver /tmp/bzver.c -lbz2 [EMAIL PROTECTED]:~/src/debian/R/R-2.7.1.20080621> /tmp/bzver [1.0.5, 10-Dec-2007] strcmp: 1 strncmp(5): 0 Switching to strnmp with a limit of 5 'fixes' the issue but it probably too fragile to be generally recommended. Dirk -- Three out of two people have difficulties with fractions. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel