epics-extensions / ca-gateway

Channel Access PV Gateway
http://www.aps.anl.gov/epics/extensions/gateway/
Other
17 stars 17 forks source link

ca-gateway doesn't compile on macOS mojave #32

Open vodellv opened 4 years ago

vodellv commented 4 years ago

I get the following error message: mac-130048:gateway2_0_6_0 odell$ make /Library/Developer/CommandLineTools/usr/bin/make -C ./configure install /Library/Developer/CommandLineTools/usr/bin/make -C O.darwin-x86 -f ../Makefile TOP=../.. \ T_A=darwin-x86 install perl -CSD /Users/odell/base-3.15.7/bin/darwin-x86/convertRelease.pl checkRelease /Library/Developer/CommandLineTools/usr/bin/make -C ./src install /Library/Developer/CommandLineTools/usr/bin/make -C O.darwin-x86 -f ../Makefile TOP=../.. \ T_A=darwin-x86 install c++ -DUNIX -Ddarwin -O3 -g -Wall -DSTAT_PVS -DRATE_STATS -DCONTROL_PVS -DCAS_DIAGNOSTICS -DHANDLE_EXCEPTIONS -DUSE_DENYFROM -arch x86_64 -fno-common -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/clang -I../../include/os/Darwin -I../../include -I/Users/odell/base-3.15.7/include/compiler/clang -I/Users/odell/base-3.15.7/include/os/Darwin -I/Users/odell/base-3.15.7/include -I/Users/odell/base-3.15.7/src/cas/generic -I/Users/odell/base-3.15.7/src/ca/legacy/pcas/generic -c ../gatePv.cc In file included from ../gatePv.cc:71: ../gateAs.h:138:27: error: field has incomplete type 'struct re_pattern_buffer' struct re_pattern_buffer pat_buff; ^ ../gateAs.h:138:9: note: forward declaration of 're_pattern_buffer' struct re_pattern_buffer pat_buff; ^ ../gateAs.h:139:22: error: field has incomplete type 'struct re_registers' struct re_registers regs; ^ ../gateAs.h:139:9: note: forward declaration of 're_registers' struct re_registers regs; ^ 2 errors generated. make[2]: [gatePv.o] Error 1 make[1]: [install.darwin-x86] Error 2 make: *** [src.install] Error 2 mac-130048:gateway2_0_6_0 odell$

I get the same error message with more recent versions of ca-gateway as well. I'm using EPICS 3.15.7. This version of gateway compiles fine on the beagle bone. Is there an obvious fix for this?

ralphlange commented 4 years ago

This seems related to the Regular Expression library.

vodellv commented 4 years ago

great! Is there an obvious fix I can make? I'm at a loss as to what to do... what is the Regular Expression library?

ralphlange commented 4 years ago

Had I ever used a Mac in my life... I might even know. Sorry. Maybe ask on tech-talk. There are always a dozen or two Mac users reading.

vodellv commented 4 years ago

ok, where is tech-talk?

ralphlange commented 4 years ago

https://epics.anl.gov/tech-talk/index.php

anjohnson commented 4 years ago

Evidently Apple's version of regex.h doesn't have the same definitions in it that glibc's does on Linux. Switching to the gateway to build against PCRE worked for me on Mojave.

ralphlange commented 4 years ago

Ok. When time permits, I will