On 12/7/24 19:55, Bertho Stultiens wrote:
It is my understanding that the 2.9 branch is the correct branch for current stable releases. However, when I checkout that branch, it doesn't compile. There are problems with 'halcompile' and hal/hal.h and hal/hal_lib.c is missing s64 and u64 support.
Can someone shed some light on this?

I can fix halcompile.g with this diff:
diff --git a/src/hal/utils/halcompile.g b/src/hal/utils/halcompile.g
index b1f101e862..19493f6462 100644
--- a/src/hal/utils/halcompile.g
+++ b/src/hal/utils/halcompile.g
@@ -24,7 +24,7 @@ parser Hal:
     token END: ";;"
     token PARAMDIRECTION: "rw|r"
     token PINDIRECTION: "in|out|io"
-    token TYPE: "float|bit|signed|unsigned|u32|s32|port"
+    token TYPE: "float|bit|signed|unsigned|u32|s32|u64|s64|port"
     token NAME: "[a-zA-Z_][a-zA-Z0-9_]*"
     token STARREDNAME: "[*]*[a-zA-Z_][a-zA-Z0-9_]*"
     token HALNAME: "[#a-zA-Z_][-#a-zA-Z0-9_.]*"


But then the compile bails on the following:

Compiling realtime objects/hal/components/conv_bit_s64.c
objects/hal/components/conv_bit_s64.c:27:5: error: unknown type name ‘hal_s64_t’
   27 |     hal_s64_t *out_p;
      |     ^~~~~~~~~
objects/hal/components/conv_bit_s64.c: In function ‘export’:
objects/hal/components/conv_bit_s64.c:51:9: warning: implicit declaration of function ‘hal_pin_s64_newf’; did you mean ‘hal_pin_s32_newf’? [-Wimplicit-function-declaration]
   51 |     r = hal_pin_s64_newf(HAL_OUT, &(inst->out_p), comp_id,
      |         ^~~~~~~~~~~~~~~~
      |         hal_pin_s32_newf
make: *** [Makefile:1251: objects/rtobjects/hal/components/conv_bit_s64.o] Error 1


If I add the enums, type declarations and prototypes to hal/hal.h, then it will compile. However, running in place results in a "can't find package Linuxcnc" error.

--
Greetings Bertho

(disclaimers are disclaimed)



_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to