RudjiGames / MTuner

MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Building fails

sbeyer opened this issue · comments

I am trying to build on an Ubuntu 18.04 with gcc 7. My genie call was:

genie --os=linux --cc=gcc --gcc=linux-gcc --platform=x64 gmake

(I also tried with -gcc=linux-gcc-6 and a g++-6 symlink pointing to my g++-7 binary)

After fixing a few occurrences of

../../../../../MTuner/src/stacktreewidget.cpp:343:31: error: call of overloaded ‘toString(uint64_t&)’ is ambiguous

by casting the parameters to qlonglong or qulonglong, it has finally compiled through.

But at the linking stage I got:

/usr/bin/ld: skipping incompatible /usr/local/lib/libQt5Widgets.so when searching for -lQt5Widgets

and similar messages for all libraries. I guess what makes them incompatible is that it compiles with -m32, although I said x64 platform. Also it outputs things like "Building rmem (debug32)" (debug32 instead of, what I would hope release64). Any idea?

Moreover, qtprebuild.lua otuputs lots of

lua "build/qtprebuild.lua" -moc "MTuner/src/graph.h" "" "MTuner" "../../src/graph.h"
qtprebuild.lua:180: error: MOC Failed to generate MTuner/src/../.qt/qt_moc/graph_moc.cpp

but this does not lead to further errors.

Hi Stephan,

Please refer to Travis build script for building under Linux, as you can see the build is successful so it's a matter of settings things up properly. However, do keep in mind that this is not a functional build, MTuner doesn't support Linux host but if you wish to work on it this would be more than welcome.

Cheers!

Wait, what? What does it mean that it's not a functional build and Linux host is not supported? What's the point of compiling it on Linux then? What does it do? Did I miss that part in README.md?

It means exactly what is says. Did you expect this to run on PS4 for example?
What's the point? I'd explain but given your attitude go figure it out.

given your attitude

I am sorry, it seems to be a misunderstanding here. I did not want to sound rude or something. Seems that I did, that was not my intention.

So I think my problem here is not my attitude, but my stupidity. From what I have understood, I could use MTuner to profile the memory of my application in real-time. I don't get the whole part that you seem to have a host platform and a target platform. (edit: I also have a Windows host. Does that mean I can profile the memory of my Linux application somehow?)

Thank you very much.

Ok, let's go past that... MTuner has a Windows host but can collect data on many other platforms to be later profiled on Windows. Linux is tricky as you'd need a Windows based cross compiler with current state of things. So what you would really want is a Linux based host which would be able to resolve debug symbols. You can compile MTuner on Linux (not that straightforward but works) but some of the functionality you require is not implemented yet for Linux and I don't have a particular interest to support that. It's open source for a reason, maybe someone will get around to do it but I prefer to use my time on other projects/activities these days than to add features to MTuner which I would write differently today if I was to write it again.

Ok, thank you.