Re: PIL 1.1.7, windows compilation: problem to save image file

Erwan Loaëc <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
I answer to myself...

I'm using mingw to compile PIL. By default, gcc used msvcrt.dll library, 
  and the write() function is call through this lib while python.exe 
creates the handle through msvcr71.dll.

That's why when I've recreated the handle, both open() and write() call 
the same lib (msvcrt.dll), and everything worked.

To solve it, I've change the specs file of gcc by replacing -lmsvcrt 
with -lmsvcr71 in the libgcc section, and change write() to _write() in 
encode.c.

I hope this could be helpful...

--
Erwan


Erwan Loaëc wrote:
> Yes I've try with and without r"XXX" syntax, with absolute, and relative 
> path, etc...
> 
> I've forgotten to tell you I'm using ActiveState Python 2.5.1.1
> 
> -- 
> Erwan
> 
> 
> Rob Cole wrote:
>> I have little clue, except: I've had problems using that r"asdf" 
>> syntax. Did
>> you try omitting the 'r' and doubling up on the backslashes?
>>
>> PS - I've been programming in Python now for a total of about a week - so
>> take with salt...
>>
>> Rob
>>
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Erwan
>> Loaëc
>> Sent: Thursday, March 17, 2011 3:50 AM
>> To: [email protected]
>> Subject: [Image-SIG] PIL 1.1.7, windows compilation: problem to save 
>> image
>> file
>>
>> Hello,
>>
>> I've successfully compiled PIL under windows XP 32 bits.
>>
>> When I try to save a JPEG or TIFF file, I obtain the following trace:
>>
>> Traceback (most recent call last):
>>    File "D:\testpy\testPIL.py", line 9, in <module>
>>      im.save(r"D:\testpy\mytest.jpg")
>>    File "C:\Python25\lib\site-packages\PIL\Image.py", line 1439, in save
>>      save_handler(self, fp, filename)
>>    File "C:\Python25\lib\site-packages\PIL\JpegImagePlugin.py", line 
>> 471, in _s
>> ave
>>      ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)])
>>    File "C:\Python25\lib\site-packages\PIL\ImageFile.py", line 499, in 
>> _save
>>      s = e.encode_to_file(fh, bufsize)
>> IOError: [Errno 0] Error
>>
>>
>> The problem is the "write(fh, buf, status)" in encode.c which always 
>> return "-1". When I create a new handle directly in encode.c
>>
>> example:
>> fh = open( "mytest.jpg", _O_WRONLY | _O_CREAT | _O_BINARY );
>>
>> The write() works perfectly. So I think the problem should be related 
>> to the file descriptor...
>>
>> So, is anyone know the solution for windows ?
>>
>>
>> Note: under linux, everything works perfectly. It really seems to be a 
>> "windows" issue.
>>
>>
>> Thanks,
>>
> _______________________________________________
> Image-SIG maillist  -  [email protected]
> http://mail.python.org/mailman/listinfo/image-sig
_______________________________________________
Image-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/image-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.