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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Dexela .dll missing when compiling WITH_PVA=YES |
From: | Mark Rivers <[email protected]> |
To: | "'Gofron, Kazimierz'" <[email protected]>, "[email protected]" <[email protected]> |
Date: | Sat, 17 Feb 2018 05:10:04 +0000 |
Hi Kaz, I cannot test whether the application crashes, because I don’t have the required vendor DLLs installed. However, I cannot reproduce your observation that GDI32.dll and OLEAUT32.dll are not linked when building with WITH_PVA=YES. My build environment is identical to yours. I built DexelaApp.exe with WITH_PVA=YES and I see the following. Note that GDI32.dll and OLEAUT32.dll are included. J:\epics\devel\areaDetector-3-2\ADDexela\iocs\dexelaIOC\bin\windows-x64-static-vs2017>dumpbin /imports DexelaApp.exe Microsoft (R) COFF/PE Dumper Version 14.12.25830.2 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file DexelaApp.exe File Type: EXECUTABLE IMAGE Section contains the following imports: BusScanner.dll 140AEA078 Import Address Table 140DC2C20 Import Name Table 0 time date stamp 0 Index of first forwarder reference 17 ?EnumerateDevices@BusScanner@@QEAAHXZ 19 ?GetDevice@BusScanner@@QEAA?AUDevInfo@@H@Z 1 ??0BusScanner@@QEAA@XZ DexImage.dll 140AEA098 Import Address Table 140DC2C40 Import Name Table 0 time date stamp 0 Index of first forwarder reference 54 ?IsEmpty@DexImage@@QEAA_NXZ 65 ?LoadDarkImage@DexImage@@QEAAXAEBV1@@Z 99 ?UnscrambleImage@DexImage@@QEAAXXZ 2A ?FloodCorrection@DexImage@@QEAAXXZ 96 ?SubtractDark@DexImage@@QEAAXXZ 25 ?FindMedianofPlanes@DexImage@@QEAAXXZ 27 ?FixFlood@DexImage@@QEAAXXZ 34 ?GetDataPointerToPlane@DexImage@@QEAAPEAXH@Z 9F ?WriteImage@DexImage@@QEAAXPEBD@Z 74 ?ReadImage@DexImage@@QEAAXPEBD@Z 9 ??1DexImage@@QEAA@XZ B ??4DexImage@@QEAAXAEBV0@@Z 5 ??0DexImage@@QEAA@XZ 7D ?SetDarkOffset@DexImage@@QEAAXH@Z 88 ?SetImageType@DexImage@@QEAAXW4DexImageTypes@@@Z 6D ?LoadFloodImage@DexImage@@QEAAXAEBV1@@Z DexelaDetector.dll 140AEA120 Import Address Table 140DC2CC8 Import Name Table 0 time date stamp 0 Index of first forwarder reference 80 ?GetSerialNumber@DexelaDetector@@QEAAHXZ 70 ?GetModelNumber@DexelaDetector@@QEAAHXZ 9A ?IsLive@DexelaDetector@@QEAA_NXZ E4 ?Snap@DexelaDetector@@QEAAXHH@Z 88 ?GoLiveSeq@DexelaDetector@@QEAAXHHH@Z 89 ?GoLiveSeq@DexelaDetector@@QEAAXXZ 8B ?GoUnLive@DexelaDetector@@QEAAXXZ E6 ?SoftwareTrigger@DexelaDetector@@QEAAXXZ 53 ?EnablePulseGenerator@DexelaDetector@@QEAAXM@Z 54 ?EnablePulseGenerator@DexelaDetector@@QEAAXXZ 50 ?DisablePulseGenerator@DexelaDetector@@QEAAXXZ F6 ?ToggleGenerator@DexelaDetector@@QEAAXH@Z CA ?SetCallback@DexelaDetector@@QEAAXP6AXHHPEAV1@@Z@Z CB ?SetCallbackData@DexelaDetector@@QEAAXPEAX@Z 5E ?GetCallbackData@DexelaDetector@@QEAAPEAXXZ 7C ?GetSensorHeight@DexelaDetector@@QEAAGG@Z 7E ?GetSensorWidth@DexelaDetector@@QEAAGG@Z B8 ?QueryFullWellMode@DexelaDetector@@QEAAHW4FullWellModes@@@Z D3 ?SetGapTime@DexelaDetector@@QEAAXM@Z A0 ?OpenBoard@DexelaDetector@@UEAAXXZ 58 ?GetBinningMode@DexelaDetector@@QEAA?AW4bins@@XZ 0 ??0DexelaDetector@@QEAA@AEAUDevInfo@@@Z 15 ??1DexelaDetector@@UEAA@XZ 42 ?CloseBoard@DexelaDetector@@QEAAXXZ 5A ?GetBufferXdim@DexelaDetector@@QEAAHXZ 5C ?GetBufferYdim@DexelaDetector@@QEAAHXZ 72 ?GetNumBuffers@DexelaDetector@@QEAAHXZ B4 ?QueryBinningMode@DexelaDetector@@QEAAHW4bins@@@Z BE ?ReadBuffer@DexelaDetector@@QEAAXHAEAVDexImage@@H@Z D1 ?SetFullWellMode@DexelaDetector@@QEAAXW4FullWellModes@@@Z CC ?SetExposureMode@DexelaDetector@@QEAAXW4ExposureModes@@@Z D5 ?SetNumOfExposures@DexelaDetector@@QEAAXH@Z CF ?SetExposureTime@DexelaDetector@@QEAAXM@Z C8 ?SetBinningMode@DexelaDetector@@QEAAXW4bins@@@Z E2 ?SetTriggerSource@DexelaDetector@@QEAAXW4ExposureTriggerSource@@@Z DexelaException.dll 140AEA240 Import Address Table 140DC2DE8 Import Name Table 0 time date stamp 0 Index of first forwarder reference D ?GetTransportMessage@DexelaException@@QEAAPEBDXZ A ?GetFunctionName@DexelaException@@QEAAPEBDXZ GDI32.dll 140AEA258 Import Address Table 140DC2E00 Import Name Table 0 time date stamp 0 Index of first forwarder reference 2C CreateBitmapIndirect 16C DeleteMetaFile 16B DeleteEnhMetaFile 28A GetMetaFileA 28B GetMetaFileBitsEx 2F2 PlayEnhMetaFile 37 CreateDIBSection 34A SelectObject 16A DeleteDC 31 CreateCompatibleDC 13 BitBlt 37F SetWinMetaFileBits 26D GetEnhMetaFileHeader 294 GetObjectA 269 GetEnhMetaFileA 16D DeleteObject OLEAUT32.dll 140AEA858 Import Address Table 140DC3400 Import Name Table 0 time date stamp 0 Index of first forwarder reference Ordinal 20 Ordinal 23 Ordinal 19 Ordinal 40 Ordinal 24 WS2_32.dll 140AEA8F8 Import Address Table 140DC34A0 Import Name Table 0 time date stamp 0 Index of first forwarder reference Ordinal 115 Ordinal 55 Ordinal 56 Ordinal 52 Ordinal 51 Ordinal 23 Ordinal 18 Ordinal 116 Ordinal 11 Ordinal 4 Ordinal 3 Ordinal 13 Ordinal 2 Ordinal 21 Ordinal 20 Ordinal 17 Ordinal 6 3A WSAIoctl Ordinal 14 Ordinal 111 Ordinal 22 Ordinal 19 Ordinal 16 Ordinal 7 Ordinal 5 Ordinal 9 Ordinal 8 Ordinal 15 Ordinal 57 Ordinal 112 B5 inet_ntop Ordinal 151 Ordinal 10 Ordinal 1 Ordinal 12 ADVAPI32.dll 140AEA000 Import Address Table 140DC2BA8 Import Name Table 0 time date stamp 0 Index of first forwarder reference D2 CryptGenRandom 2AD RegisterEventSourceA 2BF ReportEventA 17A GetUserNameA 2A8 RegSetValueExA 263 RegCreateKeyExA 298 RegQueryValueExA 278 RegEnumKeyA ED DeregisterEventSource DC CryptReleaseContext C2 CryptAcquireContextW 28B RegOpenKeyExA 27C RegEnumValueA 25B RegCloseKey USER32.dll 140AEA888 Import Address Table 140DC3430 Import Name Table 0 time date stamp 0 Index of first forwarder reference 2F7 ReleaseDC 141 GetDC 282 MessageBoxA 135 GetClipboardData 31D SetClipboardData 4D CloseClipboard 29A OpenClipboard 153 GetFocus E8 EmptyClipboard KERNEL32.dll 140AEA2E0 Import Address Table 140DC2E88 Import Name Table 0 time date stamp 0 Index of first forwarder reference 38B IsValidLocale 30F GetTimeFormatW 226 GetDateFormatW 415 OutputDebugStringW 351 HeapReAlloc 34E HeapFree 34A HeapAlloc 50E SetCurrentDirectoryA 51A SetEnvironmentVariableW 519 SetEnvironmentVariableA 1B6 GetACP 1DB GetCommandLineW 1EE GetConsoleCP 46D ReadConsoleW 200 GetConsoleMode 259 GetFullPathNameA 215 GetCurrentDirectoryW 311 GetTimeZoneInformation 1B0 FreeLibraryAndExitThread 163 ExitThread F0 CreateThread 2F9 GetTempPathW 5AF TzSpecificLocalTimeToSystemTime 52C SetFileTime 54F SetStdHandle 4EF SetConsoleCtrlHandler 157 EnumSystemLocalesW 114 DeleteFileW 3E4 MoveFileExW B9 CreateDirectoryW 245 GetFileAttributesExW 353 HeapSize 389 IsValidCodePage 29A GetOEMCP 23A GetEnvironmentStringsW 1AE FreeEnvironmentStringsW 17E FindFirstFileExA 317 GetUserDefaultLCID 1A3 FlushFileBuffers 529 SetFilePointerEx 618 WriteConsoleW 279 GetModuleHandleExW 276 GetModuleFileNameW 2D5 GetStdHandle 16E FileTimeToSystemTime 58F SystemTimeToTzSpecificLocalTime 41E PeekNamedPipe 4CC RtlCaptureStackBackTrace 21C GetCurrentProcessId 86 CloseHandle 4B1 ReleaseSemaphore 5DE WaitForSingleObject E7 CreateSemaphoreA C2 CreateFileA 24E GetFileSize 470 ReadFile 583 Sleep 263 GetLastError 33F GlobalMemoryStatusEx 33E GlobalMemoryStatus 414 OutputDebugStringA 26A GetLogicalDrives 332 GlobalAlloc 344 GlobalUnlock 33D GlobalLock 339 GlobalFree 179 FindClose 17D FindFirstFileA 18E FindNextFileA 573 SetUnhandledExceptionFilter 51B SetErrorMode 2C1 GetProcessTimes 21B GetCurrentProcess 592 TerminateProcess 23F GetExitCodeProcess DF CreateProcessA 2EA GetSystemTime 31F GetVersionExA 3DA MapViewOfFile 1A6 FlushViewOfFile 5B7 UnmapViewOfFile 1AF FreeLibrary 275 GetModuleFileNameA 277 GetModuleHandleA 2B1 GetProcAddress 3C5 LoadResource 3D7 LockResource 582 SizeofResource 3BF LoadLibraryA 3CC LocalFree 1AA FormatMessageA C3 CreateFileMappingA 2D2 GetStartupInfoA 197 FindResourceA 58E SystemTimeToFileTime 362 InitializeCriticalSection 133 EnterCriticalSection 3BB LeaveCriticalSection 10F DeleteCriticalSection 5A4 TlsAlloc 5A6 TlsGetValue 5A7 TlsSetValue 5A5 TlsFree 162 ExitProcess CA CreateFileW 528 SetFilePointer 619 WriteFile 3C8 LocalAlloc 605 WideCharToMultiByte 3EB MultiByteToWideChar 2E2 GetSystemDirectoryA 12D DuplicateHandle 4AD ReleaseMutex D6 CreateMutexA 21F GetCurrentThread 220 GetCurrentThreadId 2EC GetSystemTimeAsFileTime 165 ExpandEnvironmentStringsA 3C0 LoadLibraryExA 24A GetFileInformationByHandle 516 SetEndOfFile 51C SetEvent BB CreateEventA 184 FindFirstFileW 190 FindNextFileW 25C GetFullPathNameW 2EE GetSystemTimes 272 GetMaximumProcessorCount 2B6 GetProcessHandleCount 3A6 K32GetProcessMemoryInfo 1DA GetCommandLineA 31E GetVersion 214 GetCurrentDirectoryA 563 SetThreadPriority 304 GetThreadPriority 240 GetExitCodeThread 58B SuspendThread 4C9 ResumeThread 2A6 GetPriorityClass 2E6 GetSystemInfo 2EB GetSystemTimeAdjustment 449 QueryPerformanceCounter 44A QueryPerformanceFrequency 5AD TryEnterCriticalSection 30A GetTickCount 251 GetFileType 232 GetDriveTypeW 3C1 LoadLibraryExW 36D InterlockedPushEntrySList 4CB RtlCaptureContext 4D2 RtlLookupFunctionEntry 4D9 RtlVirtualUnwind 5B4 UnhandledExceptionFilter 384 IsProcessorFeaturePresent 4C3 ResetEvent 5DF WaitForSingleObjectEx BE CreateEventW 27A GetModuleHandleW 367 InitializeSListHead 37D IsDebuggerPresent 2D3 GetStartupInfoW 12F EncodePointer 108 DecodePointer 537 SetLastError 363 InitializeCriticalSectionAndSpinCount 9A CompareStringW 3AF LCMapStringW 267 GetLocaleInfoW 2DA GetStringTypeW 1C5 GetCPInfo 4D8 RtlUnwindEx 4D4 RtlPcToFileHeader 45F RaiseException 2B7 GetProcessHeap WINMM.dll 140AEA8D8 Import Address Table 140DC3480 Import Name Table 0 time date stamp 0 Index of first forwarder reference 87 timeEndPeriod 86 timeBeginPeriod 88 timeGetDevCaps Summary 2E5000 .data 7C000 .pdata 2DB000 .rdata 14000 .reloc AE9000 .text 11000 _RDATA This output of “strings” proves it was built with PVA [epics@corvette windows-x64-static-vs2017]$ strings DexelaApp.exe | grep -i pva NDPluginPva NDPvaConfigure EPICS_PVA_DEBUG ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp PVAttribute PVAttribute PVAttribute ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp ../PVAttribute.cpp EPICS_PVA_DEBUG EPICS_PVA_DEBUG EPICS_PVA_DEBUG EPICS_PVA_DEBUG EPICS_PVAS_PROVIDER_NAMES Warning: startPVAServer() no longer accepts provider list as argument. Instead place the following before calling startPVAServer() and iocInit() epicsEnvSet("EPICS_PVAS_PROVIDER_NAMES", "%s") PVA server already running … Mark From: [email protected] [mailto:[email protected]]
On Behalf Of Gofron, Kazimierz Hi, When Dexela detector is compiled ‘WITH_PVA=YES’, the Dexela.exe application crashes on start, without ever reaching any part of st.cmd file.
With ‘WITH_PVA=NO’, the ioc starts correctly. Compared to the prebuild, and one build ‘WITH_PVA=YES’ the following libraries are not linked:
GDI32.dll OLEAUT.dll PSAPI.dll {only in prebuild with base-3.15.5} I am not sure why these windows 7 libraries are excluded when PVA (V4) is used? ------ base-7.0.1.1 Visual Studio Community Edition 2017 make-4.2.1 Windows 7 Pro 64 bit windows-x64-static ---------------------- {Compiled WITH_PVA=NO} c:\epics\synApps\support\areaDetector-3-2\ADDexela\iocs\dexelaIOC\bin\windows-x64-static>dumpbin /imports DexelaApp.exe
File Type: EXECUTABLE IMAGE Section contains the following imports: BusScanner.dll 17
?EnumerateDevices@BusScanner@@QEAAHXZ DexImage.dll 54
?IsEmpty@DexImage@@QEAA_NXZ DexelaDetector.dll 80
?GetSerialNumber@DexelaDetector@@QEAAHXZ DexelaException.dll D
?GetTransportMessage@DexelaException@@QEAAPEBDXZ GDI32.dll 2C CreateBitmapIndirect OLEAUT32.dll Ordinal 20 WS2_32.dll Ordinal 14 ADVAPI32.dll D2 CryptGenRandom USER32.dll 2F7 ReleaseDC KERNEL32.dll 38B IsValidLocale WINMM.dll 87 timeEndPeriod Summary 2DD000 .data c:\epics\synApps\support\areaDetector-3-2\ADDexela\iocs\dexelaIOC\bin\windows-x64-static> Kazimierz Gofron NSLS-II Controls Group Brookhaven National Laboratory (p) +1 (631) 344 5283 (f) +1 (631) 344 8085 |