[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Final call for testers!
Marvin --
> Installed fine on Suse 9.2 and Suse 9.3.=20
Thanks for the report!
> As an Interesting side note, if I initiate the installer with the python=20
> suffix:=20
>
> /media/cdrom/installer.py
>
> The script balks and complains with:
>
> marvin@runner:~> /media/cdrom/installer.py
> /media/cdrom/installer.py:148: RuntimeWarning: Python C API version mismatc=
> h=20
[ . . . . .]
> But, if I do not invoke the python suffix and executed the script as:
>
> /media/cdrom/installer
>
> Everything works as advertised.
This is the expected behavior.
The reason is this: To create a platform-independent executable, I
run a utility called "Freeze" on the Python script. Freeze looks
through the Python script, figures out all the Python dependencies,
and then takes the dependencies, bundles them up (creates .so files),
and sticks the .so files in the same dir on the CD as the Python
program. Then, Freeze takes the Python program, byte compiles it, and
bundles the byte compiler with a copy of the entire Python interpreter
into a single executable file which I call "installer.exe". The idea
is that "installer.exe" is something like a self-contained, statically
linked executable which will happily run on any Linux box, independent
of the local Python setup (or lack thereof).
If you try running "installer.py" directly, the chances are good that
your Python version and setup is different from mine, causing the
problem you note. Moreover, the Python program is configured to first
look at the local directory for dependencies. However, the ones it
find are those extracted from my machine, which will likely have the
wrong version ID. That is why you see all the version ID messages.
So what you observed is a feature, not a bug!
Stuart