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

Subject: RE: Building custom areadetector module
From: Mark Rivers <[email protected]>
To: Andrew Gomella <[email protected]>, "[email protected] Talk" <[email protected]>
Date: Fri, 27 Feb 2015 04:05:26 +0000
Hi Andrew,

I suspect your problem may be that you did not add ADNikonKs to ADNikonKs/iocs/KsIOC/configure/RELEASE.

You need a line like the following:

ADNIKONKS=$(AREA_DETECTOR)/ADNikonKs

That causes the build system to look in ADNikonKs/dbd for KsSupport.dbd.

Mark


________________________________
From: [email protected] [[email protected]] on behalf of Andrew Gomella [[email protected]]
Sent: Thursday, February 26, 2015 8:49 PM
To: [email protected] Talk
Subject: Building custom areadetector module

Hi Techtalk,

I'm currently working on writing an areadetector module for some Nikon cameras (http://www.nikon.com/products/instruments/lineup/bioscience/camera_microscopy/dsqi2/index.htm)

The problem I am currently having (I think) has something to due with me configuring one of the makefiles in this module incorrectly. I went through file by file (comparing to other areadetector modules which compile totally fine on my machine) to make sure my module adheres to the other examples. I am using release 2.1 of areadetector (both core and binaries).

I can compile many other AD modules fine, including a custom areadetector module I built last year for varian detectors.

The problem is my **Support.dbd file does not seem to get properly copied into iocs/**IOC/**App/src/O.Common      (where ** is my app name- "Ks") . I can temporarily fix the problem by copying the **Support.dbd file into O.Common but then I get other build errors (No rule to make target **.lib needed by **App.exe.  This is fixed (for some reason) by me commenting out PROD_LIBS in my ioc src makefile. and THEN I get LNK2001 error about unresolved external symbol pvar_func_KsRegister  ) I am hoping these errors are all related.

Here is my terminal output:
make -C ./configure install
make[1]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/configure'
perl C:/base-3.14.12.4/bin/windows-x64/makeMakefile.pl O.windows-x64 ../..
perl -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../.. T_A=windows-x64 install
make[2]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/configure/O.windows-x64'
perl C:/base-3.14.12.4/bin/windows-x64/convertRelease.pl checkRelease
make[2]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/configure/O.windows-x64'
make[1]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/configure'
make -C ./KsApp install
make[1]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp'
make -C ./src install
make[2]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/src'
perl C:/base-3.14.12.4/bin/windows-x64/makeMakefile.pl O.windows-x64 ../../..
perl -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../../.. T_A=windows-x64 install
make[3]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/src/O.windows-x64'
cl /nologo /EHsc /GR -c             /favor:blend   /nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE   /Ox /GL   /W3 /w44355       /MT -DEPICS_DLL_NO /TP   -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include     -IC:\\base-3.14.12.4\\include\\os\\WIN32 -IC:\\base-3.14.12.4\\include  -IC:\\support\\asyn-4-26\\include -IC:\\support\\areaDetector-R2-0\\ADBinaries\\include\\os\\WIN32 -IC:\\support\\areaDetector-R2-0\\ADBinaries\\include -IC:\\support\\areaDetector-R2-0\\ADCore\\include\\os\\WIN32 -IC:\\support\\areaDetector-R2-0\\ADCore\\include       ..\\Ks.cpp
Ks.cpp
..\Ks.cpp(435) : warning C4101: 'pstInfo' : unreferenced local variable
lib /nologo /verbose /out:Ks.lib /LTCG        Ks.obj
Appending Ks.obj
"Installing library ../../../lib/windows-x64/Ks.lib"
make[3]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/src/O.windows-x64'
make[2]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/src'
make -C ./Db install
make[2]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/Db'
perl C:/base-3.14.12.4/bin/windows-x64/makeMakefile.pl O.windows-x64 ../../..
perl -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../../.. T_A=windows-x64 install
make[3]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/Db/O.windows-x64'
make[3]: Nothing to be done for 'install'.
make[3]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/Db/O.windows-x64'
make[2]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp/Db'
make[1]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/KsApp'
make -C ./iocs install
make[1]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs'
make -C ./KsIOC install
make[2]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC'
make -C ./configure install
make[3]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/configure'
perl C:/base-3.14.12.4/bin/windows-x64/makeMakefile.pl O.windows-x64 ../..
perl -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../.. T_A=windows-x64 install
make[4]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/configure/O.windows-x64'
perl C:/base-3.14.12.4/bin/windows-x64/convertRelease.pl checkRelease
make[4]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/configure/O.windows-x64'
make[3]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/configure'
make -C ./KsApp install
make[3]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp'
make -C ./src install
make[4]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp/src'
perl C:/base-3.14.12.4/bin/windows-x64/makeMakefile.pl O.windows-x64 ../../..
perl -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../../.. T_A=windows-x64 install
make[5]: Entering directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp/src/O.windows-x64'
perl C:/base-3.14.12.4/bin/windows-x64/makeIncludeDbd.pl KsSupport.dbd commonDriverSupport.dbd KsAppInclude.dbd
echo "../O.Common/KsAppInclude.dbd : ../Makefile" >> KsApp.dbd.d
"Expanding dbd"
Can't open include file "KsSupport.dbd"
Error at or before ""KsSupport.dbd"" in file "../O.Common/KsAppInclude.dbd" line 1
dbExpand: Input errors, no output generated
C:/base-3.14.12.4/configure/RULES.Db:261: recipe for target '../O.Common/KsApp.dbd' failed
make[5]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp/src/O.windows-x64'
C:/base-3.14.12.4/configure/RULES_ARCHS:63: recipe for target 'install.windows-x64' failed
make[4]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp/src'
C:/base-3.14.12.4/configure/RULES_DIRS:70: recipe for target 'src.install' failed
make[3]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC/KsApp'
C:/base-3.14.12.4/configure/RULES_DIRS:70: recipe for target 'KsApp.install' failed
make[2]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs/KsIOC'
C:/base-3.14.12.4/configure/RULES_DIRS:70: recipe for target 'KsIOC.install' failed
make[1]: Leaving directory 'C:/support/areaDetector-R2-0/ADNikonKs/iocs'
C:/base-3.14.12.4/configure/RULES_DIRS:70: recipe for target 'iocs.install' failed

My Makefile inside the KsApp/src/ folder:
#################################################
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE

LIBRARY_IOC += Ks
LIB_SRCS    += Ks.cpp

DBD += KsSupport.dbd

include $(ADCORE)/ADApp/commonLibraryMakefile

#=============================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE
####################################################




My Makefile inside the iocs\KsIOC\KsApp\src folder:
####################################################
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE

PROD_NAME = KsApp
PROD_IOC += $(PROD_NAME)

# <name>.dbd will be created from <name>Include.dbd
DBD += $(PROD_NAME).dbd
$(PROD_NAME)_DBD += KsSupport.dbd

# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
PROD_SRCS += $(PROD_NAME)_registerRecordDeviceDriver.cpp $(PROD_NAME)Main.cpp

# Add locally compiled object code
PROD_LIBS += Ks


include $(ADCORE)/ADApp/commonDriverMakefile

#=============================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE
####################################################

Any help would be greatly appreciated.

Thanks,
Andrew



Replies:
Re: Building custom areadetector module Andrew Gomella
References:
Building custom areadetector module Andrew Gomella

Navigate by Date:
Prev: Building custom areadetector module Andrew Gomella
Next: Re: Building custom areadetector module Andrew Gomella
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Building custom areadetector module Andrew Gomella
Next: Re: Building custom areadetector module Andrew Gomella
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·