You are not logged in.

Read the FAQ and Knowledge Base before posting.
We won't make a 3DS/2DS emulator.



#1 2022-03-09 20:36:28

impatient_salmon
Member
Registered: 2022-03-09
Posts: 1

building on linux problem

yes hello i want to build from source code on linux ubuntu 20 so when i use the ./configure command it seems to work ok but when i do 'make' i get these errors:

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/[name]/Downloads/desmume-0.9.11/src'
make[1]: *** [Makefile:1222: all-recursive] Error 1
make[1]: Leaving directory '/home/[name]/Downloads/desmume-0.9.11/src'
make: *** [Makefile:350: all-recursive] Error 1

any help or opinions on what i could do thanks

Offline

#2 2022-03-10 05:51:19

zeromus
Radical Ninja
Registered: 2009-01-05
Posts: 5,822

Re: building on linux problem

GOOGLE IT: " error: left operand of shift expression ‘(-1 << 11)’ is negative" desmume
https://github.com/TASEmulators/desmume/issues/82

Offline

Board footer

Powered by FluxBB