如何使用 checkinstall 解决此错误:*** [Makefile:350: install-recursive] 错误 1

如何使用 checkinstall 解决此错误:*** [Makefile:350: install-recursive] 错误 1

我正在尝试安装 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)。

相关内容