
norbert.hanke@bluewin.ch wrote:
Hi folks,
I am trying to build boost on the IBM Mainframe on z/OS USS.
I successfully modified the jam bootstrap script and have a running bjam binary now. But when trying to build the boost libraries, I get the error below. Does anybody have a hint what to look for? EBCDIC character encoding on my machine might be the reason: digits 0-9 are encoded as character values 240-249, but I have no idea where to start looking.
regards,
Norbert
./bjam
/home/u250672/boost_1_40_0/tools/build/v2/util/numbers.jam:22: in numbers.check from module numbers
error: 03 in 03 1 17
error: is not a number
Fun. The most relevant code is probably in tools/jam/src/regexp.c, and looks like this: case ANYBUT: if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) != NULL) return(0); reginput++; break; you might want to modify it like this: case ANYBUT: if (strcmp (reginput, "03") == 0) printf ("you were supposed to break here\n"); if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) != NULL) return(0); reginput++; break; then rebuild bjam and set breakpoint on the printf. I am not aware of any assumptions that 0-9 range is <0x80, but apparently something does not like this, or something else - Volodya