Here is a minimum program that fails.  It's just instantiates the Tkinter 
object and enters the processing loop.


I tried building it using both 64 and 32 bit with the same results.  No options 
were specified, and I did a fresh git clone of pyinstaller.

The output from the builds is available at:
64 bit build
32 bit build
warnTK_error.txt

Here are the files created in the TK_error/dist/TK_error folder:
Python                  _collections.so         _tkinter.so             math.so
TK_error                _ctypes.so              array.so                
operator.so
_bisect.so              _functools.so           binascii.so             
readline.so
_codecs_cn.so           _hashlib.so             bz2.so                  
select.so
_codecs_hk.so           _heapq.so               cPickle.so              strop.so
_codecs_iso2022.so      _locale.so              cStringIO.so            time.so
_codecs_jp.so           _multibytecodec.so      datetime.so             
unicodedata.so
_codecs_kr.so           _random.so              fcntl.so                zlib.so
_codecs_tw.so           _struct.so              itertools.so

_tkinter.so is dependent on Tcl/Tk 8.5.9

Python 2.7.2 is in /Library/Frameworks/Python.framework
Tcl 8.5.9 is in /System/Library/Frameworks/Tcl.framework
Tk 8.5.9 is in /System/Library/Frameworks/Tk.framework



On Mar 25, 2012, at 7:53 PM, Giovanni Bajo wrote:

> Il giorno 14/mar/2012, alle ore 23:38, Lynn Oliver ha scritto:
> 
>> I had been building with '-F -w' options, so I removed the options and built 
>> again.  Looking in the dist folder, I see that Tcl and tk are already there, 
>> as I mentioned above.  I ran otools on the copy of _tkinter.so there, and 
>> got:
>> 
>>      @executable_path/Tcl (compatibility version 8.5.0, current version 
>> 8.5.11)
>>      @executable_path/Tk (compatibility version 8.5.0, current version 
>> 8.5.11)
>>      /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 
>> 1105.0.0)
>>      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
>> version 159.1.0)
>> 
>> When I execute ..dist/appname.app/Contents/MacOS/appname I get:
>> 
>> ImportError: 
>> dlopen(/var/folders/qq/h5gj3f3s0rx41lhd7h0lt2hm0000gn/T/_MEIigFuUi/_tkinter.so,
>>  2): Library not loaded: @executable_path/Tcl
>>   Referenced from: 
>> /var/folders/qq/h5gj3f3s0rx41lhd7h0lt2hm0000gn/T/_MEIigFuUi/_tkinter.so
>>   Reason: image not found
> 
> 
> This part baffles me.
> 
> You say that you were building with default build options, which makes a 
> one-dir deployment. If it's a one-dire deployment, it should not create a 
> temporary directory in /var/folders.
> -- 
> Giovanni Bajo   ::  [email protected]
> Develer S.r.l.  ::  http://www.develer.com
> 
> My Blog: http://giovanni.bajo.it
> 
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "PyInstaller" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/pyinstaller?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyinstaller?hl=en.


I tried building it using both 64 and 32 bit with the same results.  No options were specified, and I did a fresh git clone of pyinstaller.

The output from the builds is available at:

Here are the files created in the TK_error/dist/TK_error folder:
Python _collections.so _tkinter.so math.so
TK_error _ctypes.so array.so operator.so
_bisect.so _functools.so binascii.so readline.so
_codecs_cn.so _hashlib.so bz2.so select.so
_codecs_hk.so _heapq.so cPickle.so strop.so
_codecs_iso2022.so _locale.so cStringIO.so time.so
_codecs_jp.so _multibytecodec.so datetime.so unicodedata.so
_codecs_kr.so _random.so fcntl.so zlib.so
_codecs_tw.so _struct.so itertools.so

_tkinter.so is dependent on Tcl/Tk 8.5.9

Python 2.7.2 is in /Library/Frameworks/Python.framework
Tcl 8.5.9 is in /System/Library/Frameworks/Tcl.framework
Tk 8.5.9 is in /System/Library/Frameworks/Tk.framework



On Mar 25, 2012, at 7:53 PM, Giovanni Bajo wrote:

Il giorno 14/mar/2012, alle ore 23:38, Lynn Oliver ha scritto:

I had been building with '-F -w' options, so I removed the options and built again.  Looking in the dist folder, I see that Tcl and tk are already there, as I mentioned above.  I ran otools on the copy of _tkinter.so there, and got:

@executable_path/Tcl (compatibility version 8.5.0, current version 8.5.11)
@executable_path/Tk (compatibility version 8.5.0, current version 8.5.11)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1105.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

When I execute ..dist/appname.app/Contents/MacOS/appname I get:

ImportError: dlopen(/var/folders/qq/h5gj3f3s0rx41lhd7h0lt2hm0000gn/T/_MEIigFuUi/_tkinter.so, 2): Library not loaded: @executable_path/Tcl
  Referenced from: /var/folders/qq/h5gj3f3s0rx41lhd7h0lt2hm0000gn/T/_MEIigFuUi/_tkinter.so
  Reason: image not found

This part baffles me.

You say that you were building with default build options, which makes a one-dir deployment. If it's a one-dire deployment, it should not create a temporary directory in /var/folders.
-- 
Giovanni Bajo   ::  [email protected]
Develer S.r.l.  ::  http://www.develer.com

My Blog: http://giovanni.bajo.it






--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/pyinstaller?hl=en.

from ttk import Notebook
import Tkinter as tk

class App(tk.Frame):
    def __init__(self, parent):    
        self.parent = parent
        tk.Frame.__init__(self,self.parent)
        self.parent.title("Test TCL/TK error")
        self.grid()
                
if __name__ == "__main__":
    root = tk.Tk()
    app = App(root)
    root.mainloop()

Reply via email to