在遇到一些问题后,我打算接下来尝试一下。图片底部的命令
wget -O itpp-latest.tar.bz2 #http://url#
请原谅我的偏执,但这是正确的方法吗?有没有更简单的方法让 DSD 工作。我试过使用 git、cmake,但 cmake .. + sudo make install 失败。对我来说根本不起作用。
我还没有用过这个,但也许这是我应该做的?
好的,所以我不耐烦地决定尝试一下,并且可以说。make -j 使我的笔记本电脑崩溃了。它使用所有核心 -j 选项,我的笔记本电脑讨厌它。几分钟后锁定诅咒并关机。
然后我只使用了不做任何选项,但出现了错误。
[ 8%] Building CXX object itpp/CMakeFiles/itpp.dir/base/operators.cpp.o
[ 9%] Building CXX object itpp/CMakeFiles/itpp.dir/base/parser.cpp.o
[ 10%] Building CXX object itpp/CMakeFiles/itpp.dir/base/random.cpp.o
In file included from /home/plutes/digital_speech/itpp-4.3.1/itpp/base/random_dsfmt.h:40:0,
from /home/plutes/digital_speech/itpp-4.3.1/itpp/base/random.h:32,
from /home/plutes/digital_speech/itpp-4.3.1/itpp/base/random.cpp:29:
/home/plutes/digital_speech/itpp-4.3.1/itpp/base/random_dsfmt.h: In static member function ‘static void itpp::random_details::DSFMT<MEXP, POS1, SL1, MSK1, MSK2, FIX1_V, FIX2_V, PCV1_V, PCV2_V>::do_recursion(typename itpp::random_details::DSFMT<MEXP, POS1, SL1, MSK1, MSK2, FIX1_V, FIX2_V, PCV1_V, PCV2_V>::Context::w128_t*, typename itpp::random_details::DSFMT<MEXP, POS1, SL1, MSK1, MSK2, FIX1_V, FIX2_V, PCV1_V, PCV2_V>::Context::w128_t*, typename itpp::random_details::DSFMT<MEXP, POS1, SL1, MSK1, MSK2, FIX1_V, FIX2_V, PCV1_V, PCV2_V>::Context::w128_t*, typename itpp::random_details::DSFMT<MEXP, POS1, SL1, MSK1, MSK2, FIX1_V, FIX2_V, PCV1_V, PCV2_V>::Context::w128_t*) [with int MEXP = 19937; int POS1 = 117; int SL1 = 19; long unsigned int MSK1 = 4498102069230399; long unsigned int MSK2 = 4501400546508797; long unsigned int FIX1_V = 10376655713290109737; long unsigned int FIX2_V = 4291106551315987578; long unsigned int PCV1_V = 4432916062321256576; long unsigned int PCV2_V = 1]’:
/home/plutes/digital_speech/itpp-4.3.1/itpp/base/random_dsfmt.h:306:17: error: the last argument must be an 8-bit immediate
__m128i y = _mm_shuffle_epi32(lung->si, SSE2_SHUFF);
^
itpp/CMakeFiles/itpp.dir/build.make:422: recipe for target 'itpp/CMakeFiles/itpp.dir/base/random.cpp.o' failed
make[2]: *** [itpp/CMakeFiles/itpp.dir/base/random.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'itpp/CMakeFiles/itpp.dir/all' failed
make[1]: *** [itpp/CMakeFiles/itpp.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
答案1
我猜你使用的是 bionic (或同等产品)?在这种情况下,g++ v7 与 IT++ 存在兼容性问题。
https://sourceforge.net/p/itpp/bugs/256/
您可以应用错误中列出的补丁并重建,或者只使用存储库中提供的 IT++。
apt install libitpp-dev
https://github.com/szechyjs/dsd/wiki/Installation#dependency-installation-on-ubuntu-1404-and-newer