Re: Installing libjpeg

Chris Barker <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
Mark Twenhafel wrote:
> Chris--I thought I had mailed this Friday, but it never appeared in image-sig, 
> so here goes again.  I'll continue with the interleaved response-style.  Thanks
> for the help--for my part, I'm working through K&R,

I doubt K&R will help there -- I'd look for something about gcc. Even 
though tis isn't linux, I learned a lot form "Linux Application 
Development". You can probably find a reference on linking on OS-X -- it 
does some things differently.

good luck.

-CHB


  hoping that this will teach
> 
> me enough about compiling and linking C to puzzle out why this package isn't
> installing seamlessly.
> 
> Mark
> 
>>Mark Twenhafel wrote:
>>>/ Try adding
> />>/ 
> />>/    print Image.core.__file__
> 
> />>/ 
> />>/ to your script and make sure that the output is what you expect.
> />
>>what was the result of that?
> 
> redpoint:~/sandbox/python/persfin1 mark$ python
> Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
> 
> [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import Image
>>>> print Image.core.__file__
> 
> /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so
>>>> 
> 
> 
>>
>>>/ At this point, my working hypothesis is that I did not install libjpeg 
> />>/ correctly.  I'm working on OS X Tiger.  What I did was download 
> 
> />>/ "jpegsrc.v8a.tar.gz"; double-click in my download window in Firefox to 
> />>/ untar; move the untarred "jpeg-8" folder to /Application; open Terminal 
> />>/ and cd'ed to /Applications/jpeg-8; finally, I ran "./configure", "make", 
> 
> />>/ and "make install". 
> />>/ 
> />>/ It could be--and I don't know--that this install procedure did not 
> />>/ correctly add libjpeg to my Python 2.6 installation
> 
> />
>>no it wouldn't have done that.
>>
>>/> or that I need to 
> />>/ rebuild site-packages/PIL/_imaging.so in order to link-in libjpeg.
> />
>>indeed you do.
>>
> 
>>>/ Belated point of clarification: I subsequently installed PIL using the 
> />>/ these instructions:
> />>/         $ cd Imaging-1.1.7
> />>/         $ python setup.py build_ext -i
> 
> />>/         $ python selftest.py
> />
>>that should have built a new PIL, but it won't have installed it.
>>
>>Did the selftest run OK?
> 
> redpoint:/Applications/Imaging-1.1.7 mark$ python selftest.py
> 
> --------------------------------------------------------------------
> PIL 1.1.7 TEST SUMMARY 
> --------------------------------------------------------------------
> Python modules loaded from ./PIL
> Binary modules loaded from ./PIL
> 
> --------------------------------------------------------------------
> --- PIL CORE support ok
> --- TKINTER support ok
> --- JPEG support ok
> --- ZLIB (PNG/ZIP) support ok
> --- FREETYPE2 support ok
> *** LITTLECMS support not installed
> 
> --------------------------------------------------------------------
> Running selftest:
> --- 57 tests passed.
> redpoint:/Applications/Imaging-1.1.7 mark$ 
> 
> 
>>
>>>/ I just noticed that the file "site-packages/PIL/_imaging.so" was created 
> 
> />>/ last October.
> />
>>which is why you are getting an old one here.
> 
> The last few lines of a long listing of PIL follow:
> 
> -rw-r--r--     1 root  admin     3047 Oct 11  2009 XpmImagePlugin.pyc
> 
> -rw-r--r--     1 root  admin      231 Dec  3  2006 __init__.py
> -rw-r--r--     1 root  admin      180 Oct 11  2009 __init__.pyc
> -rw-r--r--     1 root  admin  1406408 Oct 11  2009 _imaging.so
> -rw-r--r--     1 root  admin    87420 Oct 11  2009 _imagingft.so
> 
> -rw-r--r--     1 root  admin    89240 Oct 11  2009 _imagingmath.so
> -rw-r--r--     1 root  admin    54056 Oct 11  2009 _imagingtk.so
> redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ 
> 
> 
> 
> 
>>
>>>/  If so, would be be possible or likely that this was built 
> />>/ using the version of libjpeg that didn't install on my machine?
> />
>>yup.
>>
>>>/  If this 
> 
> />>/ is correct, what is the best way to proceed?  My first inclination is to 
> />>/ delete the directory site-packages/PIL and reinstall. 
> />
>>yup -- you may not even need to delete, but it won't hurt.
> 
>>
>>Take a look for a new _imaging.so that you should have just built. If 
>>you really want to know what it's linked to, try:
>>
>>$ otool -L _imaging.so
> 
> 
> Interpreting this is beyond me, at this point:
> 
> 
> redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ otool -L _imaging.so
> _imaging.so:
>         /usr/local/lib/libjpeg.7.dylib (compatibility version 8.0.0, current version 8.0.0)
> 
>         /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
>         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.9)
> redpoint:/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL mark$ 
> 
> 
> 
> 
>>
>>But you might just do:
>>
>>setup.py install
>>
>>and see if it now works.
> 
> The following code still produces the following exception:
> 
> redpoint:~/sandbox/python/persfin1 mark$ cat ./mwm.py
> 
> #!/usr/local/bin/python
> from Tkinter import *
> import Image
> import ImageTk
> 
> class Application(Frame):
>     def __init__(self, master=None):
>         Frame.__init__(self, master)
>         self.grid()
> 
>         self.createWidgets()
> 
>     def createWidgets(self):
>         self.cnv = Canvas(self)
>         self.img = ImageTk.PhotoImage(Image.open("/Applications/Imaging-1.1.7/Images/lena.jpg"))
>         cvnitem = self.cnv.create_image(100, 100, image=self.img)
> 
>         self.cnv.grid()
> 
> app = Application()
> app.master.title("Sample application")
> app.mainloop()
> 
> redpoint:~/sandbox/python/persfin1 mark$ ./mwm.py
> Traceback (most recent call last):
>   File "./mwm.py", line 18, in <module>
> 
>     app = Application()
>   File "./mwm.py", line 10, in __init__
>     self.createWidgets()
>   File "./mwm.py", line 14, in createWidgets
>     self.img = ImageTk.PhotoImage(Image.open("/Applications/Imaging-1.1.7/Images/lena.jpg"))
> 
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 116, in __init__
>     self.paste(image)
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 166, in paste
> 
>     im.load()
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageFile.py", line 180, in load
>     d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/Image.py", line 375, in _getdecoder
> 
>     raise IOError("decoder %s not available" % decoder_name)
> IOError: decoder jpeg not available
> redpoint:~/sandbox/python/persfin1 mark$ 
> 
> 
>>
>>We really do need to get a Mac binary built!
> 
>>
>>-CHB
>>
>>
>>
>>
>>
>>-- 
>>Christopher Barker, Ph.D.
>>Oceanographer
>>
>>Emergency Response Division
>>NOAA/NOS/OR&R            (206) 526-6959   voice
> 
>>7600 Sand Point Way NE   (206) 526-6329   fax
>>Seattle, WA  98115       (206) 526-6317   main reception
>>
>>Chris.Barker at noaa.gov <http://mail.python.org/mailman/listinfo/image-sig>
> 
>>
> 
> Thanks to anyone looking at this.  Like I said, I want to get this running, but I'm not asking
> anyone to do my own debugging.  I'll keep hacking away at this at my level.
> 
> Mark
> 
> 


-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

[email protected]
_______________________________________________
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.