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  <20112012  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  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: epicsQt plugin build errors
From: Andrew Rhyder <[email protected]>
To: "[email protected]" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 4 Nov 2011 18:27:40 +1100
Hi Yuliang
I'm glad you have found a solution. I will take a guess at the reason: I think the different C++ compilers use different name mangling. On the machine I am currently working on I see one of the missing references epicsEventCreate is decorated as epicsEventCreate@4 by mingw. I'm guessing under cygwin it is different.
Regards
Andrew
________________________________________
From: Zhang Yuliang [[email protected]]
Sent: Friday, 4 November 2011 2:21 PM
To: Andrew Rhyder
Subject: Re: RE: RE: epicsQt plugin build errors

Hello Andrew,

The problem has been solved. The following changes are made:

1) Set EPICS_HOST_ARCH ro win32-x86-mingw
2) Build EPICS base using mingw32-make

Previously, I built EPICS base using cygwin make, and the EPICS_HOST_ARCH is win32-x86. But  i am still  confused about this problem, why it must use ming32-make?

Regards
Yuliang

________________________________
发件人: Andrew Rhyder
发送时间: 2011-11-03  20:01:06
收件人: Zhang Yuliang
抄送:
主题: RE: RE: epicsQt plugin build errors
Hi Zhang
Sorry, you are right:
You should be building against:
   C:\EPICS\base-3.14.8.2\lib\win32-x86\ca.lib
   C:\EPICS\base-3.14.8.2\lib\win32-x86\com.lib
and running against:
   C:\EPICS\base-3.14.8.2\bin\win32-x86\ca.dll
   C:\EPICS\base-3.14.8.2\bin\win32-x86\com.dll
Comparing your environment to mine, I notice I don't have any LIB or INCLUDE variables defined
My path is as follows:
  C:\Qt\2010.05\mingw\bin;C:\Qt\2010.05\qt\bin;C:\Qt\2010.05\bin;C:\Perl\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\epics\base\lib\win32-x86-mingw;C:\epics\base\bin\win32-x86-mingw;C:\cygwin\bin
The link link in the build of the plugin library is as follows:
  g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,release/libQCaPlugin.a -o release/QCaPlugin.dll object_script.QCaPlugin.Release  -L'c:/Qt/2010.05/qt/lib' -LC:\epics\base/lib/win32-x86-mingw -lca -lCom -LC:\Users\Andrew\epicsqt\ca_framework/qwt-5.2.1/lib -lqwt5 -lQtScript4 -lQtDesigner4 -lQtUiTools -lQtXml4 -lQtGui4 -lQtCore4
As you can see from the above I am using Qt 2010.05
I am using epics base 3.14.11
I'm not sure if I'm actually building against epicsqt 1.1.6 I'll check that tomorrow.
Regards
Andrew
________________________________________
From: Zhang Yuliang [[email protected]]
Sent: Thursday, 3 November 2011 12:50 AM
To: Andrew Rhyder
Subject: Re: RE: epicsQt plugin build errors
Hello Andrew,
 *   and from your log this should translate to the following files in your environment:
 *
 *   C:\EPICS\base-3.14.8.2\lib\win32-x86\ca.dll
 *   C:\EPICS\base-3.14.8.2\lib\win32-x86\com.dll
ca.dll and com.dll should be ca.lib and com.lib, am i right?
I have carefully checked the environment variable path and everything seems ok. But it surely did not find the ca.lib and com.lib in the link time. What your version of EPICS Base? The attached is the snapshot of the creator build environment list.
Ps: I have successfully build the EPICS ca programe use the same environment variable under Visual Studio 2005, so I think the environment variable path may not be wrong.
Thank you!
Regards
Zhang Yuliang
________________________________
发件人: Andrew Rhyder
发送时间: 2011-11-02  19:38:29
收件人: Zhang Yuliang
抄送:
主题: RE: epicsQt plugin build errors
Hi Zhang
Sorry for the late reply, we have had a public holiday here and I have had an extra day off.
Firstly, I see the build is happening in the '\plugins-build-desktop' directory. Once your problem is sorted out this may cause a further problem without re-jigging some variables, so you might like to uncheck 'shadow build' in the project 'build' settings to fix this. This won't fix your problem, below, which appears to be a failure to find the appropriate epics library at link time. The creator project file includes the following library references:
  LIBS += -L$$(EPICS_BASE)/lib/$$(EPICS_HOST_ARCH) \
      -lca \
      -lCom \
and from your log this should translate to the following files in your environment:
C:\EPICS\base-3.14.8.2\lib\win32-x86\ca.dll
C:\EPICS\base-3.14.8.2\lib\win32-x86\com.dll
You might like to check they are there in these path listed. If not, check the variables EPICS_BASE and EPICS_HOST_ARCH. In particular, check them as listed in the creator build environment list.
Let me know if any of this is useful (or not!)
Nice to hear from you and I hope I will be able to get you up and running.
Regards
Andrew Rhyder
________________________________________
From: Zhang Yuliang [[email protected]]
Sent: Tuesday, 1 November 2011 2:05 PM
To: Andrew Rhyder
Subject: epicsQt plugin build errors
Hello Andrew,
I downloaded epicsqt-1.1.6 and try to built it on Windows xp, and the following errors occured:
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:88: undefined reference to `epicsEventCreate'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:89: undefined reference to `epicsMutexOsiCreate'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:104: undefined reference to `epicsMutexDestroy'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:105: undefined reference to `epicsEventDestroy'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:478: undefined reference to `dbr_size'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:478: undefined reference to `dbr_size'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:478: undefined reference to `dbr_value_size'
./debug\CaObject.o:D:\Qt\Qt EPICS\epicsqt\ca_framework\plugins-build-desktop/../../../../QtEPICS/epicsqt/ca_framework/api/src/CaObject.cpp:479: undefined reference to `ca_name'
.......
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\QCaPlugin.dll] Error 1
mingw32-make: *** [debug] Error 2
The process "C:/Qt/2010.04/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project plugins (target: Desktop)
When executing build step 'Make'
In the manual "EPICSQt Developers Guide", it is said that undefined references which usually indicate issues with PATH settings. The environment variable for EPICS in my machine setted as follows:
EPICS_BASE=C:\EPICS\base-3.14.8.2
EPICS_CA_ADDR_LIST=192.168.20.110
EPICS_HOST_ARCH=win32-x86
And in PATH I added "C:\EPICS\base-3.14.8.2\bin\win32-x86" .
Anything else need to do?
Thank you!
Regards,
Zhang Yuliang
<br>This message and any attachments may contain proprietary or confidential information. If you are not the intended recipient or you received the message in error, you must not use, copy or distribute the message. Please notify the sender immediately and destroy the original message. Thank you.
<br>This message and any attachments may contain proprietary or confidential information. If you are not the intended recipient or you received the message in error, you must not use, copy or distribute the message. Please notify the sender immediately and destroy the original message. Thank you.

<br>This message and any attachments may contain proprietary or confidential information. If you are not the intended recipient or you received the message in error, you must not use, copy or distribute the message. Please notify the sender immediately and destroy the original message. Thank you.


Navigate by Date:
Prev: Re: asyn R4-18 available Noboru Yamamoto
Next: Re: reading large data arrays over slow networks Matt Newville
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: epicsQt plugin build errors 张玉亮
Next: Asyn or StreamDevice Error Messages: vxi11 clientIoCall errno Permission denied clnt_stat 5 William Lu
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·