fenugrec / nisprog

nisprog Nissan ECU reflashing tool
GNU General Public License v3.0
80 stars 17 forks source link

Issues compiling #26

Closed Jarguess closed 11 months ago

Jarguess commented 11 months ago

Hello, I got an issues compiling nisprog on my debian 12. Was hoping you could help. I'm getting the following error:

/home/jarguess/nisprog/nisprog.c:123:11: note: (near initialization for ‘np_cmdtable[2].routine’)
/home/jarguess/nisprog/nisprog.c:123:23: error: ‘FLAG_HIDDEN’ undeclared here (not in a function)
123 | cmd_npconn, FLAG_HIDDEN, NULL}
^~~~~~~~~~~
/home/jarguess/nisprog/nisprog.c:168:11: note: (near initialization for ‘np_cmdtable[20].routine’)
make[2]: *** [CMakeFiles/nisprog.dir/build.make:83: CMakeFiles/nisprog.dir/nisprog.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/nisprog.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Any idea where I went wrong or what the issue might be?

fenugrec commented 11 months ago

looks like you didn't git submodule update

Jarguess commented 11 months ago

ok so I removed everything and started over. I started in my home directory below is the commands I executed in order with an abbreviated version of the output.

Can you please confirm I'm executing the proper steps to build? Am I missing a needed package from my system?

~$ git clone --recurse-submodules https://github.com/fenugrec/nisprog.git Cloning into 'nisprog'... ... Cloning into '/home/jarguess/nisprog/freediag'... ... Cloning into '/home/jarguess/nisprog/nissutils'... ... Cloning into '/home/jarguess/nisprog/nissutils/cli_utils/libcsv'... ... Submodule path 'nissutils/cli_utils/libcsv': checked out 'b1d5212831842ee5869d99bc208a21837e4037d5' ~$ cd nisprog ~/nisprog$ git submodule update Submodule path 'freediag': checked out 'c5dd3964039b2d4c1a3e41f755b3062daed27ee6' Submodule path 'nissutils': checked out '70277b2965b849cb2074d24882d35611cf1e4cbe' ~/nisprog$ cd ~ ~$ mkdir nisprog_build ~$cd nisprog_build ~/nisprog_build$ cmake ../nisprog ... -- Configuring done -- Generating done -- Build files have been written to: /home/jarguess/nisprog_build ~/nisprog_build$ make ... [ 75%] Generating version.c, _version.c [ 77%] Building C object CMakeFiles/nisprog.dir/nisprog.c.o

then I get a few warnings then the error in my previous post a few more warnings and then

/home/jarguess/nisprog/nisprog.c:168:11: note: (near initialization for ‘np_cmdtable[20].routine’)
make[2]: *** [CMakeFiles/nisprog.dir/build.make:83: CMakeFiles/nisprog.dir/nisprog.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/nisprog.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Jarguess commented 11 months ago

sorry for the formatting I know its a bit hard to read :-(

fenugrec commented 11 months ago

Thanks for the clarification. Turns out I was halfway through refactoring some CLI code in the upstream freediag and never finished propagating the changes to nisprog. Let's see if I can unbreak it now. In the meantime you can try an earlier revision e.g. git checkout 3a461c72af2d2cc9c577ab42eff057519403eb26

[edit] master is possibly fixed now. limited testing

Jarguess commented 11 months ago

Checking out the previous revision worked, thank you.

fyi just tried master again and still getting the error, but it may have been me. When I have more time later this week I will try again.

I left the issue open in case you wanted a chance to do some more thorough testing prior to closing.

fenugrec commented 11 months ago

fyi just tried master again and still getting the error, but it may have been me.

Note, if you're just using git checkout to jump between revisions, by default it doesn't update the submodules.

fenugrec commented 11 months ago

did you have time to re-try current master ?

Jarguess commented 11 months ago

Sorry, just saw this email. Ill do a build tomorrow (oct 22) and get back to you by noon us central time.Quick question: is it possible to use nisprog on an ecu which has been previously tuned?I cant get nisprog to communicate with my ecu. I recently bought the car and believe it might have been previoisly tuned, but Im not sure. Do you know I can verify a stock rom or restore a stock rom on a previously tuned ecu without paying a tuner to do it, or paying a few hundred for an uprev cable?Should I create another issue for this with debug log and terminal window output?ThanksSent from my T-Mobile 5G Device -------- Original message --------From: fenugrec @.> Date: 10/21/23 8:53 PM (GMT-06:00) To: fenugrec/nisprog @.> Cc: Jarguess @.>, Author @.> Subject: Re: [fenugrec/nisprog] Issues compiling (Issue #26) did you have time to re-try current master ?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

fenugrec commented 11 months ago

Quick question: is it possible to use nisprog on an ecu which has been previously tuned?

Outfits like uprev go to some lengths to make that very difficult, to extract as much money as possible. Not impossible but definitely not publicly documented, as different companies will butcher the firmware in different ways to ensure only "their" tools work.

Jarguess commented 11 months ago

Works perfect! Thank you.

fenugrec commented 11 months ago

Thanks for the report!