Page 1 of 2

Development environment to hack on RaceAnalyzer?

Posted: Thu Aug 08, 2013 3:26 am
by Mr. Wednesday
As best I can tell, it's in Eclipse (which is being very annoying, but that's another story for another day) and needs wxWidgets, y'all's gauge project, and SQLite. Anything else, or am I ready to start hacking once I can bludgeon Eclipse into submission?

Posted: Wed Aug 14, 2013 3:50 am
by Mr. Wednesday
Didn't think this was a difficult question, but maybe it is? If you have to guess and it turns out you miss something, no worries.

Posted: Sat Aug 17, 2013 1:45 am
by minijoe
I don't know what OS you are using, but I was able to get RaceAnalyzer built on Windows 7 (64-bit) without anything other than what you have listed except that I needed MinGW. I found that I needed to build wxWidgets from source (I used 2.9.4) because the Autolabs projects expect a static, non-Unicode built of wxWidgets.
I hope that this helps and/or someone from the Autolabs dev team can correct anything that I may have gotten wrong.

Posted: Sat Aug 17, 2013 2:31 am
by Mr. Wednesday
That's my environment, but Eclipse is being a b**** about finding MinGW (Googling says I'm not the only one to have that problem, and there don't seem to be any good answers about getting it sorted out... but after my first try, I haven't done much beating on it either).

Posted: Mon Aug 19, 2013 8:37 pm
by brentp
We have it on our list to fully document this. But yes, you need to compile wxWidgets separately - ideally a debug and release version.

We are wanting to release a Linux and OSX version of Race Analyzer; we are welcoming contributors to help with this task!

-Brent

Posted: Thu Aug 22, 2013 8:04 pm
by minijoe
brentp wrote:We have it on our list to fully document this. But yes, you need to compile wxWidgets separately - ideally a debug and release version.

We are wanting to release a Linux and OSX version of Race Analyzer; we are welcoming contributors to help with this task!

-Brent
I was able to get RaceAnalyzer built and running on 64-bit Linux (SolusOS). There are some issues though.
  • GPS view crashes
    Analogue gauge view crashes
    Serial communication not fully implemented
I am able to create a Race Event - Import a sample log and replay it. Digital gauges and Line charts work.
If you could send me the setup.h files from
C:/wxWidgets-2.9.4/msw-debug/lib/wx/include/msw-ansi-static-2.9
and/or
C:/wxWidgets-2.9.4/msw-release/lib/wx/include/msw-ansi-static-2.9
on the build machine, that would help me to verify that I have my wxWidgets built correctly.

Posted: Thu Nov 07, 2013 6:17 am
by Mr. Wednesday
I finally got Eclipse sorted and started working on building. I ran into a bunch of issues, probably most of them arising from configuration and/or settings differences.
  • Either there's a problem with my wxWidgets config / pch settings, or the project only works one way and I'm set up the opposite way. I had to add several wxWidgets includes in order to build.
  • Possibly arising from a difference in my wxWidgets config, I had to change a bunch of ToAscii calls to ToStdString in one source file.
  • There's some code that scans a %d format descriptor into a float. It appears to be in error, I changed to int.
  • treelistctrl.cpp mixes tchar with explicitly narrow char. Since my default appears to be wchar, I had to correct several calls to use the tchar version of the function.
  • comm_win32.h has some include order issues that result in conflicting UNICODE definitions. Once I sorted that out, there were a bunch of narrow/wide mismatch issues, it looks like the project has been build exclusively without unicode (or exclusively on Linux).
  • Possibly arising from the way I initially set up the project, I had some issues with locating include files. Depending on where it was, I either adjusted the include list accordingly or explicitly specified the subfolder for the include on the directive.
There were a bunch of issues with the initial build settings on Eclipse, but that may be an Eclipse problem rather than a project problem.

Posted: Sun Dec 01, 2013 8:54 pm
by lspector
Has anyone managed to build on Windows- WITHOUT making changes to source code? I've been fighting with it for a day now, and every time I get past one issue, another one bites me.

Currently, I'm trying to get gaugeWorks to compile, and see a bunch of:
The type 'wxColour' must implement the inherited pure virtual method 'wxGDIObject::CloneGDIRefData' in LCDWindow.h

Not sure if it's yet another version mismatch issue- I'm compiling against wxWidgets 2.9.4 this time. I tried 2.8.12 and 3.0, but those were even worse...

Thanks,
Larry

Posted: Tue Dec 03, 2013 12:27 am
by Mr. Wednesday
Which toolchain? MSVC or one of the multiplatform options?

I was able to build for Windows using Eclipse/MinGW32-g++ with only the modifications that I noted above. I built against Wx 2.9.x (I think x being 4 but I'm not positive).

Posted: Tue Dec 03, 2013 12:06 pm
by lspector
Mr. Wednesday wrote:Which toolchain? MSVC or one of the multiplatform options?
I'm using Eclipse/MinGW. I went through the steps you mentioned with regard to adding include paths for wxWidgets- but haven't hit the unicode errors yet.

Posted: Thu Dec 05, 2013 9:41 am
by minijoe
lspector wrote:Has anyone managed to build on Windows- WITHOUT making changes to source code? I've been fighting with it for a day now, and every time I get past one issue, another one bites me.
I have built on Windows 7 (Eclipse/CDT/MinGW) without making source code changes.

Posted: Thu Dec 05, 2013 3:06 pm
by brentp
Still have the RaceAnalyzer build instructions on the to-do list, but here's the very short version:

wxWidgets 2.9.4 build configuration

msw-debug build configured with
$ ../configure --disable-shared --enable-aui --with-msw --with-opengl --disable-unicode --enable-debug --enable-debug_gdb

msw-release build configured with
$ ../configure --disable-shared --enable-aui --with-msw --with-opengl --disable-unicode

toolchain:
msys 1.0
MinGW with gcc 4.7.2

to create the debug and release builds unzip the wxWidgets 2.9.4 release and from within that directory create msw-debug and msw-release folders. from the context of your msys command prompt, enter those folders respectively and then issue the ../configure ..... command bove. then run make. Rinse, repeat...

Posted: Fri Dec 06, 2013 12:41 am
by minijoe
Thanks Brent,
I rebuilt wxWidgets 2.9.4 with your settings. I noticed that with the current code (1.1.14) that the GPS view does not draw correctly when replaying a sample log.
(Red dot stays in upper left corner)
I downloaded and installed the latest release from http://www.autosportlabs.net/RaceCaptur ... ads#Latest
Same thing. So I installed 1.1.13. GPS view works correctly.
Cheers
PS - maybe this should be posted Bug Reporting ?

Posted: Fri Dec 06, 2013 12:43 am
by brentp
Can you post your sample log so we can check it out? Thanks!

Posted: Fri Dec 06, 2013 12:57 am
by minijoe
brentp wrote:Can you post your sample log so we can check it out? Thanks!
I am using the sample logs from
http://dropcanvas.com/bthz0
Cheers,
Joe