Hi Emma,
There is a 4'th choice as well:
- Use the prebuilt version of areaDetector for the windows-x64 platform.
If you want to build it yourself I would recommend just switching to VS 2008.
Mark
________________________________________
From: Mark Rivers
Sent: Thursday, April 19, 2012 10:54 PM
To: Emma Shepherd; [email protected]
Subject: RE: Windows busy build error - epics 3.14.12.1
Hi Emma,
Unfortunately that problem is more difficult.
It is arising because the GraphicsMagick library supplied with areaDetector was built with Visual Studio 2008, and you are building with VS 2010. Microsoft changed their C++ library in incompatible ways between those 2 releases.
You have 3 choices:
- Build GraphicsMagick yourself with Visual Studio 2010.
- Use Visual Studio 2008 instead of 2010
- Change the Makefiles and dbd files in areaDetector to eliminate the use of GraphicsMagick. That will mean eliminating URLDriver and NDFileMagick.
Mark
________________________________________
From: Emma Shepherd [[email protected]]
Sent: Thursday, April 19, 2012 10:32 PM
To: Mark Rivers; [email protected]
Subject: RE: Windows busy build error - epics 3.14.12.1
Hi Mark,
Thanks for the reply. Yes - I have defined ASYN in busy/configure/RELEASE. I actually just came across your suggestion elsewhere (setting STATIC_BUILD=YES and SHARED_LIBRARIES=NO in base), and that does make the busy module build successfully.
I've run into the next problem now though! Building AreaDetector 1-7 fails with a link error:
CORE_RL_Magick++_.lib(Color.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Drawable.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Blob.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Image.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Options.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Exception.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Geometry.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Color.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Drawable.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Blob.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Image.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Options.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Exception.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
CORE_RL_Magick++_.lib(Geometry.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
simDetectorApp.exe : fatal error LNK1120: 2 unresolved externals
make[3]: *** [simDetectorApp.exe] Error 1120
make[3]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/areaDetector-1-7/ADApp/simDetectorSrc/O.windows-x64'
make[2]: *** [install.windows-x64] Error 2
make[2]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/areaDetector-1-7/ADApp/simDetectorSrc'
make[1]: *** [simDetectorSrc.install] Error 2
make[1]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/areaDetector-1-7/ADApp'
make: *** [ADApp.install] Error 2
Hopefully just another simple configuration I'm missing?
Cheers,
Emma
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Friday, 20 April 2012 12:47 PM
To: Emma Shepherd; [email protected]
Subject: RE: Windows busy build error - epics 3.14.12.1
Hi Emma,
Have you defined ASYN in busy/configure/RELEASE? It is optional, and the Makefile should work without it, but you need to define it if you plan to use busy with areaDetector.
It looks like you are building dynamically (i.e. building .dll files), because otherwise it would not need asyn when building the library, only when building an executable.
This should work, but it's possible there is a problem somewhere that has not been found, because most people build for Windows statically, not dynamically.
If you want to build areaDetector then I don't think you can build dynamically, some of the libraries supplied with areaDetector (e.g. GraphicsMagick) require a static build.
I suggest you change
EPICS_BASE/configure/os/CONFIG_SITE.windows-x64.windows-x64
to define
STATIC_BUILD=YES
SHARED_LIBRARIES=NO
You then need to rebuild base and synApps.
Mark
________________________________________
From: [email protected] [[email protected]] on behalf of Emma Shepherd [[email protected]]
Sent: Thursday, April 19, 2012 8:15 PM
To: [email protected]
Subject: Windows busy build error - epics 3.14.12.1
Hi folks,
Banging my head against a Windows build error...
I'm trying to get to the stage where I can build AreaDetector 1-7 on 64-bit Windows 7. I can successfully build base-13-12-1 and asyn-4-18, but my first hurdle is that busy 1-4 fails with the following link error:
Creating library busy.lib and object busy.exp devBusyAsyn.obj : error LNK2001: unresolved external symbol pasynEpicsUtils devBusyAsyn.obj : error LNK2001: unresolved external symbol pasynInt32SyncIO devBusyAsyn.obj : error LNK2001: unresolved external symbol pasynManager devBusyAsyn.obj : error LNK2001: unresolved external symbol pasynTrace busy.dll : fatal error LNK1120: 4 unresolved externals
make[3]: *** [busy.dll] Error 1120
make[3]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/busy-1-4/busyApp/src/O.windows-x64'
make[2]: *** [install.windows-x64] Error 2
make[2]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/busy-1-4/busyApp/src'
make[1]: *** [src.install] Error 2
make[1]: Leaving directory `C:/beamline/perforce/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/epics/busy-1-4/busyApp'
make: *** [busyApp.install] Error 2
I'm using Visual Studio 2010, and gnumake. The problem seems to be with the version of EPICS base, as I get the same problem when I try to compile it as 32-bit as well unless I revert to EPICS 3.14.11. I can build other modules that depend on asyn just fine (like std).
Any ideas?
Thanks,
Emma
<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.
- Replies:
- RE: Windows busy build error - epics 3.14.12.1 Emma Shepherd
- References:
- Windows busy build error - epics 3.14.12.1 Emma Shepherd
- RE: Windows busy build error - epics 3.14.12.1 Mark Rivers
- RE: Windows busy build error - epics 3.14.12.1 Emma Shepherd
- RE: Windows busy build error - epics 3.14.12.1 Mark Rivers
- Navigate by Date:
- Prev:
RE: Windows busy build error - epics 3.14.12.1 Mark Rivers
- Next:
RE: Windows busy build error - epics 3.14.12.1 Emma Shepherd
- 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: Windows busy build error - epics 3.14.12.1 Mark Rivers
- Next:
RE: Windows busy build error - epics 3.14.12.1 Emma Shepherd
- 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
|