首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义符号: polkit_unix_process_new在i386平台上

未定义符号: polkit_unix_process_new在i386平台上
EN

Stack Overflow用户
提问于 2015-04-18 19:41:30
回答 1查看 105关注 0票数 0

我正在打包一个在i386amd64上使用i386的debian应用程序

我用debuild构建了我的debuild文件,并且打包得很好。

安装在两个平台上也都很好。虽然在amd64上一切正常运行,但是应用程序在i386上启动失败,出现以下错误:

代码语言:javascript
复制
undefined symbol: polkit_unix_process_new

我试着安装libpolkit-gobject-1-dev,以防这是一个缺失的依赖,但它不会改变任何事情。

以下是debian控制文件的副本,以防与此相关:

代码语言:javascript
复制
Source: elementary-tweaks
Section: x11
Priority: optional
Maintainer: Michael P. Starkweather <mpstark@gmail.com>
Build-Depends: cmake (>= 2.8),
               debhelper (>= 9),
               libgranite-dev,
               libgtk-3-dev (>= 3.10),
               libglib2.0-dev,
               libgee-0.8-dev,
               libgconf2-dev,
               libswitchboard-2.0-dev,
               libpolkit-gobject-1-dev,
               valac (>= 0.22)
Standards-Version: 3.9.5
Homepage: https://launchpad.net/elementarytweak

Package: elementary-tweaks
Architecture: any
Depends: gala, plank, slingshot-launcher, ${misc:Depends}, ${shlibs:Depends}
Pre-Depends: dpkg (>= 1.15.6)
Recommends: plank
Enhances: switchboard
Description: Change hidden desktop settings
 Switchboard plug for controlling hidden options.

Package: elementary-tweaks-dbg
Architecture: any
Section: debug
Priority: extra
Depends: elementary-tweaks (= ${binary:Version}), ${misc:Depends}
Pre-Depends: dpkg (>= 1.15.6)
Enhances: elementary-tweaks
Description: Change hidden desktop settings (debugging symbols)
 Switchboard plug for controlling hidden options.
 .
 This package contains debugging symbols for switchboard-plug-template.

应用程序的完整代码来源可以找到这里

编辑当我在i386平台上构建应用程序时,编译和链接运行良好,但是它无法以相同的错误启动,所以这不一定是打包错误.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-18 20:08:51

好的,这个错误是一个简单的cmake错误,但在维护应用程序时不一定容易发现。

amd64 似乎慷慨地允许构建错误滑过,而不是 i386

问题出现在cmake文件中,在pkg_check_modules子句中缺少库polkit-gobject-1,并且包含文件是手动添加的,但不是到共享库的链接。

错误的cmake片段:

代码语言:javascript
复制
pkg_check_modules (DEPS REQUIRED gthread-2.0 gtk+-3.0 switchboard-2.0 granite gconf-2.0 gee-0.8 glib-2.0)

add_definitions (${DEPS_CFLAGS} -I/usr/include/polkit-1) 
add_definitions (${DEPS_CFLAGS})
link_libraries (${DEPS_LIBRARIES})
link_directories (${DEPS_LIBRARY_DIRS})

正确的cmake片段:

代码语言:javascript
复制
pkg_check_modules (DEPS REQUIRED gthread-2.0 gtk+-3.0 switchboard-2.0 granite gconf-2.0 gee-0.8 polkit-gobject-1 glib-2.0)

add_definitions (${DEPS_CFLAGS})
link_libraries (${DEPS_LIBRARIES})
link_directories (${DEPS_LIBRARY_DIRS})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29721952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档