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
<2015>
2016
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
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|