Comments (12)
@ethteck I thought Jenkins was partially using rpis to build?
from papermario.
I haven't used it in a while, so I can test it again soon. @Alto1772 could you provide more details on what failed? Did the build succeed but the checksum failed? Or does the build not finish?
from papermario.
here's my first ninja -v
output from the last 12 lines:
[6636/6639] mips-linux-gnu-ld -r -b binary ver/us/build/assets.bin -o ver/us/build/assets.o
[6637/6639] mips-linux-gnu-ld -T ver/us/undefined_syms.txt -T ver/us/undefined_syms_auto.txt -T ver/us/undefined_funcs_auto.txt -T ver/us/dead_syms.txt -Map ver/us/build/papermario.map --no-check-sections -T ver/us/build/papermario.ld -o ver/us/build/papermario.elf
[6638/6639] mips-linux-gnu-objcopy ver/us/build/papermario.elf ver/us/build/papermario.z64 -O binary && tools/n64crc ver/us/build/papermario.z64
BootChip: CIC-NUS-6103
CRC 1: 0x65EEE53A Calculated: 0x65EEE69A (Bad, fixed)
CRC 2: 0xED7D733C Calculated: 0x119C8F53 (Bad, fixed)
[6639/6639] sha1sum -c ver/us/checksum.sha1 && touch ver/us/build/ok
FAILED: ver/us/build/ok
sha1sum -c ver/us/checksum.sha1 && touch ver/us/build/ok
ver/us/build/papermario.z64: FAILED
sha1sum: WARNING: 1 computed checksum did NOT match
ninja: build stopped: subcommand failed.
running ninja
again gives the clearer result:
[1/6] link ver/jp/build/papermario.elf
[2/6] rom ver/jp/build/papermario.elf
BootChip: CIC-NUS-6103
CRC 1: 0x3BA7CDDC Calculated: 0x3BA7CDDC (Good)
CRC 2: 0x464E52A0 Calculated: 0x464E52A0 (Good)
[3/6] compare
ver/jp/build/papermario.z64: OK
[4/6] link ver/us/build/papermario.elf
[5/6] rom ver/us/build/papermario.elf
BootChip: CIC-NUS-6103
CRC 1: 0x65EEE53A Calculated: 0x65EEE69A (Bad, fixed)
CRC 2: 0xED7D733C Calculated: 0x119C8F53 (Bad, fixed)
[6/6] compare
FAILED: ver/us/build/ok
sha1sum -c ver/us/checksum.sha1 && touch ver/us/build/ok
ver/us/build/papermario.z64: FAILED
sha1sum: WARNING: 1 computed checksum did NOT match
ninja: build stopped: subcommand failed.
only the us version fails the checksum during this build.
from papermario.
Okay, so the checksum is just failing. Could you try ./first_diff.py to see where the first difference occurs? Or vbindiff?
from papermario.
./first_diff.py
output:
First difference at ROM addr 0x3BDA4, osSetIntMask (RAM 0x80060940, ROM 0x3BD40, ver/us/build/asm/os/osSetIntMask.s.o)
Bytes: 95:4A:9A:9C vs 95:4A:9A:A0
Instruction difference at ROM addr 0x74E9C, D_80099AA0 (RAM 0x80099A9C, ROM 0x74E9C, ver/us/build/asm/os/osSetIntMask.s.o)
Bytes: 05:55:05:56 vs 00:00:00:00
Instruction difference at ROM addr 0x74F1C, jtbl_80099B20 (RAM 0x80099B1C, ROM 0x74F1C, ver/us/build/src/os/code_3c490_len_3c0.c.o)
Bytes: 80:06:13:D4 vs 0A:A9:0A:AA
Instruction difference at ROM addr 0x74F3C, D_80099B40 (RAM 0x80099B3C, ROM 0x74F3C, ver/us/build/src/os/code_3c940_len_140.c.o)
Bytes: 41:F0:00:00 vs 00:00:00:00
Instruction difference at ROM addr 0x74F4C, D_80099B50 (RAM 0x80099B4C, ROM 0x74F4C, ver/us/build/src/os/guLookAt.c.o)
Bytes: BF:F0:00:00 vs 00:00:00:00
Instruction difference at ROM addr 0x74F54, D_80099B58 (RAM 0x80099B54, ROM 0x74F54, ver/us/build/src/os/guLookAt.c.o)
Bytes: 3F:F0:00:00 vs 00:00:00:00
487 differing word(s).
To find ROM shifts, copy a clean .map file to ver/current/expected/build/papermario.map and rerun this script.
from papermario.
Thanks. I'll try to reproduce in a bit and see what's going on. I suspect it has to do with the recent support for addu in libultra
from papermario.
By the way, your old github bio was so good and we reference it from time to time lol
from papermario.
after that, i tested the unmatched compiled rom in the n64 emulator, and it crashes (sound still running) at the demo screen where mario ground pounds the sealed wooden platform at the windmill (after it fades to black).
from papermario.
I can confirm this issue is present on the mac build as well. Something is up with the rodata in world.c
from papermario.
I believe I fixed this, or at least I fixed the part of it that was also failing the osx build. Could you test the latest master commit @Alto1772 ?
from papermario.
yup, checksum is OK, no errors or interruptions during the build.
that's all i have to say.
from papermario.
Awesome! I'll close this one then. Thanks for the report :)
from papermario.
Related Issues (20)
- Separate message_ids.h per input file
- Tex .json files don't use the asset stack outside of the cache checks HOT 1
- Reset the font after a message ends HOT 2
- Message building should respect the asset stack HOT 1
- Use depfiles for asset implicit deps
- Make audio asset replacement respect the asset stack
- Support aarch64 HOT 14
- ccache misses everything HOT 2
- IsPartnerImmobile is named incorrectly
- Investigate REF usage
- Lowercase TRUE and FALSE HOT 2
- Support custom mapfs.yaml in asset stack HOT 2
- Code in assets
- Call asset packs "datapacks"
- Improve error messages if deps or compilers are missing or out of date HOT 1
- Discuss Python venv in install_deps markdown guide
- Separate mapfs, sprites, etc used by splat from those used at build time HOT 1
- Cannot properly build the decomp HOT 3
- Another issue with building - "ninja: error: loading 'build.ninja': No such file or directory" HOT 7
- Migrate improved WindowID enum names from dx
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from papermario.