Hi Boj,
I'm not a user of labca, but we do use EPICS on windows and I have used matlab in the past, so I'm basing my answers on this rather than anything I can actually test for you unfortunately
The program is failing to link as it cannot find some functions from the matlab mex/mx libraries, I see that libmx.lib and libmex.lib are included on the command line but these files will be in Microsoft import library format and gcc/mingw didn't used to read this format, hence why you may be getting undefined symbols. Normally with gcc/mingw you would be linking as e.g. -lmex and it would locate a libmex.dll.a file to reference libmex.dll If you were using the visual studio window compiler then it may work better as .lib is its native format. Does matlab provide *.dll.a files or just *.lib and *.dll ? You can create a mingw compatible .dll.a file the following way from the mingw shell
# create libmex.def
gendef libmex.dll
# create libmex.dll.a from libmex.def
dlltool --def libmex.def --output-lib libmex.dll.a
(in some cases the -k argument may also be needed with dlltool, add that if you still get link undefined errors using libmex.dll.a)
At one point I think it was possible to link directly against a dll in mingw and it would auto import, but I am not sure if that is still the case i.e. You would link against /d/Matlab2022a/extern/lib/win64/mingw64/libmx.dll rather than /d/Matlab2022a/extern/lib/win64/mingw64/libmx.lib however creating a .dll.a is probably the better approach
Regards,
Freddie
> -----Original Message-----
> From: boj <lister at f77.dk>
> Sent: 19 December 2023 10:45
> To: Akeroyd, Freddie (STFC,RAL,ISIS) <freddie.akeroyd at stfc.ac.uk>
> Cc: Giovanni Franzini <giovanni.franzini at lnf.infn.it>; tech-talk at aps.anl.gov
> Subject: Re: LabCA for MATLAB Installation error
>
> Dear Freddie and all
>
> I looked a bit more carefully at the errors, and here are some details,
> unfortunately I am not very skilled in either c/c++ programming or windows
> programming, so that makes it hard for me to understand what is important.
>
> The setup is:
>
> * Windows 10
> * MSYS2 MINGW64 compiler "complex" as recommended for the EPICS part
> * Matlab R2022a
> * epics-labca-labca_3_8_1
> * EPICS version base-3.15.9
>
> In the labca source code I have set
>
> configure/RELEASE
> BASE_SUBDIR=
> EPICS_BASE=/home/boj/base-3.15.9/
> MATLABDIR = /d/Matlab2022a
> MATLIB_SUBDIR=win64/mingw64
>
> In my .bash_profile for MSYS2 I have
> EPICS_BASE=/home/boj/base-3.15.9
> EPICS_HOST_ARCH=windows-x64-mingw
> PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}
>
> EPICS command line tools works
>
> Included at the end of this mail is the full output of make, but as I understand
> it the problem is in the linking of mezcaglue.dll I get:
>
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -
> Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I.
> -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -
> I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca -
> I/d/Matlab2022a/extern/include -o mglue.obj -c ../mglue.c
> g++ -o mezcaglue.dll -shared -Wl,--out-implib,libmezcaglue.dll.a
> -L/home/boj/epics-labca-labca_3_8_1/lib/windows-x64-mingw
> -L/home/boj/base-3.15.9/lib/windows-x64-mingw
> /d/Matlab2022a/extern/lib/win64/mingw64/libut.lib
> /d/Matlab2022a/extern/lib/win64/mingw64/libmx.lib
> /d/Matlab2022a/extern/lib/win64/mingw64/libmex.lib -m64 ini.obj
> multiEzca.obj ctrlC-polled.obj gitstring.obj mglue.obj -lezcamt -lca -lCom -
> luser32 -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x9b): undefined reference to `mexPrintf_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xfe): undefined reference to `mexCallMATLAB_800'
>
> Which then continues with "undefined reference to `XXXX" for many lines and
> end with
>
> collect2.exe: error: ld returned 1 exit status
> make[2]: *** [/home/boj/base-3.15.9/configure/RULES_BUILD:292:
> mezcaglue.dll] Error 1
> make[2]: Leaving directory
> '/home/boj/epics-labca-labca_3_8_1/glue/O.windows-x64-mingw'
> make[1]: *** [/home/boj/base-3.15.9/configure/RULES_ARCHS:58:
> install.windows-x64-mingw] Error 2
> make[1]: Leaving directory '/home/boj/epics-labca-labca_3_8_1/glue'
> make: *** [/home/boj/base-3.15.9/configure/RULES_DIRS:85: glue.install]
> Error 2
>
> I hope this makes sence, and maybe can give a hint to what I am dooing
> wrong.
>
> Best regards
>
> Bo
>
> Full output of make:
>
> boj@dk1080799 MINGW64 ~/epics-labca-labca_3_8_1 $ make
> make: git: No such file or directory
> make -C ./configure install
> make[1]: Entering directory '/home/boj/epics-labca-labca_3_8_1/configure'
> perl -CSD /home/boj/base-3.15.9/bin/windows-x64-mingw/makeMakefile.pl
> O.windows-x64-mingw ../..
> perl -CSD -MExtUtils::Command -e mkpath O.Common make -C O.windows-
> x64-mingw -f ../Makefile TOP=../.. \
> T_A=windows-x64-mingw install
> make[2]: Entering directory
> '/home/boj/epics-labca-labca_3_8_1/configure/O.windows-x64-mingw'
> perl -CSD /home/boj/base-3.15.9/bin/windows-x64-mingw/convertRelease.pl
> checkRelease
> echo MEXEXT=.mexw64 >>MATLAB_CONFIG_INCLUDE
> make[2]: Leaving directory
> '/home/boj/epics-labca-labca_3_8_1/configure/O.windows-x64-mingw'
> make[1]: Leaving directory '/home/boj/epics-labca-labca_3_8_1/configure'
> make -C ./ezca install
> make[1]: Entering directory '/home/boj/epics-labca-labca_3_8_1/ezca'
> perl -CSD /home/boj/base-3.15.9/bin/windows-x64-mingw/makeMakefile.pl
> O.windows-x64-mingw ../..
> perl -CSD -MExtUtils::Command -e mkpath O.Common make -C O.windows-
> x64-mingw -f ../Makefile TOP=../.. \
> T_A=windows-x64-mingw install
> make[2]: Entering directory
> '/home/boj/epics-labca-labca_3_8_1/ezca/O.windows-x64-mingw'
> gcc -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall
> -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I.
> -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -
> I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -MM -MF ezca.d -MT ezca.obj
> ../ezca.c gcc -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3 -Wall
> -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I.
> -I.. -I../../include/compiler/gcc -I../../include/os/WIN32 -I../../include -
> I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -o ezca.obj -c ../ezca.c
> ../ezca.c: In function 'ezcaLock':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:570:9: note: in expansion of macro 'EZCA_LOCK'
> 570 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'ezcaUnlock':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:575:9: note: in expansion of macro 'EZCA_LOCK'
> 575 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'ezcaPollCbInstall':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:612:9: note: in expansion of macro 'EZCA_LOCK'
> 612 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c:611:1: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 611 | if ( (i=Initialized) )
> | ^~
> ../ezca.c:614:9: note: ...this statement, but the latter is misleadingly indented
> as if it were guar ded by the 'if'
> 614 | rval = pollCb;
> | ^~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:618:9: note: in expansion of macro 'EZCA_UNLOCK'
> 618 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c:617:1: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 617 | if (i)
> | ^~
> ../ezca.c:620:9: note: ...this statement, but the latter is misleadingly indented
> as if it were guar ded by the 'if'
> 620 | return rval;
> | ^~~~~~
> ../ezca.c: In function 'ezcaEndGroupWithReport':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:713:33: note: in expansion of macro 'EZCA_LOCK'
> 713 | EZCA_LOCK(); /* make *sure* mutex is not
> relinquished by add ing a nest count */
> | ^~~~~~~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:715:33: note: in expansion of macro 'EZCA_UNLOCK'
> 715 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c:966:13: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 966 | if (Trace || Debug)
> | ^~
> ../ezca.c:104:29: note: ...this statement, but the latter is misleadingly indented
> as if it were gua rded by the 'if'
> 104 | #define MARK_OUTSTANDING(n) do { if ( (ezcaOutstanding = (n)) )
> ca_flush_io(); } while (0)
> | ^~
> ../ezca.c:969:17: note: in expansion of macro 'MARK_OUTSTANDING'
> 969 | MARK_OUTSTANDING(needs_work);
> | ^~~~~~~~~~~~~~~~
> ../ezca.c:1063:29: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 1063 | if (AutoErrorMessage)
> | ^~
> ../ezca.c:1066:33: note: ...this statement, but the latter is misleadingly
> indented as if it were gu arded by the 'if'
> 1066 | if ( MONBLOCK == wp->worktype && wp->pval )
> | ^~
> ../ezca.c: In function 'prologue':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:4905:9: note: in expansion of macro 'EZCA_LOCK'
> 4905 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'epilogue':
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:4934:9: note: in expansion of macro 'EZCA_UNLOCK'
> 4934 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c: In function 'EzcaClearChannel':
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5032:9: note: in expansion of macro 'EZCA_UNLOCK'
> 5032 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5034:9: note: in expansion of macro 'EZCA_LOCK'
> 5034 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'EzcaPendEvent':
> ../ezca.c:5519:5: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 5519 | if (Trace || Debug)
> | ^~
> ../ezca.c:5522:9: note: ...this statement, but the latter is misleadingly indented
> as if it were gua rded by the 'if'
> 5522 | if ( pollCb && pollCb() ) {
> | ^~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5529:1: note: in expansion of macro 'EZCA_UNLOCK'
> 5529 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5546:1: note: in expansion of macro 'EZCA_LOCK'
> 5546 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'EzcaPendIO':
> ../ezca.c:5584:5: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 5584 | if (Trace || Debug)
> | ^~
> ../ezca.c:5587:9: note: ...this statement, but the latter is misleadingly indented
> as if it were gua rded by the 'if'
> 5587 | if ( pollCb && pollCb() ) {
> | ^~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5590:1: note: in expansion of macro 'EZCA_UNLOCK'
> 5590 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5595:1: note: in expansion of macro 'EZCA_LOCK'
> 5595 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c: In function 'my_connection_callback':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5697:1: note: in expansion of macro 'EZCA_LOCK'
> 5697 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5716:1: note: in expansion of macro 'EZCA_UNLOCK'
> 5716 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c: In function 'my_get_callback':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:5755:1: note: in expansion of macro 'EZCA_LOCK'
> 5755 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c:6949:13: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 6949 | if (Trace || Debug)
> | ^~
> ../ezca.c:6951:17: note: ...this statement, but the latter is misleadingly
> indented as if it were gu arded by the 'if'
> 6951 | recycle_work(wp);
> | ^~~~~~~~~~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:6963:1: note: in expansion of macro 'EZCA_UNLOCK'
> 6963 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c: In function 'my_monitor_callback':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:6999:1: note: in expansion of macro 'EZCA_LOCK'
> 6999 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:7191:1: note: in expansion of macro 'EZCA_UNLOCK'
> 7191 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c: In function 'my_put_callback':
> ../ezca.c:89:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 89 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:7217:1: note: in expansion of macro 'EZCA_LOCK'
> 7217 | EZCA_LOCK();
> | ^~~~~~~~~
> ../ezca.c:7249:13: warning: this 'if' clause does not guard...
> [-Wmisleading-indentation]
> 7249 | if (Trace || Debug)
> | ^~
> ../ezca.c:7251:17: note: ...this statement, but the latter is misleadingly
> indented as if it were gu arded by the 'if'
> 7251 | recycle_work(wp);
> | ^~~~~~~~~~~~
> ../ezca.c:97:25: warning: cast from pointer to integer of different size [-
> Wpointer-to-int-cast]
> 97 | (unsigned long)epicsThreadGetIdSelf()); \
> | ^
> ../ezca.c:7263:1: note: in expansion of macro 'EZCA_UNLOCK'
> 7263 | EZCA_UNLOCK();
> | ^~~~~~~~~~~
> ../ezca.c: In function 'print_discarded_channels':
> ../ezca.c:7886:5: warning: this 'for' clause does not guard...
> [-Wmisleading-indentation]
> 7886 | for (cp = Discarded_channels; cp; cp = cp->next)
> | ^~~
> ../ezca.c:7888:9: note: ...this statement, but the latter is misleadingly indented
> as if it were gua rded by the 'for'
> 7888 | printf("\n");
> | ^~~~~~
> g++ -o ezcamt.dll -shared -Wl,--out-implib,libezcamt.dll.a
> -L/home/boj/epics-labca-labca_3_8_1/lib/windows-x64-mingw
> -L/home/boj/base-3.15.9/lib/windows-x64-mingw -m64
> ezca.obj -lca -lCom -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
> Installing shared library ../../bin/windows-x64-mingw/ezcamt.dll
> mkdir ../../bin
> mkdir ../../bin/windows-x64-mingw
> Installing DLL stub library ../../lib/windows-x64-mingw/libezcamt.dll.a
> mkdir ../../lib
> mkdir ../../lib/windows-x64-mingw
> make[2]: Leaving directory
> '/home/boj/epics-labca-labca_3_8_1/ezca/O.windows-x64-mingw'
> make[1]: Leaving directory '/home/boj/epics-labca-labca_3_8_1/ezca'
> make -C ./glue install
> make[1]: Entering directory '/home/boj/epics-labca-labca_3_8_1/glue'
> perl -CSD /home/boj/base-3.15.9/bin/windows-x64-mingw/makeMakefile.pl
> O.windows-x64-mingw ../..
> perl -CSD -MExtUtils::Command -e mkpath O.Common
> make -C O.windows-x64-mingw -f ../Makefile TOP=../.. \
> T_A=windows-x64-mingw install
> make[2]: Entering directory
> '/home/boj/epics-labca-labca_3_8_1/glue/O.windows-x64-mingw'
> g++ -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common
> -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32
> -I../../include -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -MM -MF ini.d -MT ini.obj ../ini.cc
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -MM -MF multiEzca.d -MT
> multiEzca.obj ../multiEzca.c
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -MM -MF ctrlC-polled.d -MT
> ctrlC-polled.obj ../ctrlC-polled.c
> perl -CSD -MExtUtils::Command -e rm_f gitstring.c.new
> perl > gitstring.c.new -e "print(\"const char *gitRevisionString =
> \\\"labca_3_8_1 - ef74a39\\\";\n\")" > gitstring.c.new
> perl -MFile::Compare -e 'exit( compare(@ARGV[0],@ARGV[1]) )'
> gitstring.c.new gitstring.c || (perl -CSD -MExtUtils::Command -e rm_f
> gitstring.c; perl -e 'rename("gitstring.c.new","gitstring.c")')
> perl -CSD -MExtUtils::Command -e rm_f gitstring.c.new
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -MM -MF gitstring.d -MT
> gitstring.obj gitstring.c
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -MM -MF mglue.d -MT mglue.obj
> ../mglue.c
> g++ -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common
> -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/WIN32
> -I../../include -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -o ini.obj -c ../ini.cc
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -o multiEzca.obj -c ../multiEzca.c
> ../multiEzca.c:27: warning: "isnan" redefined
> 27 | #define isnan _isnan
> |
> In file included from ../multiEzca.c:13:
> C:/msys64/mingw64/include/math.h:586: note: this is the location of the
> previous definition
> 586 | #define isnan(x) \
> |
> In file included from ../multiEzca.c:32:
> D:/Matlab2022a/extern/include/mex.h:197: warning: "printf" redefined
> 197 | #define printf mexPrintf
> |
> In file included from ../multiEzca.c:24:
> C:/msys64/home/boj/base-3.15.9/include/epicsStdio.h:41: note: this is
> the location of the previous d
> efinition
> 41 | # define printf epicsStdoutPrintf
> |
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -o ctrlC-polled.obj -c ../ctrlC-polled.c
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -o gitstring.obj -c gitstring.c
> gcc -DMATLAB_APP -D_MINGW -D__USE_MINGW_ANSI_STDIO -O3
> -Wall -m64 -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I.
> -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc
> -I../../include/os/WIN32 -I../../include
> -I/home/boj/base-3.15.9/include/compiler/gcc
> -I/home/boj/base-3.15.9/include/os/WIN32
> -I/home/boj/base-3.15.9/include -I../../ezca
> -I/d/Matlab2022a/extern/include -o mglue.obj -c ../mglue.c
> g++ -o mezcaglue.dll -shared -Wl,--out-implib,libmezcaglue.dll.a
> -L/home/boj/epics-labca-labca_3_8_1/lib/windows-x64-mingw
> -L/home/boj/base-3.15.9/lib/windows-x64-mingw
> /d/Matlab2022a/extern/lib/win64/mingw64/libut.lib
> /d/Matlab2022a/extern/lib/win64/mingw64/libmx.lib
> /d/Matlab2022a/extern/lib/win64/mingw64/libmex.lib -m64
> ini.obj multiEzca.obj ctrlC-polled.obj gitstring.obj mglue.obj
> -lezcamt -lca -lCom -luser32 -lws2_32 -ladvapi32 -luser32 -lkernel32
> -lwinmm
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x9b): undefined reference to `mexPrintf_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xfe): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x126): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x1d9): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x256): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x37e): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x39e): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x4e6): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x506): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x5d0): undefined reference to
> `mexCallMATLABWithTrap_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x5f7): undefined reference to `mxDestroyArray_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x678): undefined reference to `mexLock_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x6b1): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x726): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x74e): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x796): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x7b9): undefined reference to `mxGetString_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x997): undefined reference to
> `mexCallMATLABWithTrap_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0x9c2): undefined reference to `mxDestroyArray_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xa48): undefined reference to `mexLock_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xa81): undefined reference to `mexCallMATLAB_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xb06): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xb36): undefined reference to `mxGetScalar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xb86): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ini.obj:ini.cc:(.text+0xba9): undefined reference to `mxGetString_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x11d): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x145): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x3dd): undefined reference to
> `mexPrintf_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x5c3): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x5db): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x6ea): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x914): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x91e): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x928): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0xe84): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1062): undefined reference to
> `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x107a): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1238): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1242): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x124c): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1256): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1260): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x126a): more undefined references to
> `mxFree_800' follow
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1326): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1346): undefined reference to
> `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x136c): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x138e): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1847): undefined reference to
> `mexPrintf_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x187f): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1e19): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1f51): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x1fe7): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x2063): undefined reference to
> `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x322e): undefined reference to
> `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x335b): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x35e4): undefined reference to
> `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x365a): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x3662): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x39d7): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x3ad4): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x3b42): undefined reference to
> `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : multiEzca.obj:multiEzca.c:(.text+0x3b68): more undefined references to
> `mxFree_800' follow
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : ctrlC-polled.obj:ctrlC-polled.c:(.text+0x5): undefined reference to
> `utHandlePendingInterrupt'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x29): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x38): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x9c): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0xac): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0xbc): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0xd3): undefined reference to `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0xf4): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x100): undefined reference to `mxGetM_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x10e): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x11b): undefined reference to `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x136): undefined reference to `mxGetString_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x156): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x165): undefined reference to `mxGetCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x1a9): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x1b8): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x1e4): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x214): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x241): undefined reference to `mxGetM_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x24c): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x266): undefined reference to `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x2e4): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x404): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x41b): undefined reference to `mxGetString_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x510): undefined reference to
> `mxDestroyArray_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x581): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x58e): undefined reference to `mxGetM_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x59b): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x5ae): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x5d5): undefined reference to `mxCalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x5fc): undefined reference to `mxGetM_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x60a): undefined reference to `mxGetN_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x617): undefined reference to `mxMalloc_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x632): undefined reference to `mxGetString_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x652): undefined reference to `mxGetCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x65d): undefined reference to `mxIsChar_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x699): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x6a6): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x6b3): undefined reference to
> `mxDestroyArray_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x6d9): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x6ea): undefined reference to `mxFree_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x71b): undefined reference to
> `mxCreateCellMatrix_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x732): undefined reference to
> `mxDuplicateArray_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x73f): undefined reference to `mxSetCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x759): undefined reference to `mxIsCell_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x76d): undefined reference to `mxIsDouble_800'
> C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-
> mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
> : mglue.obj:mglue.c:(.text+0x8b5): undefined reference to `mxGetPr_800'
> collect2.exe: error: ld returned 1 exit status
> make[2]: *** [/home/boj/base-3.15.9/configure/RULES_BUILD:292:
> mezcaglue.dll] Error 1
> make[2]: Leaving directory
> '/home/boj/epics-labca-labca_3_8_1/glue/O.windows-x64-mingw'
> make[1]: *** [/home/boj/base-3.15.9/configure/RULES_ARCHS:58:
> install.windows-x64-mingw] Error 2
> make[1]: Leaving directory '/home/boj/epics-labca-labca_3_8_1/glue'
> make: *** [/home/boj/base-3.15.9/configure/RULES_DIRS:85: glue.install]
> Error 2
>
> boj@dk1080799 MINGW64 ~/epics-labca-labca_3_8_1
> $
>
>
> On 18-12-2023 18:49, Freddie Akeroyd - STFC UKRI wrote:
> > Hi Bo,
> >
> > Do you see the same error as Giovanni saw, or are you getting a different
> build failure?
> >
> > Regards,
> >
> > Freddie
> >
- References:
- LabCA for MATLAB Installation error Giovanni Franzini via Tech-talk
- Re: LabCA for MATLAB Installation error Straumann Till Sascha via Tech-talk
- Re: LabCA for MATLAB Installation error boj via Tech-talk
- RE: LabCA for MATLAB Installation error Freddie Akeroyd - STFC UKRI via Tech-talk
- Re: LabCA for MATLAB Installation error boj via Tech-talk
- Navigate by Date:
- Prev:
Agilent analytics devices like GCs (gas chromatography) integration into EPICS framework? Heinz Junkes via Tech-talk
- Next:
Re: Steps for installing any EPICS Device Support module Ralph Lange 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 boj via Tech-talk
- Next:
Issue installing asyn on CentOS 7 Brandon Gunn 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
|