modula3 / cm3

Critical Mass Modula-3
http://modula3.github.io/cm3/
Other
139 stars 25 forks source link

macOS 14.2.1 on M2 ARM: cannot redefine readonly global symbol: M3_BACKEND_MODE #1176

Closed pmcjones closed 10 months ago

pmcjones commented 10 months ago

Disclaimer: I haven't used Modula-3 since the late 1990s at DEC SRC. (I'm a coauthor of "Some Useful Modula-3 Interfaces".)

I followed the Getting Started instructions for d5.11.4, and got the error message and trace below.

Could someone point me in the right direction? Thanks very much!

d /Users/pmcjones/Documents/Xcode/m3/cm3-dist-AMD64_LINUX-d5.11.4/m3-libs/m3core /Users/pmcjones/cm3/bin/cm3 -build -DBUILD_DIR=ARM64_DARWIN -DROOT=/Users/pmcjones/Documents/Xcode/m3/cm3-dist-AMD64_LINUX-d5.11.4 -DTARGET=ARM64_DARWIN -DM3_BACKEND_MODE=C "/Users/pmcjones/cm3/bin/config/ARM64_DARWIN", line 1: quake runtime error: cannot redefine readonly global symbol: M3_BACKEND_MODE

--procedure-- -line- -file--- 1 /Users/pmcjones/cm3/bin/config/ARM64_DARWIN

Fatal Error: package build failed Traceback (most recent call last): File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1816, in Concierge().main() File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1750, in main command.execute() File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1502, in execute self.full_upgrade() File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1563, in full_upgrade self._upgrade.execute() File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1412, in execute super().execute() File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1302, in execute self._run_pass(base_packages) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1321, in _run_pass self.buildship(packages) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 1066, in executor action.execute(paths) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 839, in execute self.execute_path(package_path) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 963, in execute_path self._buildglobal.execute_path(package_path) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 913, in execute_path self.run(package_path, ["-build"]) File "/Users/pmcjones/Documents/Xcode/m3/build/../cm3-dist-AMD64_LINUX-d5.11.4/scripts/concierge.py", line 864, in run proc.check_returncode() File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py", line 460, in check_returncode raise CalledProcessError(self.returncode, self.args, self.stdout, subprocess.CalledProcessError: Command '['/Users/pmcjones/cm3/bin/cm3', '-build', '-DBUILD_DIR=ARM64_DARWIN', '-DROOT=/Users/pmcjones/Documents/Xcode/m3/cm3-dist-AMD64_LINUX-d5.11.4', '-DTARGET=ARM64_DARWIN', '-DM3_BACKEND_MODE=C']' returned non-zero exit status 2.

mikanystrom-intel commented 10 months ago

Jay Krell is the best person to answer your question, but I'm not sure if he's still reading this. It's been a few months since he last commented on anything on this list...

demoitem commented 10 months ago

You could try commenting out the M3_BACKEND_MODE line in ARM64_DARWIN and in Darwin.common as its being set on the command line by concierge. (And maybe also in the same files in m3-sys/cminstall/src/config since bootstrapping could copy them) Just guessing here.

pmcjones commented 10 months ago

Thank you @demoitem : I commented out M3_BACKEND_MODE line in ARM64_DARWIN and started a fresh build, which seemed to complete normally. Time to start the Tutorial now.

pmcjones commented 10 months ago

I was able to start up cm3ide and compile a "hello world" program, so I am closing this issue. If I encounter other mysteries, I will try out M3devel, which just accepted my request to join. Thank you @demoitem and @mikanystrom-intel.