Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
vodellv opened this issue Aug 27, 2020 · 7 comments
Open

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

vodellv opened this issue Aug 27, 2020 · 7 comments

Comments

@vodellv
Copy link

vodellv commented Aug 27, 2020

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
Copy link
Contributor

This seems related to the Regular Expression library.

@vodellv
Copy link
Author

vodellv commented Aug 27, 2020

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
Copy link
Contributor

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
Copy link
Author

vodellv commented Aug 27, 2020

ok, where is tech-talk?

@ralphlange
Copy link
Contributor

@anjohnson
Copy link
Member

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
Copy link
Contributor

Ok. When time permits, I will

  • document this in the README
  • add a MacOS job on Travis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants