epics-modules / measComp

EPICS support for some USB and Ethernet I/O modules from Measurement Computing
6 stars 16 forks source link

Procedure entry point error #2

Closed keenanlang closed 6 years ago

keenanlang commented 6 years ago

Built xxx against the master version of measComp and when trying to run xxx, I ran into this error

The procedure entry point cbDOut32 could not be located in the dynamic link library S:\Documents\Work\synApps\support\measComp-master\bin\win32-x86\measComp.dll

Architecture: win32-x86

Tags: asyn - R4-33 calc - R3-7 std - master mca - R7-7 busy - R1-7 sscan - R2-11-1 autosave - R5-9 sncseq - 2.2.6 measComp - master XXX - master

Is there something different that needs to be done in the xxx Makefile to accommodate new changes in measComp? Or is there something up with the module itself?

MarkRivers commented 6 years ago

If you want to run an application that is built with measComp then you must have the cbw64.dll on your system. This is typically done by installing the InstaCal package.

This is not a change from previous releases of measComp, this has always been the case.

Engbretson commented 6 years ago

Shouldn’t linking against the windows libs in measCompSupport has said the dll that Mark mentioned doesn’t exist?

From: Keenan Lang notifications@github.com Sent: Friday, June 8, 2018 4:11 PM To: epics-modules/measComp measComp@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [epics-modules/measComp] Procedure entry point error (#2)

Built xxx against the master version of measComp and when trying to run xxx, I ran into this error

The procedure entry point cbDOut32 could not be located in the dynamic link library S:\Documents\Work\synApps\support\measComp-master\bin\win32-x86\measComp.dll

Architecture: win32-x86

Tags: asyn - R4-33 calc - R3-7 std - master mca - R7-7 busy - R1-7 sscan - R2-11-1 autosave - R5-9 sncseq - 2.2.6 measComp - master XXX - master

Is there something different that needs to be done in the xxx Makefile to accommodate new changes in measComp? Or is there something up with the module itself?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/epics-modules/measComp/issues/2 , or mute the thread https://github.com/notifications/unsubscribe-auth/AM66i3LkPO0ylHVrSRpWk5vz8RM0BjwCks5t6uhugaJpZM4Ug9T9 . https://github.com/notifications/beacon/AM66izn5vjbIGVNWtZBTUjm-vagCQR-qks5t6uhugaJpZM4Ug9T9.gif

keenanlang commented 6 years ago

I have cbw32.dll on my system, which is what is required by the 32bit exe. Am I supposed to have both? And this error is coming from the measComp.dll file and refers to a measComp function, why would it have to do with the cbw dll?

MarkRivers commented 6 years ago

Shouldn’t linking against the windows libs in measCompSupport has said the dll that Mark mentioned doesn’t exist?

No, at link time it just needs the .lib file. That is provided in measComp/measCompSupport. But I don't provide the .dll file there because that changes with each release of the Universal Library (the .lib file changes less frequently). One must install InstaCal anyway to get the drivers.

And this error is coming from the measComp.dll file and refers to a measComp function, why would it have to do with the cbw dll?

That is not a measComp function, it is a cbw function. The error message is misleading, it is reporting the DLL that calls the missing function, not the DLL containing the missing function.

MarkRivers commented 6 years ago

I have cbw32.dll on my system, which is what is required by the 32bit exe. Am I supposed to have both?

I missed the fact that you are running the 32-bit version. cbDOut32 is definitely in cbw32.dll, not in measComp.dll. Is cbw32.dll in your PATH?

keenanlang commented 6 years ago

That is not a measComp function, it is a cbw function.

Whoops, did a grep to find the function and didn't notice that the definition was in the new Linux cbw source.

Is cbw32.dll in your PATH?

It is, but the dll doesn't export cbDOut32, looks like I probably just need to update to a new version of the dll, it worked to run the synApps_5_8 measComp, but that's wildly out of date.