Weird Make errors building ROM/Disc
Jake Hamby (8915) 21 posts |
So there are two different build failures keeping me from making builds (BCM2835 ROM or Disc, doesn’t matter) from the latest sources, and I think I must be either missing something in my system config that’s confusing Make, or there’s a bug in Make or amu, and I don’t know why the build tree I have from a couple years ago seems to work. I made a fresh Raspberry Pi image with the 5.28 release, copied and installed DDE 3.0b from the NutPi zip, and got the same errors, including after installing the daily kernel and disc image on top of the fresh release. The two bugs are the “sed” command in sed -e 's/\x23.*$//' > Fonts.Encodings.UTF8 The build rule should work, but Comparing with the Makefile from the older build that works for me, I see the rule to make What’s insidious about this bug is if I press Break then there’s be an empty target file where there should be a processed one, and a subsequent build will appear to succeed but won’t get the UTF-8 data that it’s supposed to. My guess is there’s something in the regex that’s passed to sed with “-e” that’s breaking the “$<” expansion? The other issue is the TCP/IP code can’t find the header files that it’s supposed to be exporting from Error: File "InetSWIs.hdr" could not be opened This is with ARM AOF macro assembler 4.11 [21 Apr 2021], Amu 5.34 [30 Oct 2020] and Make 1.29 [10-Oct-17] (according to the GUI info pane), all from the NutPi DDE 3.0b archive. I’m guessing the assembler is supposed to look for “InetSWIs.hdr” in one of the included directories: objasm -depend !Depend -ihdr -i<Hdr$Dir>.Global -i<Hdr$Dir>.Interface -i<Hdr$Dir>.Interface2 -pd "APCS SETS \"APCS-32\"" -pd "Machine SETS \"RPi\"" -pd "UserIF SETS \"Raspberry\"" -o o.sendtosm sn.sendtosm Are there known bugs in the build with this version of the DDE? I’m at a loss as to what else it could be otherwise. I notice that the older build has a copy of the missing (from my failed build) Thanks in advance! |
Jake Hamby (8915) 21 posts |
There’s one bug in the current code base that I’ve patched locally to see if it makes any difference in a full build, because now I’m getting stuck with not finding The bug is the definitions of Having removed the |
David Pitt (9872) 363 posts |
The sources do, or did as it turns out, build with DDE31b. RISC OS source and the DDE are all part of the same ROOL git repository. Changes to RISC OS components may also involve changes to DDE tools and libraries. The difference between RISC OS source and DDE is that the DDE is not free. ROOL may be offering a free Pi only DDE A test Disc build with DDE31b has completed here, Pi RPMs were successfully built a week ago. Just to be awkward a Pi ROM build from today’s source code tarball has just failed with an error in Sound1. There was an overnight update to that I will report on that fully later. And I have just noticed DDE31c is now a thing. |
Sprow (202) 1158 posts |
Most likely you have an old Sed (or there’s a conflicting Sed somewhere else on your Run$Path). This one was updated in May 2020 to solve a hang, as I recall.
Are you sure you’ve checked out the latest copy, and not just the copy at the time the products files were last updated? Carefully check your Git runes for they are non obvious. A quick sanity check is to look in the VersionNum file – TCPIPLibs are 5.76 here.
Mea culpa. The ROM build roulette stopped on IOMD, and that built fine, as did a RAM loading standalone module. Turns out macros and stuff mean an ADR is out of range on Pi and others. |
Jake Hamby (8915) 21 posts |
I think this must be related to the version of Make in DDE 3.0b. It doesn’t seem to be sed because sed is being called with the wrong command-line, according to the output from Make. By the same logic, I think the missing One potential clue is that the “Prepare” Obey script in the sources that I download from GitLab can’t find the Acorn C/C++ compiler and tools because they’re looking for Needless to say, my version of DDE is setting |
Chris Mahoney (1684) 2165 posts |
I hope you mean 30b because 3.0 would be circa-1990 :)
Definitely not; I’ve always had my keyboard set to USA and have never had the issues you’re encountering. |
Jake Hamby (8915) 21 posts |
LOL, yes, DDE 30b makes much more sense! Honestly, I always felt like I got a buggy version of the DDE with 30b, mostly because I saw similar issues to the ones I’m presently seeing attempting to do ROM builds in the past, and never figured out why they went away the first time I saw them, but also when I double-click Application name in description file inconsistent with star command Press SPACE or click mouse to continue However, I can run |
Andrew McCarthy (3688) 605 posts |
Nut-Pi. My understanding at the time of my purchase is the cost is split across the numerous applications, and you’ll need to buy a developer license, and then you will get free upgrades for a year. |
Richard Walker (2090) 431 posts |
Yes, a think NutPi was very much a bargain-basement way in, but no further. I remember having to apply a couple of hacks with my version of the DDE (I got a free upgrade to DDE 27, so I presume I bought DDE 26?). It’s worth searching this forum, as I’m sure I recall threads about SetPaths and sed. Perhaps a couple of obey files just need a tweak? If you just want to experiment with LanManFS, I wouldn’t worry about building an entire ROM. I did follow the build guide on the ROOL wiki, but then just opened the component I wanted (funnily enough LanManFS) and ran !MkRam. No need to build a whole ROM – that implies some proper low-level trickery, which I don’t feel qualified to perform! I remember following this: https://www.riscosopen.org/wiki/documentation/show/How%20to%20build%20RISC%20OS |
Paolo Fabio Zaino (28) 1882 posts |
@ Jake Out of curiosity, did you install !CoreUtils via !PackMan (or other ways)? If so, could you remove it from the !Configure → Boot → Look At (if it’s in there) or avoid opening the directory that contains it (which should be $.Apps.Utilities) before you try to build RISC OS ? !CoreUtils is known to create macros that interfere with few RISC OS commands and utilities like link (which is also a filename in common with DDE’s link). When cleaned up, reboot and retry following the instructions Richard has shared above. Just my 0.5c |