EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EDM in RHEL8 or Centos8
From: Ernesto Paiser via Tech-talk <tech-talk at aps.anl.gov>
To: "Williams Jr., Ernest L." <ernesto at slac.stanford.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 3 Apr 2020 08:46:07 -0700
Hi Ernest,
I'm doing well. Regardless someone here may have got the covid...
Hope you are as well as, safe and healthy!
This message you got is because the gif.cc should check the giflib version and set the #define accordingly, but isn't working.
giflib has changed the definition for the functions:
DGifCloseFile and DGifOpenFileName
since version 5 adding an additional parameter *errno for the arguments.

If you force to compile with giflib version 5.1 you'll  get rid of this
error, but you may found others like me.
To make a test just modify gif.cc as:

//#if GIFLIB_MAJOR > 5 || GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1
  #define GIF_CLOSE_FILE(gif) DGifCloseFile(gif, NULL)
  #define GIF_OPEN_FILE(gif) DGifOpenFileName(gif, NULL)
//#else
//  #define GIF_CLOSE_FILE(gif) DGifCloseFile(gif)
//  #define GIF_OPEN_FILE(gif) DGifOpenFileName(gif)
//#endif

and compile again.

Let me know if you make some progress, Thanks
 Ernesto
On 4/3/20 7:49 AM, Williams Jr., Ernest L. wrote:
Hi Ernesto,
How is it going?

Our production systems are using mainly RHEL6 and RHEL7.
I have started looking ahead to RHEL 8.

What version of EDM are you using there?

Please provide more detail:

 1. Version of EPICS
 2. Version of EDM
 3. Version of giflib

Here is what I have on my centos8 box:
OS = CentOS Linux release 8.1.1911 (Core)
EPICS BASE = 7.0.3.1
EDM = 1.12.105B
GIFLIB = giflib-devel-5.1.4-3.el8.x86_64

Looks like we have a problem.
Here is my error message:

make -C ./giflib install
make[1]: Entering directory '/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/giflib'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
     T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/giflib/O.linux-x86_64' /usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE           -D_X86_64_  -DUNIX  -Dlinux     -O3   -Wall     -std=c++98 -fpermissive -Wno-write-strings -DNO_UNORDERED_MAP -DSINGLE_THREADED=1 -D__epics__=1  -mtune=generic      -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/Linux -I../../include  -I/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/include/compiler/gcc -I/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/include/os/Linux -I/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/include -I../../util -I../../edmlib -I/usr/include -I/usr/include/X11    -c ../gif.cc ../gif.cc: In constructor ‘activeGifClass::activeGifClass(const activeGifClass*)’: ../gif.cc:245:5: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
  int status;
      ^~~~~~
../gif.cc: In member function ‘int activeGifClass::readGifFile()’:
../gif.cc:24:50: error: too few arguments to function ‘GifFileType* DGifOpenFileName(const char*, int*)’
    #define GIF_OPEN_FILE(gif) DGifOpenFileName(gif)
                                                   ^
../gif.cc:442:11: note: in expansion of macro ‘GIF_OPEN_FILE’
      gif = GIF_OPEN_FILE( name );
            ^~~~~~~~~~~~~
In file included from ../gif.h:28,
                  from ../gif.cc:39:
/usr/include/gif_lib.h:179:14: note: declared here
  GifFileType *DGifOpenFileName(const char *GifFileName, int *Error);
               ^~~~~~~~~~~~~~~~
../gif.cc:23:48: error: too few arguments to function ‘int DGifCloseFile(GifFileType*, int*)’
    #define GIF_CLOSE_FILE(gif) DGifCloseFile(gif)
                                                 ^
../gif.cc:898:12: note: in expansion of macro ‘GIF_CLOSE_FILE’
    status = GIF_CLOSE_FILE( gif );
             ^~~~~~~~~~~~~~
In file included from ../gif.h:28,
                  from ../gif.cc:39:
/usr/include/gif_lib.h:183:9: note: declared here
      int DGifCloseFile(GifFileType * GifFile, int *ErrorCode);
          ^~~~~~~~~~~~~
../gif.cc:23:48: error: too few arguments to function ‘int DGifCloseFile(GifFileType*, int*)’
    #define GIF_CLOSE_FILE(gif) DGifCloseFile(gif)
                                                 ^
../gif.cc:910:30: note: in expansion of macro ‘GIF_CLOSE_FILE’
    if ( fileOpened ) status = GIF_CLOSE_FILE( gif );
                               ^~~~~~~~~~~~~~
In file included from ../gif.h:28,
                  from ../gif.cc:39:
/usr/include/gif_lib.h:183:9: note: declared here
      int DGifCloseFile(GifFileType * GifFile, int *ErrorCode);
          ^~~~~~~~~~~~~
make[2]: *** [/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/configure/RULES_BUILD:251: gif.o] Error 1 make[2]: Leaving directory '/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/giflib/O.linux-x86_64' make[1]: *** [/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[1]: Leaving directory '/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/giflib' make: *** [/usr/local/controlsDev/epics/base/R7.0.3.1-1.0/configure/RULES_DIRS:84: giflib.install] Error 2'


Cheers,
Ernesto



Replies:
Re: EDM in RHEL8 or Centos8 Williams Jr., Ernest L. via Tech-talk
References:
EDM in RHEL8 or Centos8 Ernesto Paiser via Tech-talk
Re: EDM in RHEL8 or Centos8 Williams Jr., Ernest L. via Tech-talk

Navigate by Date:
Prev: Re: Setting an array to zero length Ben Franksen via Tech-talk
Next: Re: EDM in RHEL8 or Centos8 Williams Jr., Ernest L. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EDM in RHEL8 or Centos8 Williams Jr., Ernest L. via Tech-talk
Next: Re: EDM in RHEL8 or Centos8 Williams Jr., Ernest L. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 03 Apr 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·