Closed sauntheninja2 closed 8 months ago
Build using gcc 7
We could add -Wno-deprecated-declarations to the build options, but it would probably be better to just call getUsedRam() from ram.c instead of calling mallinfo() in utils.c.
Well any news about this topic?
I did note something while trying to understand this issue (I'm on version 7141, hash b00efbc):
OpenBOR v3.0 Build 7141 (commit hash b00efbc) - http://www.ChronoCrash.com
All rights reserved. See LICENSE and README within OpenBOR root for details.
ERROR - Linux x86 Environment Failed
SDK Installed?
Removing All LINUX Files... Done!
Compiling LINUX Port: openbor.c... Compiling LINUX Port: openborscript.c... Compiling LINUX Port: sdl/control.c... Compiling LINUX Port: sdl/sblaster.c... Compiling LINUX Port: sdl/timer.c... Compiling LINUX Port: sdl/sdlport.c... Compiling LINUX Port: sdl/video.c... Compiling LINUX Port: sdl/videocommon.c... Compiling LINUX Port: sdl/threads.c... Compiling LINUX Port: sdl/menu.c... Compiling LINUX Port: sdl/opengl.c... Compiling LINUX Port: sdl/loadgl.c... Compiling LINUX Port: source/adpcmlib/adpcm.c... Compiling LINUX Port: source/gfxlib/2xSaI.c... Compiling LINUX Port: source/gfxlib/bilinear.c... Compiling LINUX Port: source/gfxlib/dotmatrix.c... Compiling LINUX Port: source/gfxlib/gfx.c... Compiling LINUX Port: source/gfxlib/hq2x.c... Compiling LINUX Port: source/gfxlib/scale2x.c... Compiling LINUX Port: source/gfxlib/scanline.c... Compiling LINUX Port: source/gfxlib/simple2x.c... Compiling LINUX Port: source/gfxlib/tv2x.c... Compiling LINUX Port: source/gamelib/draw.c... Compiling LINUX Port: source/gamelib/draw16.c... Compiling LINUX Port: source/gamelib/draw32.c... Compiling LINUX Port: source/gamelib/font.c... Compiling LINUX Port: source/gamelib/translation.c... Compiling LINUX Port: source/gamelib/anigif.c... Compiling LINUX Port: source/gamelib/bitmap.c... Compiling LINUX Port: source/gamelib/screen.c... Compiling LINUX Port: source/gamelib/screen16.c... Compiling LINUX Port: source/gamelib/screen32.c... Compiling LINUX Port: source/gamelib/loadimg.c... Compiling LINUX Port: source/gamelib/palette.c... Compiling LINUX Port: source/gamelib/packfile.c... Compiling LINUX Port: source/gamelib/filecache.c... Compiling LINUX Port: source/gamelib/pixelformat.c... Compiling LINUX Port: source/gamelib/soundmix.c... Compiling LINUX Port: source/gamelib/spriteq.c... Compiling LINUX Port: source/gamelib/sprite.c... Compiling LINUX Port: source/gamelib/spritex8p16.c... Compiling LINUX Port: source/gamelib/spritex8p32.c... Compiling LINUX Port: source/gamelib/models.c... Compiling LINUX Port: source/gamelib/transform.c... Compiling LINUX Port: source/gamelib/filters.c... Compiling LINUX Port: source/stringptr.c... Compiling LINUX Port: source/utils.c... Compiling LINUX Port: source/stristr.c... Compiling LINUX Port: source/omath.c... Compiling LINUX Port: source/scriptlib/StackedSymbolTable.c... Compiling LINUX Port: source/scriptlib/ScriptVariant.c... Compiling LINUX Port: source/scriptlib/SymbolTable.c... Compiling LINUX Port: source/scriptlib/Instruction.c... Compiling LINUX Port: source/scriptlib/Interpreter.c... Compiling LINUX Port: source/scriptlib/ImportCache.c... Compiling LINUX Port: source/scriptlib/ParserSet.c... Compiling LINUX Port: source/scriptlib/Parser.c... Compiling LINUX Port: source/scriptlib/Lexer.c... Compiling LINUX Port: source/scriptlib/Stack.c... Compiling LINUX Port: source/scriptlib/List.c... Compiling LINUX Port: source/preprocessorlib/pp_lexer.c... Compiling LINUX Port: source/preprocessorlib/pp_parser.c... Compiling LINUX Port: source/preprocessorlib/pp_expr.c... Compiling LINUX Port: source/openborscript/commands.c... Compiling LINUX Port: source/openborscript/animation.c... Compiling LINUX Port: source/openborscript/axis.c... Compiling LINUX Port: source/openborscript/binding.c... Compiling LINUX Port: source/openborscript/drawmethod.c... Compiling LINUX Port: source/openborscript/collision_attack.c... Compiling LINUX Port: source/openborscript/collision_body.c... Compiling LINUX Port: source/openborscript/collision_entity.c... Compiling LINUX Port: source/openborscript/constants.c... Compiling LINUX Port: source/openborscript/entity.c... Compiling LINUX Port: source/openborscript/index.c... Compiling LINUX Port: source/openborscript/layer.c... Compiling LINUX Port: source/openborscript/level.c... Compiling LINUX Port: source/openborscript/math.c... Compiling LINUX Port: source/openborscript/recursive_damage.c... Compiling LINUX Port: source/openborscript/string.c... Compiling LINUX Port: source/ramlib/ram.c... Compiling LINUX Port: source/randlib/rand32.c... Compiling LINUX Port: source/pnglib/pngdec.c... Compiling LINUX Port: source/pnglib/savepng.c... Compiling LINUX Port: source/webmlib/vidplay.c... Compiling LINUX Port: source/webmlib/vorbis.c... Compiling LINUX Port: source/webmlib/samplecvt.c... Compiling LINUX Port: source/webmlib/yuv.c... Compiling LINUX Port: source/webmlib/halloc/halloc.c... Compiling LINUX Port: source/webmlib/nestegg/nestegg.c...
Linking LINUX Port: OpenBOR.elf... Stripping LINUX Port: OpenBOR...
Completed LINUX Port! OpenBOR is now ready!
moved binary to ./releases/LINUX/ !
Removing All LINUX Files... Done! `
I guess mallinfo2 should be used since mallinfo is deprecated https://man7.org/linux/man-pages/man3/mallinfo.3.html
Description Build Fails in Arch
Reproduce git clone repo ensure all dependencies are installed using system packages cd openbor/engine ./build.sh 4 x86
source/utils.c: In function ‘checkAlloc’: source/utils.c:307:9: error: ‘mallinfo’ is deprecated [-Werror=deprecated-declarations] 307 | writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); | ^
~~~~~ In file included from source/utils.c:13: /usr/include/malloc.h:118:24: note: declared here 118 | extern struct mallinfo mallinfo (void) THROW MALLOC_DEPRECATED; | ^~~~ cc1: all warnings being treated as errors make: [Makefile:713: source/utils.o] Error 1 make: Waiting for unfinished jobs....Removing All LINUX Files... Done!
Debugging Using malloc_info() does seem to solve this issue