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

Subject: RE: Windows busy build error - epics 3.14.12.1
From: Emma Shepherd <[email protected]>
To: Mark Rivers <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 20 Apr 2012 14:36:41 +1000
Aha - I see.  Thanks, will try to find a copy of VS 2008 in that case!

Emma

-----Original Message-----
From: Mark Rivers [mailto:[email protected]] 
Sent: Friday, 20 April 2012 2:15 PM
To: Emma Shepherd; [email protected]
Subject: RE: Windows busy build error - epics 3.14.12.1

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.
<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 ulrik.pedersen
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
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 ulrik.pedersen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  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 ulrik.pedersen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  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 ·