![如何使用 checkinstall 解决此错误:*** [Makefile:350: install-recursive] 错误 1](https://linux22.com/image/1019446/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20checkinstall%20%E8%A7%A3%E5%86%B3%E6%AD%A4%E9%94%99%E8%AF%AF%EF%BC%9A***%20%5BMakefile%3A350%3A%20install-recursive%5D%20%E9%94%99%E8%AF%AF%201.png)
我正在尝试安装 desmume 模拟器,但遇到了错误。当我使用时,sudo checkinstall
输出如下:
This software is released under the GNU GPL.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@LinuxIsBetter ]
1 - Summary: [ Package created with checkinstall 1.6.3 ]
2 - Name: [ desmume ]
3 - Version: [ 0.9.11 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ desmume-0.9.11 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Recommends: [ ]
12 - Suggests: [ ]
13 - Provides: [ desmume ]
14 - Conflicts: [ ]
15 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
Making install in po
make[1]: Entering directory '/home/jackaboi/desmume-0.9.11/po'
linguas="fr nb pt_BR sv zh_CN zh_TW es "; \
for lang in $linguas; do \
dir=/usr/local/share/locale/$lang/LC_MESSAGES; \
/bin/bash /home/jackaboi/desmume-0.9.11/install-sh -d $dir; \
if test -r $lang.gmo; then \
/usr/bin/install -c -m 644 $lang.gmo $dir/.mo; \
echo "installing $lang.gmo as $dir/.mo"; \
else \
/usr/bin/install -c -m 644 ./$lang.gmo $dir/.mo; \
echo "installing ./$lang.gmo as" \
"$dir/.mo"; \
fi; \
if test -r $lang.gmo.m; then \
/usr/bin/install -c -m 644 $lang.gmo.m $dir/.mo.m; \
echo "installing $lang.gmo.m as $dir/.mo.m"; \
else \
if test -r ./$lang.gmo.m ; then \
/usr/bin/install -c -m 644 ./$lang.gmo.m \
$dir/.mo.m; \
echo "installing ./$lang.gmo.m as" \
"$dir/.mo.m"; \
else \
true; \
fi; \
fi; \
done
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/.mo
installing nb.gmo as /usr/local/share/locale/nb/LC_MESSAGES/.mo
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/.mo
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/.mo
installing zh_CN.gmo as /usr/local/share/locale/zh_CN/LC_MESSAGES/.mo
installing zh_TW.gmo as /usr/local/share/locale/zh_TW/LC_MESSAGES/.mo
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/.mo
make[1]: Leaving directory '/home/jackaboi/desmume-0.9.11/po'
Making install in src
make[1]: Entering directory '/home/jackaboi/desmume-0.9.11/src'
Making install in .
make[2]: Entering directory '/home/jackaboi/desmume-0.9.11/src'
depbase=`echo armcpu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DPACKAGE_NAME=\"desmume\" -DPACKAGE_TARNAME=\"desmume\" -DPACKAGE_VERSION=\"svn\" -DPACKAGE_STRING=\"desmume\ svn\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"desmume\" -DVERSION=\"svn\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSVN_REV=0 -DSVN_REV_STR=\"0\" -DHAVE_LIBZ=1 -DHAVE_GL_GL_H=1 -DHAVE_GL_GLU_H=1 -DHAVE_LIBDL=1 -DHAVE_LIBGL=1 -DHAVE_GL_GLX_H=1 -DHAVE_GL_GLX=1 -DHAVE_LIBSOUNDTOUCH=1 -DHAVE_JIT=1 -DHOST_LINUX=1 -DHOST_64=1 -I. -I../src -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/agg2 -I/usr/include/soundtouch -g -O2 -MT armcpu.o -MD -MP -MF $depbase.Tpo -c -o armcpu.o armcpu.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from armcpu.cpp:32:
MMU_timing.h: In instantiation of ‘class CacheController<13, 2, 5>’:
MMU_timing.h:253:26: required from here
MMU_timing.h:158:28: error: left operand of shift expression ‘(-1 << 11)’ is negative [-fpermissive]
158 | enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
| ~~~~^~~~~~~~~~~~
MMU_timing.h:158:7: error: enumerator value for ‘TAGMASK’ is not an integer constant
158 | enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
| ^
MMU_timing.h:159:61: error: left operand of shift expression ‘(-1 << 5)’ is negative [-fpermissive]
159 | enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
| ~~~~^~~~~~~~~~~~~~~~~~
MMU_timing.h:159:7: error: enumerator value for ‘BLOCKMASK’ is not an integer constant
159 | enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
| ^
MMU_timing.h: In instantiation of ‘class CacheController<12, 2, 5>’:
MMU_timing.h:254:26: required from here
MMU_timing.h:158:28: error: left operand of shift expression ‘(-1 << 10)’ is negative [-fpermissive]
158 | enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
| ~~~~^~~~~~~~~~~~
MMU_timing.h:158:7: error: enumerator value for ‘TAGMASK’ is not an integer constant
158 | enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
| ^
MMU_timing.h:159:61: error: left operand of shift expression ‘(-1 << 5)’ is negative [-fpermissive]
159 | enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
| ~~~~^~~~~~~~~~~~~~~~~~
MMU_timing.h:159:7: error: enumerator value for ‘BLOCKMASK’ is not an integer constant
159 | enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
| ^
make[2]: *** [Makefile:1200: armcpu.o] Error 1
make[2]: Leaving directory '/home/jackaboi/desmume-0.9.11/src'
make[1]: *** [Makefile:1222: install-recursive] Error 1
make[1]: Leaving directory '/home/jackaboi/desmume-0.9.11/src'
make: *** [Makefile:350: install-recursive] Error 1
**** Installation failed. Aborting package creation.
Restoring overwritten files from backup...OK
Cleaning up...OK
Bye.
我似乎找不到解决方案,我已经尝试解决近一个小时了。如果这是一篇糟糕的帖子,我深表歉意,这是我第一次使用这个网站。如果您需要更多信息,请告诉我。
答案1
发生这种情况的原因是旧代码在新计算机上不能很好地运行。
从下载最新版本的源代码GitHub 存储库并遵循指示来自 Wiki(搜索从 git 安装 desmume)。