You are not logged in.
As the error I receive talks about informing the packagers for my Linux distribution, I guess I should post it on the Arch Linux forum.
Summary of what I am trying to achieve: run my project with valgrind to detect memory leaks, something I have been doing for years, but now for the first time since my new pc with new installation (and not having used Linux for a while due to circumstances).
$ valgrind ~/tmp/_proj/zero/test
==125778== Memcheck, a memory error detector
==125778== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==125778== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==125778== Command: /home/me/tmp/_proj/zero/test
==125778==
valgrind: Fatal error at startup: a function redirection
valgrind: which is mandatory for this platform-tool combination
valgrind: cannot be set up. Details of the redirection are:
valgrind:
valgrind: A must-be-redirected function
valgrind: whose name matches the pattern: strlen
valgrind: in an object with soname matching: ld-linux-x86-64.so.2
valgrind: was not found whilst processing
valgrind: symbols from the object with soname: ld-linux-x86-64.so.2
valgrind:
valgrind: Possible fixes: (1, short term): install glibc's debuginfo
valgrind: package on this machine. (2, longer term): ask the packagers
valgrind: for your Linux distribution to please in future ship a non-
valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
valgrind: that exports the above-named function using the standard
valgrind: calling conventions for this platform. The package you need
valgrind: to install for fix (1) is called
valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo
valgrind:
valgrind: Note that if you are debugging a 32 bit process on a
valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo
valgrind: package (e.g. libc6-dbg:i386).
valgrind:
valgrind: Cannot continue -- exiting now. Sorry.
I really have no clue... Anyone?
Last edited by scippie (2022-11-24 08:13:06)
Offline
Offline
I use premake to generate build files for me, both in Linux and Windows. I don't think I have changed anything flag-wise since the last time I used valgrind.
If I am using address sanitizer or other profiling/debugging, I am not aware of it, so I don't think so. I wouldn't even know how to do it.
Can you maybe tell me what I should show you?
This is my premake.lua file (removed some lines/items with ... as you get it:
#!lua
solution("test")
configurations({ "Debug", "Release" })
location(os.getenv("BUILDLOCATION"))
project("test")
kind("ConsoleApp")
language("C++")
location(os.getenv("BUILDLOCATION"))
files({
"main.cpp",
...
})
includedirs({ ".", os.getenv("BUILDLOCATION") .. "/tmp", ... })
targetdir(os.getenv("BUILDLOCATION") .. "/.")
debugdir(".")
prebuildcommands({
"mkdir -p tmp",
})
filter("Debug")
defines({"DEBUG"})
symbols("On")
filter("Release")
defines({"NDEBUG"})
optimize("On")
filter({"system:linux", "action:gmake"})
buildoptions({"-g", "-Werror", "-std=c++17" })
links({ "m", "SDL2", "GL", "GLU", "GLEW", "tinyxml2", "sqlite3", "lua" })
filter({"system:windows", "action:gmake"})
libdirs({ "/mingw64/lib" })
buildoptions({"-g", "-Werror", "-std=c++17" })
links({ "m", "SDL2", "opengl32", "glu32", "glew32", "tinyxml2", "sqlite3", "lua" })
I run it with
premake gmake
and
make -j 8
.
Last edited by scippie (2022-11-23 22:21:16)
Offline
Try setting the debuginfo url as described in https://wiki.archlinux.org/title/Debuginfod
export DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
Offline
Ok, sorry, never mind... I just had a power outage and it seems that was what I needed... a reboot after installing valgrind (and probably some other packages).
Offline