如何编制FM-Index?

发布于 2024-12-22 14:54:01 字数 1275 浏览 0 评论 0原文

我正在尝试编译 FM-Index V2,但出现错误 - 均在Mac 和 Linux 上:

make
make -C ./ds_ssort/; cp ./ds_ssort/ds_ssort.a .
make[1]: Entering directory `/storage1/maxwell/maasha/Install/src/fmindexV2/ds_ssort'
gcc -c -g -O3 -fomit-frame-pointer -W -Wall -Winline -DDEBUG=0 -DNDEBUG=1   shallow.c -o shallow.o
shallow.c: In function ‘shallow_mkq’:
shallow.c:90: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_mkq16’:
shallow.c:184: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_mkq32’:
shallow.c:262: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_inssort_lcp’:
shallow.c:496: error: nested function ‘cmp_unrolled_shallow_lcp’ declared but never defined
make[1]: *** [shallow.o] Error 1
make[1]: Leaving directory `/storage1/maxwell/maasha/Install/src/fmindexV2/ds_ssort'
cp: cannot stat `./ds_ssort/ds_ssort.a': No such file or directory
make: *** [ds_ssortr] Error 1

如何解决这个问题?压缩包位于:

http://pizzachili.di.unipi.it/索引/FM-indexV2/fmindexV2.tgz

I am trying to compile FM-Index V2, but get errors - both on Mac and on Linux:

make
make -C ./ds_ssort/; cp ./ds_ssort/ds_ssort.a .
make[1]: Entering directory `/storage1/maxwell/maasha/Install/src/fmindexV2/ds_ssort'
gcc -c -g -O3 -fomit-frame-pointer -W -Wall -Winline -DDEBUG=0 -DNDEBUG=1   shallow.c -o shallow.o
shallow.c: In function ‘shallow_mkq’:
shallow.c:90: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_mkq16’:
shallow.c:184: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_mkq32’:
shallow.c:262: error: nested function ‘vecswap2’ declared but never defined
shallow.c: In function ‘shallow_inssort_lcp’:
shallow.c:496: error: nested function ‘cmp_unrolled_shallow_lcp’ declared but never defined
make[1]: *** [shallow.o] Error 1
make[1]: Leaving directory `/storage1/maxwell/maasha/Install/src/fmindexV2/ds_ssort'
cp: cannot stat `./ds_ssort/ds_ssort.a': No such file or directory
make: *** [ds_ssortr] Error 1

How to resolve this? The tarball is here:

http://pizzachili.di.unipi.it/indexes/FM-indexV2/fmindexV2.tgz

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沉睡月亮 2024-12-29 14:54:01

我不久前看过这个,所以我的记忆可能是错误的,但我认为 FM-Index 代码使用了其他索引代码之一中定义的函数。查看游程 FM 指数。如果不存在,请在其他地方查找。我很确定这些函数是在某处定义的。

I looked at this a while ago, so my recollection may be wrong, but I think FM-Index code uses functions defined in one of the other index codes. Take a look at Run-Length FM Index. If it's not there, poke around somewhere else. I'm pretty sure the functions are defined somewhere.

病毒体 2024-12-29 14:54:01

我已经删除了代码中重新声明函数的行。这对我有用。
之后,我必须编辑 makefile 并添加标志 -lm 来生成可执行文件。

I have removed the lines in the code that redeclared the functions. It worked for me.
After that, i had to edit the makefile and put the flag -lm to generate the executables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文