mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ gnat --version GNAT GPL 2015 (20150428-49) Copyright (C) 1996-2015, Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The first run of 'gprbuild' in the ffacalc directory yielded some errors because the GNAT 2015 version seems to not support some built-ins that asciilifeform is looking for: For example: mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ gprbuild using project file ffa_calc.gpr gcc -c -O2 -fdump-scos -gnata -fstack-check -gnatyd -gnatym -fdata-sections -ffunction-sections ffa_calc.adb gcc -c -O2 -fdump-scos -gnata -fstack-check -gnatyd -gnatym -fdata-sections -ffunction-sections -gnatwr -gnatw.d -gnatec=/home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/restrict.adc iron. ads /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/restrict.adc:52:21: invalid restriction identifier "No_Implicit_Protected_Object_Allocations" /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/restrict.adc:53:21: invalid restriction identifier "No_Implicit_Task_Allocations" /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/restrict.adc:70:21: invalid restriction identifier "No_Task_At_Interrupt_Priority" /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/restrict.adc:80:21: invalid restriction identifier "Pure_Barriers" It seems that I've been here before, because upon searching for this error in the TMSR~ logs, I found: http://btcbase.org/log/2017-12-02#1745440 I simply just commented these out in libffa/restrict.adc : -- pragma Restrictions(No_Implicit_Protected_Object_Allocations); -- pragma Restrictions(No_Implicit_Task_Allocations); -- pragma Restrictions(No_Task_At_Interrupt_Priority); -- pragma Restrictions(Pure_Barriers); Another error: /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/fz_sqr.adb: In function 'Fz_Sqr.Fz_Sqr_Comba.Sqrdigit': /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/w_mul.ads:56:14: error: inlining failed in call to always_inline 'W_Mul.Sqr_Word': function body not available /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/fz_sqr.adb:79:10: error: called from here gprbuild: *** compilation phase failed I had to comment out the following in libffa/w_mul.ads : --pragma Inline_Always(Sqr_Word); Another error: /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/fz_mul.adb: In function 'Fz_Mul.Fz_Mul_Comba.Col': /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/w_mul.ads:51:14: error: inlining failed in call to always_inline 'W_Mul.Mul_Word': function body not available /home/mod6/ffa/src/sandbox/ffa_pressed/ffa/libffa/fz_mul.adb:64:13: error: called from here gprbuild: *** compilation phase failed I had to comment out the following in libffa/w_mul.ads --pragma Inline_Always(Mul_Word); Then another `gprbuild` and it built successfully. --------------------------------------------------------------------------------------------------------------------------- mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ date +'%Y%m%d %H:%m:%S' && time cat 2048.tape | ./bin/ffa_calc 2048 32 20181229 02:12:13 real 0m0.293s user 0m0.290s sys 0m0.000s mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ date +'%Y%m%d %H:%m:%S' && time cat 2048.tape | ./bin/ffa_calc 2048 32 20181229 02:12:16 real 0m0.293s user 0m0.290s sys 0m0.000s mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ date +'%Y%m%d %H:%m:%S' && time cat 2048.tape | ./bin/ffa_calc 2048 32 20181229 02:12:19 real 0m0.293s user 0m0.290s sys 0m0.000s mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ date +'%Y%m%d %H:%m:%S' && time cat 2048.tape | ./bin/ffa_calc 2048 32 20181229 02:12:21 real 0m0.293s user 0m0.290s sys 0m0.000s mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ date +'%Y%m%d %H:%m:%S' && time cat 2048.tape | ./bin/ffa_calc 2048 32 20181229 02:12:23 real 0m0.292s user 0m0.290s sys 0m0.000s mod6@gentoo ~/ffa/src/sandbox/ffa_pressed/ffa/ffacalc $ uptime 02:48:33 up 54 days, 5:00, 5 users, load average: 0.01, 0.03, 0.05 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz stepping : 10 microcode : 0xa07 cpu MHz : 2925.939 cache size : 3072 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority bugs : bogomips : 5851.87 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz stepping : 10 microcode : 0xa07 cpu MHz : 2925.939 cache size : 3072 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority bugs : bogomips : 5851.87 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: