|ARM Technical Support Knowledge Articles|
Applies to: DS-5
Some modern network filesystems such as NFSv3 and distributed filesystems such as Ceph and CXFS support 64-bit inodes. In certain circumstances, when compiling using a filesystem that has 64-bit inodes, compilation can fail with one or more of the following messages:
"no source": Error: #5: cannot open source input file "filename": Value too large for defined data type
"no source": Error: command-line: #2918: cannot open output file "filename": not a regular file
Error: L6636E: Pre-processor step failed for 'filename'
Error: L6372E: Image needs at least one load region.
error: error reading 'filename'
The binaries listed below are 32-bit only:
armlink(although there is a 64-bit version available),
Currently, they only support 32-bit inode filesystems, or 64-bit inode values that can be held in a 32-bit value.
There are several potential solutions, not all of which may be feasible:
/var/tmpto a partition with a 32-bit inode filesystem, or set the
TMPDIRenvironment variable to a 32-bit inode filesystem.
TMPenvironment to a 32-bit inode filesystem.
nfs.enable_ino64=0on the server.
LD_PRELOADworkaround described in the article titled "The 64 bit inode problem" written by the TCM group at Cambridge University. ARM cannot make any guarantees as to the correct behavior of this workaround, and cannot be held responsible for any corruption or loss of data it might cause.
Did you find this article helpful? Yes No
How can we improve this article?