EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 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: [Bug 1892190] Re: Building epics-base fails on musl based systems
From: mdavidsaver via Core-talk <core-talk at aps.anl.gov>
To: core-talk at aps.anl.gov
Date: Thu, 20 Aug 2020 06:56:08 -0000
> OP_SYS_CPPFLAGS += -D__MUSL__

I know I've argued against this pattern in the past, and we are moving
away from it.  ('-DUNIX', '-DCYGWIN32', '-Dlinux', etc.)  In the case of
musl though, it seems to me the least bad solution.

-- 
You received this bug notification because you are a member of EPICS
Core Developers, which is subscribed to EPICS Base.
Matching subscriptions: epics-core-list-subscription
https://bugs.launchpad.net/bugs/1892190

Title:
  Building epics-base fails on musl based systems

Status in EPICS Base:
  Triaged

Bug description:
  I am trying to build EPICS base 7.0.4 inside a docker container based
  on alpine linux, which uses musl in place of glibc.

  The build options used are CXXFLAGS="-DIPPORT_USERRESERVED=5000
  -fPIC".

  The build fails because the "backtrace" function does not exist in
  musl:

  /usr/bin/g++ -o iocLogServer  -L/EPICS/base/lib/linux-x86_64 -Wl,-rpath,/EPICS/base/lib/linux-x86_64           -rdynamic -m64         iocLogServer.o    -lCom
  /usr/lib/gcc/x86_64-alpine-linux-musl/9.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /EPICS/base/lib/linux-x86_64/libCom.so: undefined reference to `backtrace'
  collect2: error: ld returned 1 exit status

  Looking into epics-
  base/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp, which
  is the only file using that function, I was in the end able to
  successfully build EPICS by adding "-D__UCLIBC_MAJOR__=0" to the build
  options.

  However, it would be better to detect the presence of backtrace() by
  testing the existence of __GLIBC__ or __GNU_LIBRARY__, or,
  alternatively, to provide the user with the possibility of disabling
  backtrace support.

To manage notifications about this bug go to:
https://bugs.launchpad.net/epics-base/+bug/1892190/+subscriptions

References:
[Bug 1892190] [NEW] Building epics-base fails on musl based systems Sébastien Wertz via Core-talk

Navigate by Date:
Prev: [Bug 1892190] Re: Building epics-base fails on musl based systems Andrew Johnson via Core-talk
Next: Jenkins build is back to stable : epics-pvAccess-mac #412 APS Jenkins via Core-talk
Index: 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: [Bug 1892190] Re: Building epics-base fails on musl based systems Andrew Johnson via Core-talk
Next: [Bug 1892190] Re: Building epics-base fails on musl based systems Sébastien Wertz via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 20 Aug 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·