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: EPICS Base Compilation Failed Under Cygwin gcc 9+ |
From: | Paul Chu via Tech-talk <tech-talk at aps.anl.gov> |
To: | Freddie Akeroyd - UKRI STFC <freddie.akeroyd at stfc.ac.uk>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 30 Jul 2020 17:42:51 +0000 |
Thanks Freddie, Yes, your solution does the trick. It should probably be added to the future release. Thanks, Paul From: Freddie Akeroyd - UKRI STFC <freddie.akeroyd at stfc.ac.uk>
Hi, I wonder if the definition of TCP_NODELAY has moved location in gcc 9.0.* - if you add: #include <netinet/tcp.h> To the file does that help? If so, then modules/libcom/src/osi/os/cygwin32/osdSock.h is probably a better place for it to be more permanently added. Regards, Freddie From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Paul Chu via Tech-talk Hi, The EPICS Base is broken for Cygwin under gcc 9.0.* The error message seems pointing to “TCP_NODELAY” not declared. I tried for several Base 3.15.*, 3.14.*, and 7.*, and all got the same error messages (see below). If using gcc 7.4.*, all
versions can compile without any issue. Does anybody experience the same issue?
… g++ -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3 -g -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I.. -I../../../../src/ca/client/test -I../../../../include/compiler/gcc -I../../../../include/os/cygwin32
-I../../../../include -o tcpiiu.obj -c ../tcpiiu.cpp In file included from ../localHostName.h:32, from ../tcpiiu.cpp:32: ../../../../include/epicsSingleton.h:164:15: warning: ‘void* SingletonUntyped::pInstance() const’ redeclared without dllimport attribute after being referenced with dll linkage 164 | inline void * SingletonUntyped :: pInstance () const | ^~~~~~~~~~~~~~~~ ../tcpiiu.cpp: In constructor ‘tcpiiu::tcpiiu(cac&, epicsMutex&, epicsMutex&, cacContextNotify&, double, epicsTimerQueue&, const osiSockAddr&, comBufMemoryManager&, unsigned int, ipAddrToAsciiEngine&, const priLev&, SearchDestTCP*)’: ../tcpiiu.cpp:728:56: error: ‘TCP_NODELAY’ was not declared in this scope 728 | int status = setsockopt ( this->sock, IPPROTO_TCP, TCP_NODELAY, | ^~~~~~~~~~~ make[3]: *** [../../../../configure/RULES_BUILD:240: tcpiiu.obj] Error 1 make[3]: Leaving directory '/cygdrive/c/epics/base-3.15.7/src/ca/client/O.CYGWIN-X86_64' make[2]: *** [../../../configure/RULES_ARCHS:58: install.CYGWIN-X86_64] Error 2 make[2]: Leaving directory '/cygdrive/c/epics/base-3.15.7/src/ca/client' make[1]: *** [../configure/RULES_DIRS:84: ca/client.install] Error 2 make[1]: Leaving directory '/cygdrive/c/epics/base-3.15.7/src' make: *** [configure/RULES_DIRS:84: src.install] Error 2 Thanks, Paul Paul Chu Head of Accelerator Division Nanjing Proton Source Nanjing University, Nanjing, China This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and
should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry
out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses. Opinions, conclusions or other information in this message and
attachments that are not related directly to UKRI business are solely those of the author and do not represent the views of UKRI. |