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 <2020> 2021 2022 2023 2024 2025 | 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 <2020> 2021 2022 2023 2024 2025 |
<== 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 >> > |