Ricardo Wurmus skribis: > So, a problem with a linker script that cannot be found and a missing > avr-objcopy. I found them in the binutils-cross-avr output in the > store, but since there’s no separate package for this I installed it > like this: > > guix package -i /gnu/store/5f7pp8r9wpwzsf61cf406xb1hkad2cdi-binutils-cross-avr-2.25.1 If needed, you could add one such package to ‘cross-base.scm’. Currently there are only full-blown cross-GCCs there, but if adding a cross-binutils is useful, go for it. > Microscheme 0.9.2, (C) Ryan Suchocki >>> Treeshaker: After 4 rounds: 87 globals purged! 22 bytes will be reserved. >>> 18 lines compiled OK >>> Assembling... > avr-ld: cannot find crtm328p.o: No such file or directory > avr-ld: cannot find -lm > avr-ld: cannot find -lc In GCC we modify the spec file so that the right -L/libc/dir/name is passed to ld; see (gnu packages gcc), ‘GNU_USER_TARGET_LIB_SPEC’. However, ‘gcc-cross-sans-libc-avr’ is a bare-bones compiler, so it doesn’t get the -L flag in question since there’s no libc to link to. To get a full-blow compiler that uses avr-libc, you could start from this: