Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在CentOS中创建的可执行文件在Ubuntu中不起作用_Linux_Centos_Pyinstaller_Ubuntu 11.04 - Fatal编程技术网

Linux 在CentOS中创建的可执行文件在Ubuntu中不起作用

Linux 在CentOS中创建的可执行文件在Ubuntu中不起作用,linux,centos,pyinstaller,ubuntu-11.04,Linux,Centos,Pyinstaller,Ubuntu 11.04,我开发了一个pygtk应用程序。现在,我必须将其部署到客户机上 因此,我在CentOS 5机器上使用PyInstaller创建了一个可执行文件(因为PyInstaller依赖于glibc,并且为了选择较低的glibc,我使用了CentOS 5) 现在,当我尝试在Ubuntu11.04机器中运行应用程序时,它会加载应用程序,但它不会显示文本,而是在GUI中显示方形框 并在命令行中打印以下错误消息 Gtk-Message: Failed to load module "canberra-gtk-mo

我开发了一个pygtk应用程序。现在,我必须将其部署到客户机上

因此,我在CentOS 5机器上使用PyInstaller创建了一个可执行文件(因为PyInstaller依赖于glibc,并且为了选择较低的glibc,我使用了CentOS 5)

现在,当我尝试在Ubuntu11.04机器中运行应用程序时,它会加载应用程序,但它不会显示文本,而是在GUI中显示方形框

并在命令行中打印以下错误消息

Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
/tmp/_MEIwDbvRA/User.py:88: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:94: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:100: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:114: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:120: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:130: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:140: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
/tmp/_MEIwDbvRA/User.py:197: PangoWarning: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of:
  '/home/arrowdevices/pda/etc/pango/pango.modules'
You should create this file by running:
  pango-querymodules > '/home/arrowdevices/pda/etc/pango/pango.modules'
Fontconfig warning: "/etc/fonts/conf.d/11-lcd-filter-lcddefault.conf", line 9: invalid constant used : lcddefault
Fontconfig warning: "/etc/fonts/conf.d/53-monospace-lcd-filter.conf", line 17: invalid constant used : lcdlegacy
/tmp/_MEIwDbvRA/User.py:197: PangoWarning: failed to find shape engine, expect ugly output. engine-type='PangoRenderFc', script='latin'
/tmp/_MEIwDbvRA/User.py:197: PangoWarning: failed to find shape engine, expect ugly output. engine-type='PangoRenderFc', script='common'
/tmp/_MEIwDbvRA/User.py:197: GtkWarning: Cannot open pixbuf loader module file '/home/arrowdevices/pda/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
我的问题是:

  • 如何将图标和字体干净地打包到PyInstaller创建的可执行文件中
  • Pyinstaller似乎正在将文件路径硬编码到可执行文件中。我们如何避免这种情况

  • 我会搜索Ubuntu二进制文件。CentOS和Ubuntu是非常非常不同的系统。目录结构可能会有所不同

    你好@over killer我改了问题,请看一下。我需要使用pyinstaller干净地打包图标和字体。我认为Ubuntu和CentOSOkay之间应该没有区别。安装开发GTK+文件。同时安装PangoFC。我想知道它是否能起作用。为什么你认为Ubuntu和CentOS之间没有区别?Ubuntu基于Debian,CentOS基于RHEL。他们使用不同的软件包,管理器和目录结构也不同。嘿,我在另一台机器上安装了相同的centos 5并测试了我的应用程序,但它给出了相同的错误。你知道为什么吗?你用我上面提到的安装了所有的开发库吗?嘿,我已经把所有的源代码(gtk,pygtk,包括pango和cairo)编译到一个本地目录并运行pyinstaller。我没有单独找到pangoFC的任何软件包,如何安装?