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: "Williams Jr., Ernest L. via Tech-talk" <tech-talk at aps.anl.gov>
To: Ernesto Paiser <ernesto_paiser at lynceantech.com>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 3 Apr 2020 16:17:14 +0000
Response below


From: Ernesto Paiser <ernesto_paiser at lynceantech.com>
Sent: Friday, April 3, 2020 9:10 AM
To: Williams Jr., Ernest L. <ernesto at slac.stanford.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: EDM in RHEL8 or Centos8
 
Hi Ernest,
I reached that point too.
There was a threat in teck-talk that talk about don't need libungif
anymore. I tried to replace it with giflib, but it didn't work.
I got some emails from Sinclair I will still need to check it.
Let you know my progress.

<ELW>
I followed the tech-talk thread from Michael Davidsaver regarding libungif
I simply removed it from the Makefile and it worked.
We will probably need wrap this with some idefs to clean it up
<ELW>


  Cheers
   Ernesto

On 4/3/20 8:59 AM, Williams Jr., Ernest L. wrote:
> Response below
>
> ------------------------------------------------------------------------
> *From:* Ernesto Paiser <ernesto_paiser at lynceantech.com>
> *Sent:* Friday, April 3, 2020 8:46 AM
> *To:* Williams Jr., Ernest L. <ernesto at slac.stanford.edu>;
> tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
> *Subject:* Re: EDM in RHEL8 or Centos8
> Hi Ernest,
> I'm doing well. Regardless someone here may have got the covid...
> Hope you are as well as, safe and healthy!
>
> <ELW>
> We are hanging in there.
> Shelter In Place 🙂
> <ELW>
>
> 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.
>
> <ELW>
> That stanza needs to be moved below the "#include "gif.h""
> gif.h  which includes gif_lib.h which defines GIFLIB_MAJOR and GIFLIB_MINOR
> I guess this went unnoticed for a long time 🙁
> Version logic is working now.
> <ELW>
>
> Let me know if you make some progress, Thanks
>
> <ELW>
> Next, issue is linking error; seems that libungif is needed
> make[1]: Entering directory
> '/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/giflib/O.linux-x86_64'
> /usr/bin/g++ -o libcf322683-513e-4570-a44b-7cdd7cae0de5.so -shared -fPIC
> -Wl,-hlibcf322683-513e-4570-a44b-7cdd7cae0de5.so
> -L/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/lib/linux-x86_64
> -L/usr/lib64
> -Wl,-rpath,/usr/local/controlsDev/epics/extensions/edm/R1.12.105B-1.2.0/lib/linux-x86_64
> -Wl,-rpath,/usr/lib64           -rdynamic -m64          gif.o
> reg_libcf322683-513e-4570-a44b-7cdd7cae0de5.o   -lEdmBase
> -lcfcaa62e-8199-11d3-a77f-00104b8742df
> -l114135a4-6f6c-11d3-95bc-00104b8742df -lXm -lXt -lXp -lXtst -lX11
>   -lpthread -ldl -lungif -lgif -lpthread   -lreadline -lncurses -lm -lrt
> -ldl -lgcc
> /usr/bin/ld: cannot find -lungif
> collect2: error: ld returned 1 exit status
> <ELW>
>
>    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
>>
>


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

Navigate by Date:
Prev: Re: EDM in RHEL8 or Centos8 Ernesto Paiser via Tech-talk
Next: Re: Packages to build EPICS base, synApps, and areaDetector on Centos 8 Pedersen, Ulrik (DLSLtd, RAL, LSCI) 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 Ernesto Paiser via Tech-talk
Next: Consistently inconsistent behaviour when testing ADURL Simon Rose 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 ·