I am having a tough time trying to get a simple C++ program to behave correctly in a Fedora 9 emulated environment under Parallels Desktop (v4.0.3810) running on a Macbook (2.4 GHz Intel Core 2 Duo). Basically, seeking to the end of a file being written is not working right. The code that I use (called junk.C) is listed below: And to compile and run: The erroneous value is shown in bold. It should have resulted in 32, not 0. It's as if the seek direction flag is being ignored by iostream::seekp() when run on the emulated Fedora system. When run on a native i386 machine (old Compaq from 2002) with an IDENTICAL Fedora Core OS installed, the code runs correctly. Furthermore, when I md5sum the compiled codes on the Compaq and under the emulated system, the executables are identical. And finally, even when I include the -static option to force static linking, the resulting executables also have identical checksums: These were all compiled with the v4.3.0 gcc that comes standard with Fedora Core 9: Can anyone suggest something I might be missing? Some hidden DLL or plugin causing the difference in behavior? Just one more data point: the above code compiles and executes correctly under the OS X g++ compiler. Thanks.
I believe I have isolated the problem. When the file being written to resides in a /psf volume, the failure occurs. If the file being written is local to the guest linux OS, then no error occurs: So it appears that this is a bug in Parallels Tools.
Thank you! I will post these results to the Tools Team, most likely it's really a Parallels Tools issue