ShadowOne333 n00b
Joined: 16 Oct 2014 Posts: 58
|
Posted: Tue Sep 18, 2018 7:15 pm Post subject: [Help] CoilSnake software giving empty error outputs |
|
|
Good day, Gentoo community.
I've been trying to compile the software found in this repo:
https://github.com/mrtenda/CoilSnake
CoilSnake is a romhacking tool which is used specifically for hacking the videogame ROM for EarthBound (SNES).
The official sites mentions that it is possible to build the CoilSnake source into an Ubuntu/Debian machine, with the instructions and dependencies required listed here:
http://mrtenda.github.io/CoilSnake/
This is the follow up to install CoilSnake on a Linux machine which uses aptitude as its package manager:
Code: | $ sudo apt-get install python3-pip python3-dev g++ libyaml-dev \
python3-tk python3-pil.imagetk \
libjpeg-dev zlib1g-dev tk8.6-dev tcl8.6-dev
$ git clone https://github.com/mrtenda/CoilSnake.git
$ cd CoilSnake
$ make
$ sudo make install
$ coilsnake |
Since Gentoo doesn't use Aptitude, but rather Portage, the required packages in Gentoo's side should be the following (I use Python 3.5.5 for this, could be any other version of Py3.5):
Code: | $ USE="tk libyaml" sudo emerge =python3.5.5 libyaml pyyaml tk tcl pip libjpeg-turbo zlib
$ git clone https://github.com/mrtenda/CoilSnake.git
$ cd CoilSnake
$ make
$ sudo make install
$ coilsnake
|
With the "tk" and "libyaml" USE flags, I specify Portage to install Python 3.5 alongside the "tk" USE flag (counterpart for python3-tk in Aptitude) and "libyaml" for PyYaml.
Once that is done, CoilSnake is compiled just fine, installs and runs its graphical interface as normal.
I can decompile a clean ROM, and decompile its script.
However, the problem arises when I try to compile a ROM back with CoilSnake.
The problem itself is very weird, I get some sort of empty error log with "ccscript" (which is one of the programs compiled/installed alongside CoilSnake).
The error I'm getting is the following:
Code: | $ coilsnake-cli compile ../../../EBH/Fresh\ ROM/ ../../EarthBound\ \(Expanded\).smc ../../FreshROM.smc
Compiling CCScript
Unknown option: -n
usage: ccc [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.
Traceback (most recent call last):
File "/usr/bin/coilsnake-cli", line 11, in <module>
load_entry_point('coilsnake==3.33', 'console_scripts', 'coilsnake-cli')()
File "/usr/lib/python3.5/site-packages/coilsnake-3.33-py3.5-linux-i686.egg/coilsnake/ui/cli.py", line 84, in main
args.func(args)
File "/usr/lib/python3.5/site-packages/coilsnake-3.33-py3.5-linux-i686.egg/coilsnake/ui/cli.py", line 90, in _compile
output_rom_filename=args.output_rom)
File "/usr/lib/python3.5/site-packages/coilsnake-3.33-py3.5-linux-i686.egg/coilsnake/ui/common.py", line 135, in compile_project
raise CCScriptCompilationError("CCScript compilation failed with output:\n" + ccc_log)
coilsnake.exceptions.common.exceptions.CCScriptCompilationError: CCScriptCompilationError: CCScript compilation failed with output:
|
As you can see, I get no error output from CoilSnake when it attempts to compile a rom using CCScript.
The error itself seems to be related to a code found inside /coilsnake/ui/common.py (or any other common.py inside the source):
Code: | ccc_args = ["-n",
"--libs", ccscript_library_path(),
"--summary", os.path.join(project_path, "ccscript", "summary.txt"),
"-s", ccscript_offset,
"-o", output_rom_filename] + script_filenames
ccc_returncode, ccc_log = ccc(ccc_args)
if ccc_returncode == 0:
log.info("Finished compiling CCScript")
else:
raise CCScriptCompilationError("CCScript compilation failed with output:\n" + ccc_log) |
If I I comment out the if/else statement, the ROM does compile but with dummy values for the text, and the ROM crashes when any kind of text is about to be printed out.
So to me it seems the error is somewhere around the " ccc_returncode, ccc_log = ccc(ccc_args)" line, but I cannot seem to make something out of it.
I tried compiling it in a Debian 9 machine, and it works just fine there.
CCScript's source code is found here:
https://github.com/tripped/ccscript_legacy/
Any kind of help would be greatly appreciated!
PS: I tried on Sabayon as well and it does the exact same thing. |
|