Well I checked errno and it is 22 (EINVAL)
So I then had a suspicion...
I wrote a short native test case that would open the file on the cdrom, and just lseek to various offsets. Even running natively lseek fails past 4gb.
So then, I copied the file to the hard drive. Tried it again... lseek succeeds past 4gb.
So apparently the issue comes down the lseek failing with > 4 gig files only on cd-rom drives and ends up not being a wine bug after all as far as I can tell. I will try to install it from the hard drive in a little bit and see if it succeeds then. I didn't have enough time during lunch to actually let the install run from the HD.
If that does work, I will at least make a note in the AppDB for supreme commander on that particular problem and see if I can submit a bug report to ubuntu for the lseek problem.
Unless someone has an idea how this might be fixable via wine? If so, I'd be happy to give it a try. =)
Thanks all,
Stephan
-----Original Message----- From: Hans Leidekker [mailto:hans@it.vu.nl] Sent: Tuesday, March 20, 2007 11:11 To: Stephan Rose Cc: wine-devel@winehq.org Subject: Re: Accessing File > 4gb problem (was: Debugging Supreme Commander)
On Tuesday 20 March 2007, Stephan Rose wrote:
I checked sizeof(off_t) and it correctly reports as 8-bytes, so I am not sure what the problem is and why this is happening. I know my system can handle files > 4 gigs....wine dumped 9 gigs of relay output onto my hard drive the first time I played with that debug channel =P
What is your system? What is the value of errno after the lseek call? Does calling lseek64 instead make any difference?
-Hans