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: RE: How to build MEDM (Jetson nano)
From: Hinko Kocevar via Tech-talk <tech-talk at aps.anl.gov>
To: 신동호 <dhshin at etri.re.kr>, "Johnson, Andrew N." <anj at anl.gov>, Torsten Bögershausen <Torsten.Bogershausen at ess.eu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 23 Sep 2020 07:28:39 +0000
> There's no configuration file or something else in the StripTool directory.
How to build or install StripTool?

It is the same as you would need for medm; both use the same toolkit. You need to have the X11 and Motif libraries, then EPICS base and extensions as discussed so far, and finally proceed with compiling striptool.

Jetson nano (which I just realized is a NVIDIA dev board)  looks like complete opposite of the RPi2 in terms of HW ; I wonder what kind of performance you will be able to get out of the RPi2. Going with RPi2 will not remove the need of manually building lesstif, I had to do it for x86_64, aarch-64 and I doubt there exists deb package for arm (that is not from 2012).

If you are able to switch boards, then go with newer RPi and just use 32 bit environment. Still need to manually build lesstif, though.

At the current state of affairs with EPICS base/extensions (assuming Jetson nano has a rootfs with X11 [1]) it seems to me that going with any of the above architectures is viable, and effort imposed is comparable. IOW, no big hurdles either path one takes. I have notes on getting the lesstif built for x86_64 and aarch64 as of yesterday if you need.

IMHO, there might be several different issues we are tackling at once here; new platform, old toolkit, old tools, old build infrastructure that could use rework. None of these are something that one with little time an possibly no prior experience in EPICS can tackle in a sensible time. I'm not saying it is impossible.

//hinko

[1] https://developer.nvidia.com/embedded/dlc/r32-3-1_Release_v1.0/t210ref_release_aarch64/Tegra_Linux_Sample-Root-Filesystem_R32.3.1_aarch64.tbz2

PS.: I have to blurp this out; this story makes makes me seriously start looking into developing striptool replacement that uses modern graphics and lightweight toolkits (! Qt), and is C(++) based; something with Dear ImGui.. and yes, I did notice the 2018 thead about this.
________________________________________
From: dhshin at etri.re.kr <dhshin at etri.re.kr> on behalf of 신동호 <dhshin at etri.re.kr>
Sent: Wednesday, September 23, 2020 8:38 AM
To: Hinko Kocevar; Johnson, Andrew N.; Torsten Bögershausen
Subject: RE: RE: How to build MEDM (Jetson nano)

With Jestson nano, it's an uneasy feat to build extensions on epics base.
More sophisticated information and knowledge are needed at least for me.
And I have no enough time to do so I changed the computing environment into RPi2, and old version of raspberry pi.

For now, it would be better to use StripTool rather than MEDM.

I've downloaded StripTool source from Github and located under the extensions/src directory.
There's no configuration file or something else in the StripTool directory.
How to build or install StripTool?

Dong Ho, SHIN
-----Original Message-----
From:  "Torsten Bögershausen" <torsten.bogershausen at ess.eu>
To:     "Hinko Kocevar" <hinko.kocevar at ess.eu>;  "Johnson, Andrew N." <anj at anl.gov>;
Cc:     "신동호" <dhshin at etri.re.kr>;
Sent:  2020-09-23 (수) 14:38:09 (UTC+09:00)
Subject: RE: How to build MEDM (Jetson nano)

Reading this conversation, I feel that there are 2 improvements
that needs a review, comments, and get may be merged:

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

Re-writing the make structure completely is probably a good goal,
but until we are there, should we try to improve the existing one ?

I don't know.

-----Original Message-----
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Hinko Kocevar via Tech-talk
Sent: Tuesday, September 22, 2020 23:58
To: Johnson, Andrew N. <anj at anl.gov>
Cc: 신동호 <dhshin at etri.re.kr>; EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: Re: How to build MEDM (Jetson nano)

I've managed to compile the medm on RPi4 running aarch64 Ubuntu Desktop image from https://github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/releases.
EPICS extensions configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64 looks like this:

X11_LIB=/usr/lib/aarch64-linux-gnu
X11_INC=/usr/include/X11
MOTIF_LIB=/home/ubuntu/lesstif/lib
MOTIF_INC=/home/ubuntu/lesstif/include

I had to build lesstif manually, hence the weird MOTIF_LIB/MOTIF_INC location, since there is no up to date deb packages of it these days.
PR https://github.com/epics-extensions/extensions/pull/3 has the change.

I also have some notes on the steps on how I performed the whole process, I can share them if some needs them.



//hinko
________________________________________
From: Johnson, Andrew N. <anj at anl.gov>
Sent: Tuesday, September 22, 2020 7:28:45 PM
To: Hinko Kocevar
Cc: EPICS tech-talk; 신동호
Subject: Re: How to build MEDM (Jetson nano)

On Sep 22, 2020, at 11:53 AM, Hinko Kocevar <Hinko.Kocevar at ess.eu<mailto: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><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><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><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><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><mailto:rivers at cars.uchicago.edu>>
To:     "신동호" <dhshin at etri.re.kr<mailto: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><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><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: RE: How to build MEDM (Jetson nano) 신동호 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
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: AW: autosave 5-10-1 on RTEMS-4.10.2, mount failed Sintschuk, Michael 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: RE: How to build MEDM (Jetson nano) 신동호 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, 25 Sep 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·