ccl
ccl copied to clipboard
Build broken on ARM7 after v1.12-dev.4
I'm building from scratch on a Raspberry Pi (with ARMv7 Processor rev 5 (v71) CPU), and it hangs on optimizaters.lisp on v1.12-dev.5
(or v1.12
or v1.12.1
), but it works fine on v1.12-dev.4.
To be clear, my basic steps are thus:
~/src/$ git clone https://github.com/Clozure/ccl/
...
~/src/$ cd ccl/
~/src/ccl/$ git checkout v1.12-dev.4
~/src/ccl/$ cd lisp-kernel/linuxarm
~/src/ccl/lisp-kernel/linuxarm/$ make clean; make
...
~/src/ccl/lisp-kernel/linuxarm/$ cd ../..
~/src/ccl/$ ./scripts/get-binaries linuxarm
...
~/src/ccl/$ ./armcl
? (ccl:rebuild-ccl :full t)
;; everything compiles fine
But if I ran git checkout v1.12-dev.5
, the (ccl:rebuild-ccl :full t)
looks like its working, but hangs on compiling optimizers.lisp
Coincidentally, I have the same problem with my laptop running some Intel Core 2 Duo CPU.
I encountered that issue in #204 and had to work around by making several more building steps - can you check if that workaround works for you?
On 13.11.2021 01:33, Alex wrote:
Coincidentally, I have the same problem with my laptop running some Intel Core 2 Duo CPU.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Clozure/ccl/issues/399#issuecomment-967744057, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSZHKUYNQT74BZVC3MSR6DULWW5XANCNFSM5H56L7BQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Hi,
What does the last little bit of /proc/cpuinfo show?
I ask because my few years old Pi3 B+ shows
model name : ARMv7 Processor rev 4 (v7l)
Hardware : BCM2835
Revision : a020d3
so older. It runs Linux 4.19.66-v7+.
But my Pi 400 rev 1 shows something that implies it is even older
ARMv7 Processor rev 3 (v7l)
Hardware : BCM2711
Revision : c03130
running Linux 5.10.63-v7l+
Using this procedure to build HEAD seems to produce something that works on both systems.
git clone https://github.com/Clozure/ccl.git
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12/linuxarm.tar.gz
cd ccl
tar xvf ../linuxarm.tar.gz
./armcl
(ccl:rebuild-ccl :full t)
and repeat to make sure the new ccl can rebuild itself.
./armcl
(ccl:rebuild-ccl :full t)
Both built and rebuilt v1.12.1-5-g110c2306 just fine.
Of course any change can cause something to break but the change between -4 and -5 is adding :ieee-floating-point to features. This does seem a bit unlikely but could be.
I wonder if there is really a CPU specific change with the rev4 vs rev5. Or maybe a kernel change since sometimes linux emulates certain instructions and some might emulate differently?
cheers
bruce
On 2021-11-13T08:22:12.000+01:00, phoe @.***> wrote:
I encountered that issue in #204 and had to work around by making several more building steps - can you check if that workaround works for you? On 13.11.2021 01:33, Alex wrote:
Coincidentally, I have the same problem with my laptop running some Intel Core 2 Duo CPU. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Clozure/ccl/issues/399#issuecomment-967744057;, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSZHKUYNQT74BZVC3MSR6DULWW5XANCNFSM5H56L7BQ;. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675; or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub;. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub [https://github.com/Clozure/ccl/issues/399#issuecomment-967797329], or unsubscribe [https://github.com/notifications/unsubscribe-auth/ACEXJIQ6SLBWDULSKCQKAQ3ULYG2JANCNFSM5H56L7BQ]. Triage notifications on the go with GitHub Mobile for iOS [https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android [https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub].
@phoe I am afraid those extra steps are rather too cryptic for me to follow along.
@edoneel I have CPU revision 5.
I have modified my build steps to be:
~/src/$ git clone https://github.com/Clozure/ccl/
...
~/src/$ cd ccl/
~/src/ccl/$ git checkout v1.12
~/src/ccl/$ curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12/linuxarm.tar.gz
~/src/ccl/$ tar xvf linuxarm.tar.gz
~/src/ccl/$ cd lisp-kernel/linuxarm
~/src/ccl/lisp-kernel/linuxarm/$ make clean; make
...
~/src/ccl/lisp-kernel/linuxarm/$ cd ../..
~/src/ccl/$ ./scripts/get-binaries linuxarm
...
~/src/ccl/$ ./armcl
> Error: The value "CL" is not of the expected type LIST.
> While eecuting: (:INTERNAL CCL::OPERATION-ON-ALL-SPECS CCL::%%DEFINE_PACKAGE), in process listener(1)
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Skip loading init file.
> Type :? for other options.
>
> :q
? (ccl:rebuild-ccl :full t)
;; everything compiles fine
Sadly I always encounter this error when starting armcl now.
@phoe Morning coffee has cleared the cobwebs, I have tried:
~/src/$ git clone https://github.com/Clozure/ccl/
...
~/src/$ cd ccl/
~/src/ccl/$ git checkout v1.12
~/src/ccl/$ wget https://plaster.tymoon.eu/view/1144/raw?password
~/src/ccl/$ mv raw?password foo.lisp
~/src/ccl/$ cd lisp-kernel/linuxarm
~/src/ccl/lisp-kernel/linuxarm/$ make clean; make
...
~/src/ccl/lisp-kernel/linuxarm/$ cd ../..
~/src/ccl/$ ./scripts/get-binaries linuxarm
...
~/src/ccl/$ ./armcl
? (load "foo.lisp")
;; works fine
? (ccl:rebuild-ccl :full t)
;; hangs on optimizers.lisp again
I think that there is some sort of intermediate commit that you must checkout in order to work around the bug that prevents optimizers.lisp
from getting compiled. I think it might be 2912b11 (rebuild CCL) and then checkout the current master (and rebuild again), but I don't remember anymore - you might need to try and bisect the repository.
I have tried this, but have discovered an amazing bug, which seems to reproduce what happens when I tried @edoneel's suggested route.
This is what I've done:
~/src/$ git clone https://github.com/Clozure/ccl/
...
~/src/$ cd ccl/
~/src/ccl/$ git checkout v1.12-dev.4
~/src/ccl/$ cd lisp-kernel/linuxarm
~/src/ccl/lisp-kernel/linuxarm/$ make clean; make
...
~/src/ccl/lisp-kernel/linuxarm/$ cd ../..
~/src/ccl/$ ./scripts/get-binaries linuxarm
...
~/src/ccl/$ ./armcl
? (ccl:rebuild-ccl :full t)
;; everything compiles fine
? (quit)
~/src/ccl/$ git checkout f120efb
~/src/ccl/$ wget https://plaster.tymoon.eu/view/1144/raw?password -o phoe-patch.lisp
~/src/ccl/$ ./armcl
? (load "phoe-patch.lisp")
;; a few warning messages
? (ccl:rebuild-ccl :full t)
;; works fine
? (quit)
~/src/ccl/$ git checkout 2912b11
~/src/ccl/$ ./armcl
> Error: The value "CL" is not of the expected type LIST.
> While executing: (:INTERNAL CCL::OPERATION-ON-ALL-SPECS CCL::%DEFINE_PACKAGE), in process listener(1)
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Skip loading init file.
> Type :? for other options.
Please download the 1.12.2 release from https://github.com/Clozure/ccl/releases/tag/v1.12.2 (at least the linuxarm bootstrapping binaries) and the ARM build should work.
The file scripts/get-binaries
is obsolete.