Do you have a 32bit or 64bit GHC build? That might have something to do with it, if you're nearing 2^32 (or 2^31) bytes.
Erik On Fri, Jun 8, 2012 at 2:25 AM, Shaun Jackman <sjack...@gmail.com> wrote: > Hi, > > Data.ByteString.Char8.getContents fails for files >2GB on OS X. Is > there a fix for this? > > $ cat getContents.hs > main = getContents > $ ./getContents <smallFile > $ ./getContents <bigFile > getContents: <stdin>: hGetBuf: invalid argument (Invalid argument) > $ ghc --version > The Glorious Glasgow Haskell Compilation System, version 7.4.1 > > Mac OS X 10.7.4 64-bit > > As a workaround, I used ByteString.Lazy instead of the strict > ByteString, which worked, but found it was ~4 times slower for my > program, so I'd like to get the strict ByteString working with large > files. > > Cheers, > Shaun > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe