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  2020  2021  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  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: Re: LabCA for MATLAB Installation error
From: Alessandro DUffizi via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Cc: Giovanni Franzini <giovanni.franzini at lnf.infn.it>
Date: Tue, 09 Jan 2024 15:22:42 +0100
Good morning to all,
I'm a colleague of Giovanni Franzini.

We finally reached to compile LabCA under Windows.
I'm here to let you know the steps I did for reaching this goal.


ENVIRONMENT : epics 7.0  - MatlabR2022 - Windows 10 Pro
It would be preferred that those program were installed in a path without blank spaces. Maybe is not necessary, but I did so.

Once downloaded the library, edit the  ./configure/RELEASE file

Change the EPICS_BASE value with the installation path of your EPICS, at the base level

I also set EPICS_HOST_ARCH=windows-x64
But this could be not necessary.

Uncomment and set the MATLABDIR variable with the path of you matlab installation The MAKEFOR variable in CONFIG is MATLAB as DEFAULT so there's no need to change it

Uncomment and change the value of MATLIB_SUBDIR with the RELATIVE path between your ${MATLABDIR}/lib and the directory where is located the library 'libmex.lib'

Use the /  into the PATH just like in a LINUX PATH:
c:/mypath/mysubpath


BUILDING THE LIBRARY
As building environment I used:
 Microsoft Visual Studio Community Edition 2022

You have to install a make tool, because is not already present in Windows.
For this purpose I used Gnu Make 4.3 installed by Chocolatey

Now, Visual Studio 2022 and Make are not so pretty integrated, for this reason you could have some bad behaviour using the make from the IDE depending on the host architecture of the EPICS library that you have installed. It could happens (and happened to me) that you have the 64 bit library from EPICS, but your Visual Studio will continue to use a 32 bit cl compiler for building your library even if you try to define the compilation target inside the IDE. This will brought you to fail your build.
So instead of Launching the Visual studio IDE, launch the:

X64 Native Tools Command Prompt For VS 2022 if you're compiling a 64-bit library or X86 Native Tools Command Prompt For VS 2022 if you're compliling a 32-bit library

You will find both of those tools in Start → Visual Studio 2022 folder in the start menu. Before you launch the build inside this command prompt, you have to change another point of the code:

Open the glue/mglue.h file and edit the line 91 that was

void lcaMexGblInit();

trasforming it in:

epicsShareFunc void epicsShareAPI  lcaMexGblInit();

This is necessary because Windows for default doesn't export functions into library. It must be explicitly declared, differently from Linux.



Now, launching a MAKE command in the Prompt for VS,the command should run correctly and creating a subfolder of the matlab library folder, in which you will have all the .mexw64 that you need to put into your matlab. You will need also the dll created in the folders ezca (ezcamt.dll) and in the folders glue (mezcaglue.dll)

That was our experience. Hoping could be useful for somebody

Alessandro




Replies:
Re: LabCA for MATLAB Installation error Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Job Opportunities: Controls Software Engineers, STFC ISIS Facility, Oxfordshire, UK Freddie Akeroyd - STFC UKRI via Tech-talk
Next: RE: Behavior of the soft motor's DINP field Pearson, Matthew 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: LabCA for MATLAB Installation error Freddie Akeroyd - STFC UKRI via Tech-talk
Next: Re: LabCA for MATLAB Installation error Michael Davidsaver 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, 09 Jan 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·