From b5508fc490a7a400592d7d4ec57827a67da70d67 Mon Sep 17 00:00:00 2001
From: "ezekiel.dohmen" <ezekiel.dohmen@ligo.org>
Date: Tue, 15 Aug 2023 08:20:41 -0700
Subject: [PATCH] Fixing deb12 build issues

---
 src/cds-shmem/cds-shmem.c           |  6 +++---
 src/epics/util/find_module_symvers  | 10 ++++++++--
 src/fe/demod/Demodulation.c         |  6 ++++++
 src/librts/env/USERAPPS_ENV_VARS.mk |  2 +-
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/cds-shmem/cds-shmem.c b/src/cds-shmem/cds-shmem.c
index 3241b12f9..8a5df5b36 100644
--- a/src/cds-shmem/cds-shmem.c
+++ b/src/cds-shmem/cds-shmem.c
@@ -133,7 +133,7 @@ shmem_open_mbuf( const char* sys_name, size_t size_mb )
         return NULL;
     }
 
-    intl = malloc( sizeof( shmem_intl ) );
+    intl = (shmem_intl*)malloc( sizeof( shmem_intl ) );
     if ( !intl )
     {
         fprintf( stderr, "Failed to allocate for internal structure for tracking mbuf.\n" );
@@ -214,7 +214,7 @@ shmem_open_posix( const char* sys_name, size_t size_mb )
         return NULL;
     }
 
-    intl = malloc( sizeof( shmem_intl ) );
+    intl = (shmem_intl*)malloc( sizeof( shmem_intl ) );
     if ( !intl )
     {
         return NULL;
@@ -333,7 +333,7 @@ shmem_wrap_memory_arbitrary( volatile void* data,
                              size_t         size,
                              void ( *cleanup )( volatile void* ) )
 {
-    shmem_intl* intl = malloc( sizeof( shmem_intl ) );
+    shmem_intl* intl = (shmem_intl*)malloc( sizeof( shmem_intl ) );
     if ( !intl )
     {
         return NULL;
diff --git a/src/epics/util/find_module_symvers b/src/epics/util/find_module_symvers
index 006a3109b..624606d3c 100755
--- a/src/epics/util/find_module_symvers
+++ b/src/epics/util/find_module_symvers
@@ -3,7 +3,7 @@
 import os
 import sys
 import subprocess
-
+import re
 import argparse
 
 def get_symvers_in_dir(modsymDir):
@@ -34,7 +34,10 @@ for modname in modnames:
         capture_output=True, text=True,
     )
     if modstat.returncode == 0 and modstat.stdout:
-        modstat = modstat.stdout.split(':')[0].split(', ')
+        #modstat = modstat.stdout.split(':')[0].split(', ')
+        #Newer versions of dkms display "<modname>/<version>..." instead of the old "<modname>, <version> ..."
+        temp =  modstat.stdout.split(':')[0]
+        modstat = re.split(', |/', temp) 
         if len(modstat) >= 4:
             modvers = modstat[1]
             mkvers = modstat[2]
@@ -45,7 +48,10 @@ for modname in modnames:
                 modvers,
                 mkvers,
                 march
+            
             )
+            #print(f"PATH is {modsymDir}")
+
             symvers_files += get_symvers_in_dir(modsymDir)
 if len(symvers_files) > 0:
     print(" ".join(symvers_files))
diff --git a/src/fe/demod/Demodulation.c b/src/fe/demod/Demodulation.c
index c9a4e28ee..e1b64b2b9 100644
--- a/src/fe/demod/Demodulation.c
+++ b/src/fe/demod/Demodulation.c
@@ -1,8 +1,14 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+
 #include "Demodulation.h"
 #include "Biquad.h"
 #include "drv/rts-logger.h"
 #include "util/inlineMath.h" //M_PI, lfabs()
 #include "util/lstring.h" //memcpy()
+#include "util/inlineMath.h"
 
 #ifdef __KERNEL__
 
diff --git a/src/librts/env/USERAPPS_ENV_VARS.mk b/src/librts/env/USERAPPS_ENV_VARS.mk
index 056c34fbb..a28108bc6 100644
--- a/src/librts/env/USERAPPS_ENV_VARS.mk
+++ b/src/librts/env/USERAPPS_ENV_VARS.mk
@@ -1,6 +1,6 @@
 USERAPPS_BASE ?=/opt/rtcds/userapps/trunk/
 
-export RCG_LIB_PATH=:$(USERAPPS_BASE)/als/common/models:$(USERAPPS_BASE)/asc/common/models:$(USERAPPS_BASE)/cal/common/models:$(USERAPPS_BASE)/cds/common/models:$(USERAPPS_BASE)/hpi/common/models:$(USERAPPS_BASE)/isc/common/models:$(USERAPPS_BASE)/isi/common/models:$(USERAPPS_BASE)/lsc/common/models:$(USERAPPS_BASE)/omc/common/models:$(USERAPPS_BASE)/psl/common/models:$(USERAPPS_BASE)/sqz/common/models:$(USERAPPS_BASE)/sus/common/models:$(USERAPPS_BASE)/sys/common/models:$(USERAPPS_BASE)/tcs/common/models:$(USERAPPS_BASE)/als/h1/models:$(USERAPPS_BASE)/asc/h1/models:$(USERAPPS_BASE)/cal/h1/models:$(USERAPPS_BASE)/cds/h1/models:$(USERAPPS_BASE)/hpi/h1/models:$(USERAPPS_BASE)/isc/h1/models:$(USERAPPS_BASE)/isc/h1/scripts/a2l:$(USERAPPS_BASE)/isi/h1/models:$(USERAPPS_BASE)/lsc/h1/models:$(USERAPPS_BASE)/omc/h1/models:$(USERAPPS_BASE)/pem/h1/models:$(USERAPPS_BASE)/psl/h1/models:$(USERAPPS_BASE)/sqz/h1/models:$(USERAPPS_BASE)/sus/h1/models:$(USERAPPS_BASE)/sys/h1/models:$(USERAPPS_BASE)/tcs/h1/models
+export RCG_LIB_PATH=:$(USERAPPS_BASE)/als/common/models:$(USERAPPS_BASE)/asc/common/models:$(USERAPPS_BASE)/cal/common/models:$(USERAPPS_BASE)/cds/common/models:$(USERAPPS_BASE)/hpi/common/models:$(USERAPPS_BASE)/isc/common/models:$(USERAPPS_BASE)/isi/common/models:$(USERAPPS_BASE)/lsc/common/models:$(USERAPPS_BASE)/omc/common/models:$(USERAPPS_BASE)/psl/common/models:$(USERAPPS_BASE)/sqz/common/models:$(USERAPPS_BASE)/sus/common/models:$(USERAPPS_BASE)/sys/common/models:$(USERAPPS_BASE)/tcs/common/models:$(USERAPPS_BASE)/als/$(ifo)/models:$(USERAPPS_BASE)/asc/$(ifo)/models:$(USERAPPS_BASE)/cal/$(ifo)/models:$(USERAPPS_BASE)/cds/$(ifo)/models:$(USERAPPS_BASE)/hpi/$(ifo)/models:$(USERAPPS_BASE)/isc/$(ifo)/models:$(USERAPPS_BASE)/isc/$(ifo)/scripts/a2l:$(USERAPPS_BASE)/isi/$(ifo)/models:$(USERAPPS_BASE)/lsc/$(ifo)/models:$(USERAPPS_BASE)/omc/$(ifo)/models:$(USERAPPS_BASE)/pem/$(ifo)/models:$(USERAPPS_BASE)/psl/$(ifo)/models:$(USERAPPS_BASE)/sqz/$(ifo)/models:$(USERAPPS_BASE)/sus/$(ifo)/models:$(USERAPPS_BASE)/sys/$(ifo)/models:$(USERAPPS_BASE)/tcs/$(ifo)/models
 
 
 export ALS_SRC=$(USERAPPS_BASE)/als/common/src
-- 
GitLab