Diff between pyinstaller version 4.2 and pyinstaller version 6.4.0 #8340
Replies: 1 comment 6 replies
-
DYN (shared object file) means that executable was compiled in PIE (position-independent executable) mode, while EXEC (executable file) means that it was compiled in non-PIE mode. I think that going from v4.0 to v4.1, the toolchain used for prebuilt linux bootloaders changed to one that had PIE enabled by default, and hence frozen applications also became PIE. This toolchain was used for v4.1, v4.2, and v4.3. In v4.4, the toolchain was switched back to the older one again (I think as part of #5995?), and from then on, the bootloaders are non-PIE again.
In both cases, the file is an executable, as you cannot run shared libraries.
It's probably because your python 3.8 environment is not identical to your 3.5 environment (newer version of packages that might have additional dependencies). |
Beta Was this translation helpful? Give feedback.
-
I have created pyinstaller executable with 4.2 (which is from python3.5) and 6.4.0 (from python3.8) versions.
from pyinstaller 4.2 version (which is from python3.5), i have created exe file. But when i check the content of this exe using readelf tool, i could see type is DYN (Shared object file).
from pyinstaller 6.4.0 version (which is from python3.8), i have created exe file. But when i check the content of this exe using readelf tool, i could see type is EXEC (Executable file).
So want to know differences between these two.
Also i am seeing size diff, is it bcz of exec itself has all details as library files ?
Could anyone please help on this ?
is it changed from shared library to standalone exe now ?
Thank You.
Beta Was this translation helpful? Give feedback.
All reactions