如何编制FM-Index?
我正在尝试编译 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
如何解决这个问题?压缩包位于:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不久前看过这个,所以我的记忆可能是错误的,但我认为 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.
我已经删除了代码中重新声明函数的行。这对我有用。
之后,我必须编辑 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.