rosco-m68k / rosco_m68k

Design, documentation and software for the Really Old School Computer (M68K)
https://rosco-m68k.com
Other
160 stars 36 forks source link

can't compile develop branch #457

Closed der-schmelle2 closed 1 month ago

der-schmelle2 commented 1 month ago

Hello, this is my first ‘issue’ so please be nice to me and give me hints if I did something wrong. I am running macOS 15.0.1. I have installed the toolchain and am now trying to compile the firmware in develop Branch. Unfortunately this does not work. See attached file with the information received from the terminal output. Procedure for reproduction:

brew tap rosco-m68k/toolchain
brew install gcc-cross-m68k@13 vasm-m68k srecord minipro
brew install zstd
git clone https://github.com/rosco-m68k/rosco_m68k.git
git submodule update --init --recursive
git checkout master
make clean all
make burn

IS WORKING FINE

git checkout develop

M code/firmware/rosco_m68k_firmware/romfs/micropython/core M code/firmware/rosco_m68k_firmware/romfs/mklittlefs Switched to branch ‘develop’ our branch is up to date with ‘origin/develop’.

make clean all SEE attached screen output error_develop_branch.txt

Please help. Thanks Peter

roscopeco commented 1 month ago

Hello! 🙂

Ah, you've caught us right in the middle of some large changes in develop, so there are some things that you'll need to do differently, but which aren't yet reflected in the documentation - those changes are in flight currently, sorry about that.

The first thing you'll need to do is fetch submodules from git:

git submodule update --init

Once that's done, you'll need to be using our newer, more full-featured toolchain. It's currently pre-release, so will take a little while to install since it is built locally (it is HEAD-only until we cut a proper release). You can install it with:

brew install --HEAD rosco-m68k/toolchain/rosco-m68k-toolchain@13

Once those are done, you should be able to built with make clean all as you did before.

Hope that helps, let us know if you hit any more problems 🙂

der-schmelle2 commented 1 month ago

Hello Ross, Thank you very much for your message. I will carry out your suggested steps tomorrow. I am really enthusiastic about your project. Thank you for that.

Best regards Peter

Ross Bamford @.***> schrieb am Mo. 7. Okt. 2024 um 21:12:

Hello! 🙂

Ah, you've caught us right in the middle of some large changes in develop, so there are some things that you'll need to do differently, but which aren't yet reflected in the documentation - those changes are in flight currently, sorry about that.

The first thing you'll need to do is fetch submodules from git:

git submodule update --init

Once that's done, you'll need to be using our newer, more full-featured toolchain. It's currently pre-release, so will take a little while to install since it is built locally (it is HEAD-only until we cut a proper release). You can install it with:

brew install --HEAD @.***

Once those are done, you should be able to built with make clean all as you did before.

Hope that helps, let us know if you hit any more problems 🙂

— Reply to this email directly, view it on GitHub https://github.com/rosco-m68k/rosco_m68k/issues/457#issuecomment-2397686911, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHVONR5GDQWPSE53BM74M3Z2LMIDAVCNFSM6AAAAABPPJJJYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJXGY4DMOJRGE . You are receiving this because you authored the thread.Message ID: @.***>

der-schmelle2 commented 1 month ago

I ran into a new error. Steps to reproduce:

brew install --HEAD rosco-m68k/toolchain/rosco-m68k-toolchain@13
git submodule update --init # nothing happened
git pull
brew unlink binutils-cross-m68k
brew link --overwrite rosco-m68k-toolchain@13

Error:

m68k-elf-rosco-ar: creating libboot_menu.a
a - controller.o
a - list.o
a - main.o
a - model.o
a - parse_menu.o
a - test_anim.o
a - view.o
a - xosera_backend.o
m68k-elf-rosco-ranlib libboot_menu.a
m68k-elf-rosco-gcc  -T rosco_m68k_stage2.ld -Wl,--warn-common -Wl,-Map=loader2.map init2.o serial.o main2.o kermit/kermit.o kermit/kermit_support.o load/load.o sdfat/load.o romfs/load.o romfs/romfs.o romfs/lfs.o romfs/lfs_util.o boot_menu/libboot_menu.a -o loader2.elf -Wl,-R../stage1/stage1.elf -nostartfiles boot_menu/libboot_menu.a
chmod a-x loader2.elf
m68k-elf-rosco-objcopy -O binary loader2.elf loader2.bin
../tools/liblzg/src/tools/lzg -9 loader2.bin loader2.bin.zip
m68k-elf-objcopy -I binary -O elf32-m68k -B m68k --rename-section .data=.zipdata loader2.bin.zip loader2.bin.zip.o
make[1]: m68k-elf-objcopy: No such file or directory
make[1]: *** [loader2.bin.zip.o] Error 1
make: *** [stage2/loader2.bin.zip.o] Error 2

Should I wait until you have all processes working to be able to compile without errors?

Thanks Peter

roscopeco commented 1 month ago

Hmm, the error m68k-elf-objcopy: No such file or directory suggests the old toolchain wasn't found.

There's a PR currently in flight to remove the dependency, but in the meantime you need to have both installed.

You mentioned initially that you'd already installed the old toolchain - did you uninstall it?

der-schmelle2 commented 1 month ago

No, I have not uninstalled anything. Would it make sense to uninstall and reinstall both?

Ross Bamford @.***> schrieb am Di. 8. Okt. 2024 um 21:45:

Hmm, the error m68k-elf-objcopy: No such file or directory suggests the old toolchain wasn't found.

There's a PR currently in flight https://github.com/rosco-m68k/rosco_m68k/pull/454 to remove the dependency, but in the meantime you need to have both installed.

You mentioned initially that you'd already installed the old toolchain - did you uninstall it?

— Reply to this email directly, view it on GitHub https://github.com/rosco-m68k/rosco_m68k/issues/457#issuecomment-2400688096, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHVONTCHFZJS7CH64RWJWDZ2QY5VAVCNFSM6AAAAABPPJJJYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBQGY4DQMBZGY . You are receiving this because you authored the thread.Message ID: @.***>

roscopeco commented 1 month ago

No, there shouldn't be any need to do that. The easiest thing to do while we're waiting to get this PR merged would be:

git checkout feature/remove-bare-metal-toolchain-dependency

and then I'll update here as soon as we get the PR merged and you can switch back to develop :)

roscopeco commented 1 month ago

Update: the PR to remove the old toolchain dependency is merged, you should be able to build develop now if you pull.

der-schmelle2 commented 1 month ago

It's working fine. Thanks