使用自定义 .xinitrc 时出现符号查找错误
我已经用 C 语言为运行 Debian Squeeze 的小型触摸屏面板构建了一个应用程序。它可以在默认的icewm窗口管理器的面板上编译并运行良好,但我希望应用程序在启动时启动,没有任务栏或任何东西。因此,我制作了一个自定义 .xinitrc 文件,其中仅包含我的应用程序:
exec cowboys
现在,当我运行 startx 时,我收到以下错误:
cowboys: symbol lookup error: /usr/lib/libgdk-x11-2.0.so.0: undefined symbol: g_malloc_n
谁能告诉我我在这里做错了什么?
谢谢!
I've built an application in C for a small touchscreen panel running Debian Squeeze. It compiles and runs fine on the panel in the default icewm Window Manager, but I would like the application to launch at boot with no taskbar or anything. So I made a custom .xinitrc file with only my application on it:
exec cowboys
Now, when I run startx, I get the following error:
cowboys: symbol lookup error: /usr/lib/libgdk-x11-2.0.so.0: undefined symbol: g_malloc_n
Can anyone tell me what I'm doing wrong here?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎您的 libgdk-x11-2.0.so 文件 1. 没有 DT_NEEDED 条目(参见 libglib-2.0 的 readelf -a )。 so.0) 或 2. 已针对足够的 glib-2.0 构建,但运行时解析会产生太旧的 glib。检查您是否没有任何奇怪的 LD_LIBRARY_PATH 变量。在 gdk-x11 文件上运行 ldd,查看它位于 glib 的位置,在 glib 上使用 nm -D 来检查 g_malloc_n 是否存在。也许还要检查您的系统中是否有任何奇怪的 glib 安装。
It seems as if your
libgdk-x11-2.0.so
file either 1. does not have a DT_NEEDED entry (cf.readelf -a
forlibglib-2.0.so.0
) or 2. has been built against a sufficient glib-2.0, but runtime resolution yields a too-old glib. Check that you do not have any odd LD_LIBRARY_PATH variable. Runldd
on the gdk-x11 file, see where it locates glib, usenm -D
on glib to check for g_malloc_n presence. Check for any odd glib installations in your system as well perhaps.