5

Given a Cray simulator and a pre-installed UniCOS HD image, attempting to compile Steven Pemberton's ENQUIRE (literally, the second thing to try after "Hello, Cray") fails with

CC-1153 cc: INTERNAL File = enquire.c, Line = 1182
  PRINTMSG:  internal error from arith or backend

because of

282941972 CPU0: XA: 0x1A IBA: 0x00D56000 SYSCALL: 5 ??(0x0001BAE3 (0x00D012E3) "/opt/ctl/craylibs/craylibs/arith" , 0x0000000000000000 (0))
282942122 CPU0: SYSCALL: 5 ?? returning 0xFFFFFFFFFFFFFFFF (18446744073709551615)
282942128 CPU0: XA: 0x1A IBA: 0x00D56000 SYSCALL: 5 ??(0x0001BAE3 (0x00D012E3) "/lib/arith" , 0x0000000000000000 (0))
282942302 CPU0: SYSCALL: 5 ?? returning 0xFFFFFFFFFFFFFFFF (18446744073709551615)

That is, some dynamically-loaded arithmetic library is not found in either of two expected locations.

Does it mean that The Cray Files are incomplete, or the pre-installed UniCOS is misconfigured/corrupt, or something else? Could anyone please try the experiment independently (assuming copious free time, of course)?


JFYI, according to Dhrystone, the simulator runs on Raspberry Pi 5 at an approximately native speed.

1 Answer 1

7

As it turned out, the required arithmetic library is present in the filesystem, though at different place:

# ls -l /usr/gen/lib/arith
-rwxr-xr--   1 bin      bin       326028 Dec  4  2022 /usr/gen/lib/arith
# file /usr/gen/lib/arith
/usr/gen/lib/arith:     executable CRAY-YMP stripped

With this file copied to /lib/arith, the C compiler works as expected. I was able to compile enquire.c and run it.

It is possible to extract file arith directly from the Unicos CD image.

  1. Download file cray-cd1.iso
  2. Unpack it and extract file UNICOS_exe/uni_22.gzc
  3. Rename it as uni_22.bin.gz
  4. Run gzip -d uni_22.bin.gz to unpack into uni_22.bin
  5. Build utility bcpio_extractor from sources
  6. Run bcpio_extractor uni_22.bin to unpack all files
  7. The arithmetic library is present there as usr/gen/lib/arith
1
  • Really nice answer. I like that it has both the short answer, and the longer other way to accomplish it. Feb 9 at 19:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .