我正在尝试安装该包libfftw3-dev。我通过命令行安装它,然后尝试从包中找到文件(它可能不会显示正在安装的所有依赖项,因为我卸载并重新安装以显示这一点):
$sudo apt-get install libfftw3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libfftw3-bin
Suggested packages:
libfftw3-doc
The following NEW packages will be installed:
libfftw3-bin libfftw3-dev
0 upgraded, 2 newly installed, 0 to remove and 183 not upgraded.
Need to get 0 B/2,136 kB of archives.
After this operation, 16.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libfftw3-bin.
(Reading database ... 715638 files and directories currently installed.)
Preparing to unpack .../libfftw3-bin_3.3.4-2ubuntu1_amd64.deb ...
Unpacking libfftw3-bin (3.3.4-2ubuntu1) ...
Selecting previously unselected package libfftw3-dev:amd64.
Preparing to unpack .../libfftw3-dev_3.3.4-2ubuntu1_amd64.deb ...
Unpacking libfftw3-dev:amd64 (3.3.4-2ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libfftw3-bin (3.3.4-2ubuntu1) ...
Setting up libfftw3-dev:amd64 (3.3.4-2ubuntu1) ...
然后我尝试找到这些文件:
$ locate fftw3
/usr/lib/x86_64-linux-gnu/libfftw3.so.3
/usr/lib/x86_64-linux-gnu/libfftw3.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3.4.4
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3.4.4
/usr/share/doc/libfftw3-double3
/usr/share/doc/libfftw3-single3
/usr/share/doc/libfftw3-double3/NEWS.gz
/usr/share/doc/libfftw3-double3/README
/usr/share/doc/libfftw3-double3/README.Debian
/usr/share/doc/libfftw3-double3/changelog.Debian.gz
/usr/share/doc/libfftw3-double3/copyright
/usr/share/doc/libfftw3-single3/NEWS.gz
/usr/share/doc/libfftw3-single3/README
/usr/share/doc/libfftw3-single3/README.Debian
/usr/share/doc/libfftw3-single3/changelog.Debian.gz
/usr/share/doc/libfftw3-single3/copyright
/var/lib/dpkg/info/libfftw3-double3:amd64.list
/var/lib/dpkg/info/libfftw3-double3:amd64.md5sums
/var/lib/dpkg/info/libfftw3-double3:amd64.postinst
/var/lib/dpkg/info/libfftw3-double3:amd64.postrm
/var/lib/dpkg/info/libfftw3-double3:amd64.shlibs
/var/lib/dpkg/info/libfftw3-long3:amd64.list
/var/lib/dpkg/info/libfftw3-long3:amd64.postrm
/var/lib/dpkg/info/libfftw3-single3:amd64.list
/var/lib/dpkg/info/libfftw3-single3:amd64.md5sums
/var/lib/dpkg/info/libfftw3-single3:amd64.postinst
/var/lib/dpkg/info/libfftw3-single3:amd64.postrm
/var/lib/dpkg/info/libfftw3-single3:amd64.shlibs
共享对象安装正确,但将列表与文件列表对于该软件包,缺少很多东西,例如我真正需要的文件、标头和 pkg-config 文件。我真的很困惑这里发生了什么,为什么我没有这个软件包中应该包含的所有文件。
答案1
您的libfftw3-dev
安装很好。
问题是,locate
默认情况下,它不执行真正的实时磁盘搜索,而只执行某种文件名数据库中的数据库查找/var/lib/mlocate/mlocate.db
。
此数据库每天由运行的 cron-job 自动更新updatedb
,但上次更新后所做的文件系统更改当然不会显示。因此,您应该使用以下方法手动触发更新:
sudo updatedb
添加新文件或删除旧文件后即可获得正确且最新的结果locate
。