Experimental Physics and Industrial Control System
|
Hi Marco,
How was the other EPICS base compiled – was that cross compiled? Does it have e.g. bin/linux-x86_64 as well as bin/linux-arm directories?
I guess strictly you would only need as much of epics base compiled for amd64 to be able to run any necessary executables (e.g. msi) as part of the cross compile build – you will need all necessary libraries compiled for linux-arm to be able to cross-link
applications. If the epics base was cross compiled for linux-arm on amd64 and has both these architectures in its bin directory, then I would have though setting your EPICS_HOST_ARCH to linux-x86_64 and pointing synApps at this EPICS base would then also
pick up the epics base cross compile option and build synApps linux-arm for you too (as well as for x86_64).
Regards,
Freddie
From: Marco A. Barra Montevechi Filho <marco.filho at lnls.br>
Sent: 19 October 2022 16:32
To: Akeroyd, Freddie (STFC,RAL,ISIS) <freddie.akeroyd at stfc.ac.uk>; Mooney, Tim M. <mooney at anl.gov>; SOL <sol at lnls.br>; tech-talk at aps.anl.gov
Subject: Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db
Thanks, Akeroyd! Im going to take a look at it.
Can i consider that my EPICS base compilation is not right then?
In the link you showed me its written: "I’m also assuming you already have EPICS base downloaded and compiled"
The compiled EPICS here is compiled in the target architecture or the host? In other words: do i need to compile my EPICS base using this toolchain or can i use my current one, supposing ts compiled for amd architecture?
Regards,
Marco
Hi,
I hadn’t noticed you were compiling for linux-arm on amd64, I think you’ll need to set CROSS_COMPILER_TARGET_ARCHS rather than EPICS_HOST_ARCH maybe something
along the lines of
https://epics-controls.org/resources-and-support/documents/howto-documents/cross-compile-epics-ioc-old-x86-linux/
Regards,
Freddie
Hi, Freddie!
I tried adding it to configure/CONFIG_SITE inside opcua-v0-9-3 but it still doesnt work:
opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db# make
make -C O.linux-arm -f ../Makefile TOP=../../.. \
make[1]: Entering directory '/usr/local/epics-nfs/modules/R7.0.5/synApps/R6.1/support/synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db/O.linux-arm'
Inflating database from ../S7-1500-server.substitutions
I. -I.. -I../O.Common -I../../../db -o S7-1500-server.db -S../S7-1500-server.substitutions
make[1]: I.: Command not found
make[1]: [/usr/local/epics-nfs/base/R7.0.5//configure/RULES.Db:477: ../O.Common/S7-1500-server.db] Error 127 (ignored)
mv: cannot stat 'S7-1500-server.db': No such file or directory
make[1]: *** [/usr/local/epics-nfs/base/R7.0.5//configure/RULES.Db:478: ../O.Common/S7-1500-server.db] Error 1
make[1]: Leaving directory '/usr/local/epics-nfs/modules/R7.0.5/synApps/R6.1/support/synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db/O.linux-arm'
make: *** [/usr/local/epics-nfs/base/R7.0.5//configure/RULES_ARCHS:58: install.linux-arm] Error 2
Should it be in cnofigure/CONFIG_SITE of synApps?
Thanks,
Marco
Hi Marco,
I think Tim is correct that the msi command has not been found. A version of MSI is shipped with EPICS 7, if it is not being picked up you may be able to just
add
MSI = $(MSI3_15)
To e.g. configure/CONFIG_SITE
Regards,
Freddie
The tool that turns a .substitutions file into a .db file is MSI. I think that's what's not being found.
MSI: Macro Substitution and Include Tool. MSI is a general purpose macro substitution/include tool. It accepts as input an ascii template file. Documentation
|
Hello all. Im compiling synApps with EPICS base R7.0.5 for linux-arm. The base has already been compiled for linux-arm here. (details
about arm compilation at the end of e-mail).
I got the synApps support from
https://github.com/EPICS-synApps/support. I then defined my EPICS_BASE to point to the right directory and EPICS_HOST_ARCH=linux-arm. I also added $EPICS_BASE/bin/linux-arm to
PATH and $EPICS_BASE/lib/linux-arm to LD_LIBRARY_PATH. I edited EPICS_BASE inside assemble_synApps.sh to point to the right location.
In the compilation process i needed to install libnet-dev, libpcap0.8-dev and libusb-dev, all without trouble.
Now, inside synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db, when i run make i get the following error message:
/usr/local/epics-nfs/modules/R7.0.5/synApps/R6.1/support/synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db# make
make -C O.linux-arm -f ../Makefile TOP=../../.. \
make[1]: Entering directory '/usr/local/epics-nfs/modules/R7.0.5/synApps/R6.1/support/synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db/O.linux-arm'
Inflating database from ../S7-1500-server.substitutions
I. -I.. -I../O.Common -I../../../db -o S7-1500-server.db -S../S7-1500-server.substitutions
make[1]: I.: Command not found
make[1]: [/usr/local/epics-nfs/base/R7.0.5//configure/RULES.Db:477: ../O.Common/S7-1500-server.db] Error 127 (ignored)
mv: cannot stat 'S7-1500-server.db': No such file or directory
make[1]: *** [/usr/local/epics-nfs/base/R7.0.5//configure/RULES.Db:478: ../O.Common/S7-1500-server.db] Error 1
make[1]: Leaving directory '/usr/local/epics-nfs/modules/R7.0.5/synApps/R6.1/support/synApps/support/opcua-v0-9-3/exampleTop/DeviceDbApp/S7-1500Db/O.linux-arm'
make: *** [/usr/local/epics-nfs/base/R7.0.5//configure/RULES_ARCHS:58: install.linux-arm] Error 2
2 things here make me curious:
make[1]: I.: Command not found and mv: cannot stat 'S7-1500-server.db': No such file or directory
The "command not found" makes no sense to me at all. I tried following the Makefiles and includes to find where is the problematic command comming from
but i couldnt find it. Im not fluent in make so i might be missing something silly.
The 'S7-1500-server.db': No such file or directory makes more sense to me: after cd into the opcua-v0-9-3 module and doing ´find -iname S7-1500-server.db´ i find nothing. I also find nothing with this name below EPICS base. Am i misunderstanding something or
is this .db file actually missing?
Im compilng synApps just to get AreaDetector anyway, so i suppose i can just comment out opcua from my support/configure/RELEASE?
Thanks for any help,
Marco
Obs:
details about arm compilation
The IOCs from this base and synApps are going to run in an arm machine, but the compilation is being
made in a container hosted in an amd machine. Inside the container, uname -a returns:
Linux sol7-linux 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64 GNU/Linux
but i configured EPICS_HOST_ARCH=linux-arm
The base compiled with no problem.
I did this because we have a few arm machines in here and their EPICS_HOST_ARCH was defined this way. Am i forgetting anything important? Should just defining this env var make the compilation work for arm even if the host is amd?
Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes
de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.
Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before
copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.
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.
|
- Replies:
- Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho via Tech-talk
- References:
- Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho via Tech-talk
- Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Mooney, Tim M. via Tech-talk
- RE: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Freddie Akeroyd - STFC UKRI via Tech-talk
- Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho via Tech-talk
- RE: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Freddie Akeroyd - STFC UKRI via Tech-talk
- Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho via Tech-talk
- Navigate by Date:
- Prev:
Re: Attocube AMC100 Cyl, David C. via Tech-talk
- Next:
Re: [EXTERNAL] Re: Db/Makefile infinite loop Simon Rose 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
2020
2021
<2022>
2023
2024
- Navigate by Thread:
- Prev:
Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho via Tech-talk
- Next:
Re: Help compiling synApps for linux-arm: opcua missing S7-1500-server.db Marco A. Barra Montevechi Filho 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
2020
2021
<2022>
2023
2024
|
ANJ, 21 Oct 2022 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|