编译某些内容 - /usr/bin/ld 找不到 support_glib

编译某些内容 - /usr/bin/ld 找不到 support_glib

我正在编译纳维特在 ubuntu 上,它到了这一步就失败了

/bin/bash ../libtool --tag=CC   --mode=link gcc  -g -O2 -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -ffast-math   -o osm2navit osm2navit-osm2navit.o  libnavit.la  -L../navit/support/glib -lsupport_glib -L../navit/support/ezxml -lsupport_ezxml -ldl  -L../navit/support/zlib -lsupport_zlib  -lm -rdynamic
 libtool: link: gcc -g -O2 -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -ffast-math -o osm2navit osm2navit-osm2navit.o -rdynamic  ./.libs/libnavit.a -L/home/rory/navit/svn/navit/navit/support/glib -lsupport_glib -L/home/rory/navit/svn/navit/navit/support/ezxml -lsupport_ezxml -ldl -L/home/rory/navit/svn/navit/navit/support/zlib -lsupport_zlib -lm
/usr/bin/ld: cannot find -lsupport_glib

知道要安装什么 ubuntu 包吗?

答案1

它看起来正在尝试在本地源树中查找库。

正在下载…

是的。它期望在 中找到库navit/support/glib。我猜你错过了某个构建步骤,该步骤告诉它首先编译该文件。

答案2

从上面看来,libsupport_glibc 库应该由您正在构建的包提供。尝试在源树的顶部执行 find 和/或 rgrep 来弄清楚它是如何构建的。类似的东西find /path/to/source/tree -type f -name '*support?glib*'应该会指示库的源文件是什么。 rgrep 'support?glib' /path/to/source/tree可以帮助您弄清楚它是如何构建的。

似乎有适用于某些版本的 oms2navit 的软件包。软件包信息位于以下网站之一:[https://launchpad.net/]在 [https://launchpad.net/~stephane-brunner/+archive/test/+build/1104113]

玩得开心

答案3

你需要编译它的原因是什么?本维基包含可以添加到 /etc/apt/sources.list 的源

* deb http://navit.latouche.info/ubuntu gutsy main
* deb http://navit.latouche.info/ubuntu hardy main
* deb http://navit.latouche.info/ubuntu intrepid main
* deb http://navit.latouche.info/ubuntu jaunty main 

只需将与您的发行版匹配的正确行添加到 sources.list 中,然后:

sudo apt-get update
apt-cache search navit
apt-get install <whatever it is>

话虽如此,但有以下版本:navit-0.1.1.tar.gz。我对 Jaunty 中的以下标准步骤没有任何问题。

./configure
make
sudo make install

相关内容