Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stat: Value too large for defined data type #107

Open
ksf opened this issue Oct 9, 2016 · 1 comment
Open

stat: Value too large for defined data type #107

ksf opened this issue Oct 9, 2016 · 1 comment

Comments

@ksf
Copy link

ksf commented Oct 9, 2016

Trying to upgrade my nixos, I get this:

+ patchelf --remove-needed libX11.so.6 /nix/store/fam0x73kkn6086sl7g8x01yhz7pl2b1l-ati-drivers-15.12/lib/fglrx_dri.so
stat: Value too large for defined data type

From what I gather on the net, there's possible 64-bit safety issues with stat that require setting the one or other define before including the necessary headers. In particular, the inode of the file is >32 bit:

$ ls -i /nix/store/fam0x73kkn6086sl7g8x01yhz7pl2b1l-ati-drivers-15.12/lib/fglrx_dri.so
5479035664 /nix/store/fam0x73kkn6086sl7g8x01yhz7pl2b1l-ati-drivers-15.12/lib/fglrx_dri.so

The filesystem is a 1.4T xfs on top of lfs:

/dev/mapper/vg0-data0 on /nix/store type xfs (ro,relatime,attr2,inode64,noquota)

(those are the nixos default options)

Doing

mount -o remount,inode32 /
nix-store --delete <unpacked ati source>

To guarantee that the unpacked files get inodes representable as 32 bit numbers fixes things for me.

@dezgeg
Copy link
Contributor

dezgeg commented Apr 15, 2017

This should be fixed in master in commit a4d2166 which added -D_FILE_OFFSET_BITS=64.

However, in the context of nixpkgs, there are zillions of upstream packages with the same problem. So you really need inode32 if you use xfs on a 32-bit system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants