EPICS Home

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: How to build MEDM (Jetson nano)
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: Hinko Kocevar <Hinko.Kocevar at ess.eu>
Cc: 신동호 <dhshin at etri.re.kr>, EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 22 Sep 2020 17:28:45 +0000
On Sep 22, 2020, at 11:53 AM, Hinko Kocevar <Hinko.Kocevar at ess.eu> wrote:
If you configured extensions to be cross-compiled on the same Ubuntu release  maybe all the X11 and Motif header files would be the same for the cross-target if you could install them, but the build-time library paths would be different so you wouldn’t be able to test the native CONFIG_SITE files yourself. I’m not too sure whether this is worth doing.

Agree, going native would be a way to test the aarch64 target. I would need to get a hold of the aarch64 libs to get the cross compile through. One way of getting that on a PC would be to find a aarch64 rootfs that has X11 on it and then mount on loop in Linux and point cross compilation tools to look for aarch64 files there. There might still be an issue doing cross compile when it comes to library paths, if they are linked into the shared objects, IIRC EPICS does that, right?

EPICS can be configured to not build in library paths, or now to only build in relative paths (using the $ORIGIN feature available in some linkers).

I asked my boss if I can buy an aarch64 box (an R.Pi-4) to test out this kind of thing, but he hasn’t said yes yet (and I suspect there are a few other R.Pi enthusiasts here who might be quicker at setting this up than I would given everything else I’m supposed to be working on).

I have a RPI4 somewhere. The thing is, as I managed to ddg so far, is that the stock Rpi4 image is 32bit, and not aarch64, AFAICT. There are some other distros like arch, opensuse, fedora that provide aarch4 builds/images. Which one to use?

The arch itself might not matter too much, I would hope that the native build-time paths would be the same for the same distro as long as both CPUs are 64-bit, so the paths for Ubuntu on x86_64 would be the same on aarch-64. Maybe we can just create a CONFIG_SITE.linux-aarch64.linux-aarch64 file for Dong Ho to try based on that assumption and see if it works. I’m reluctant to do it myself though since the x86_64 file includes the x86 file which has all sorts of extraneous and inappropriate paths in it so it would be better to manually combine the two into one file and throw out all the extra stuff, and I don’t have time to work on that.

Longer-term I’d like us to get away from the extensions build structure completely and have each GUI program build stand-alone just like any other IOC module. Configuring all the build paths to the X11 and Motif headers for multiple programs could be done in a common module that exports suitable cfg/CONFIG* files, and sites that want to install these programs into a common bin/<host-arch> directory can do that by just setting INSTALL_LOCATION in the module’s CONFIG_SITE file.

Thanks,

- Andrew



________________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov<mailto:tech-talk-bounces at aps.anl.gov>> on behalf of Johnson, Andrew N. via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov>>
Sent: Tuesday, September 22, 2020 4:44:20 AM
To: Rivers, Mark L.
Cc: EPICS tech-talk; 신동호
Subject: Re: How to build MEDM (Jetson nano)

Unfortunately there is no CONFIG_SITE.linux-aarch64.linux-aarch64 file in the extensions/configure/os directory; Dong Ho is the first person to use this host architecture (which is the 64-bit version of linux-arm and has only just been added to Base) and I suspect may have some difficulties.

My first instinct would be to copy the CONFIG_SITE.linux-x86.linux-x86 file to the name given above and edit it to match, but there are quite a lot of old and irrelevant paths in that file. I suspect the configuration for Ubuntu on linux-aarch64 would be closer to that of linux-x86_64, but the latter file just pulls in and overrides the settings from the 32-bit linux-x86 target. Maybe that would still work though.

I wish I had time to help, but I don't. The whole extensions build area could use cleaning up or replacing, but someone will have to volunteer to take that on, anyone interested?

- Andrew


On Sep 21, 2020, at 8:43 PM, Mark Rivers via Tech-talk <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov>> wrote:

CONFIG_SITE is meant to be locally edited for your site. Just make the changes you need for your arch.

If you get build errors post them here.

Mark


Sent from my iPhone

On Sep 21, 2020, at 8:31 PM, 신동호 <dhshin at etri.re.kr<mailto:dhshin at etri.re.kr><mailto:dhshin at etri.re.kr>> wrote:

Hi, Mark
I followed the instruction you gave.
To build medm, CONFIGURE_SITE* file for linux-aarch64 is needed.
But I didn't find in the directory ../configure/os.
I guess most extensions for EPICS do not support aarch64.

- Dong Ho, SHIN
-----Original Message-----
From:  "Mark Rivers" <rivers at cars.uchicago.edu<mailto:rivers at cars.uchicago.edu><mailto:rivers at cars.uchicago.edu>>
To:     "신동호" <dhshin at etri.re.kr<mailto:dhshin at etri.re.kr><mailto:dhshin at etri.re.kr>>;
Cc:     "tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov>" <tech-talk at aps.anl.gov<mailto:tech-talk at aps.anl.gov><mailto:tech-talk at aps.anl.gov>>;
Sent:  2020-09-21 (월) 21:20:06 (UTC+09:00)
Subject: Re: How to build MEDM (Jetson nano)

First download this module:


https://github.com/epics-extensions/extensions


Then cd to that directory, and in that directory install this module:


https://github.com/epics-extensions/medm


The extensions/README explains how to build it.


https://github.com/epics-extensions/extensions/blob/master/README


Mark



________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of 신동호 via Tech-talk <tech-talk at aps.anl.gov>
Sent: Monday, September 21, 2020 4:00 AM
To: tech-talk at aps.anl.gov
Subject: How to build MEDM (Jetson nano)

Dear all,

I have succeeded to install EPICS base (Rver 7) with aysn & streamdevice supports.
And now I want to get install GUI tool, MEDM. Would you explain more detail how to build MEDM?

- Dong Ho, SHIN
[https://gov-dooray.com/mail-receipts?img=3768747754637167-255f3328d91a814f-2764576884bb5a9c-27645b06ab92d51d.gif]

--
Complexity comes for free, simplicity you have to work for.


--
Complexity comes for free, simplicity you have to work for.


-- 
Complexity comes for free, simplicity you have to work for.


Replies:
Re: How to build MEDM (Jetson nano) Hinko Kocevar via Tech-talk
References:
How to build MEDM (Jetson nano) 신동호 via Tech-talk
Re: How to build MEDM (Jetson nano) Mark Rivers via Tech-talk
RE: Re: How to build MEDM (Jetson nano) 신동호 via Tech-talk
Re: How to build MEDM (Jetson nano) Mark Rivers via Tech-talk
Re: How to build MEDM (Jetson nano) Johnson, Andrew N. via Tech-talk
Re: How to build MEDM (Jetson nano) Hinko Kocevar via Tech-talk
Re: How to build MEDM (Jetson nano) Johnson, Andrew N. via Tech-talk
Re: How to build MEDM (Jetson nano) Hinko Kocevar via Tech-talk

Navigate by Date:
Prev: Re: How to build MEDM (Jetson nano) Hinko Kocevar via Tech-talk
Next: Re: How to build MEDM (Jetson nano) Hinko Kocevar 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: How to build MEDM (Jetson nano) Hinko Kocevar via Tech-talk
Next: Re: How to build MEDM (Jetson nano) Hinko Kocevar 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