Including Agilent Drivers in Ansi-C VS2010 Project results in error LNK2001 - c

I am unable to resolve a linker error
my projects includes in one of its c files:
#include "../bin/AgN6700/agN6700.h"
#pragma comment(lib, "bin/AgN6700/agN6700.lib")
This is a adaption to a powersupply.
This adaption has several dependencies.
76 symbols fail to link.
8 are defined in the ivi.h
76 are defined in the visa.h
I have lib files for both of them on my machine in the folder:
C:\Program Files (x86)\National Instruments\Shared\CVI\ExtLib\msvc
So i added this folder to the library entrie in the VS2010 Project.
What is going wrong here? How can i investigate and solve this issue?
The full list of LNK2001 errors:
agN6700.lib(agn6700.c) : error LNK2001: ... Symbol "...".
_viOpen#20
_viClose#4
_viSetAttribute#12
_viRead#16
_viSetBuf#12
_viPrintf
_viScanf
_viQueryf
_Ivi_DefaultCheckCallbackViInt32#16
_Ivi_DefaultCheckCallbackViReal64#20
_Ivi_SpecificDriverNew#12
_Ivi_Dispose#4
_Ivi_SetAttributeViInt32#20
_Ivi_SetAttributeViReal64#24
_Ivi_SetAttributeViString#20
_Ivi_SetAttributeViBoolean#20
_Ivi_SetAttributeViSession#20
_Ivi_SetAttributeViAddr#20
_Ivi_CheckAttributeViInt32#20
_Ivi_CheckAttributeViReal64#24
_Ivi_CheckAttributeViString#20
_Ivi_CheckAttributeViBoolean#20
_Ivi_CheckAttributeViSession#20
_Ivi_GetAttributeViInt32#20
_Ivi_GetAttributeViReal64#20
_Ivi_GetAttributeViString#24
_Ivi_GetAttributeViBoolean#20
_Ivi_GetAttributeViSession#20
_Ivi_GetAttributeViAddr#20
_Ivi_AddAttributeViInt32#32
_Ivi_AddAttributeViReal64#40
_Ivi_AddAttributeViString#28
_Ivi_AddAttributeViBoolean#28
_Ivi_AddAttributeViAddr#28
_Ivi_SetAttrReadCallbackViString#12
_Ivi_SetAttrCheckCallbackViInt32#12
_Ivi_SetAttrCheckCallbackViReal64#12
_Ivi_SetAttrCheckCallbackViBoolean#12
_Ivi_SetAttrCoerceCallbackViReal64#12
_Ivi_InvalidateAttribute#12
_Ivi_InvalidateAllAttributes#4
_Ivi_NeedToCheckStatus#4
_Ivi_SetNeedToCheckStatus#8
_Ivi_BuildChannelTable#16
_Ivi_CoerceChannelName#12
_Ivi_GetNthChannelString#12
_Ivi_SetErrorInfo#20
_Ivi_GetErrorInfo#16
_Ivi_ClearErrorInfo#4
_Ivi_ParamPositionError#4
_Ivi_LockSession#8
_Ivi_UnlockSession#8
_Ivi_IOSession#4
_Ivi_RangeChecking#4
_Ivi_QueryInstrStatus#4
_Ivi_Simulating#4
_Ivi_GetStringFromTable#12
_Ivi_GetValueFromTable#12
_Ivi_GetAttrRangeTable#16
_Ivi_GetViInt32EntryFromValue#32
_Ivi_GetViInt32EntryFromString#28
_Ivi_Alloc#12
_Ivi_Free#8
_Ivi_SetValInStringCallback#12
_Ivi_GetSpecificDriverStatusDesc#16
_Ivi_CompareWithPrecision#24
_Ivi_WriteInstrData#8
_Ivi_ReadInstrData#16
_Ivi_GetInfoFromResourceName#20
_Ivi_GetNextCoercionString#12
_Ivi_GetNextInterchangeCheckString#12
_Ivi_ResetInterchangeCheck#4
_Ivi_ClearInterchangeWarnings#4
_Ivi_GetAttributeFlags#12
_Ivi_SetAttributeFlags#12
_Ivi_ApplyDefaultSetup#4

It seems i misunderstood how lib files are included in the buildprocess.
The solution is to supply the linker with additional dependencies via the project properties.
This is illustrated in this stackoverflow post.

Related

Compilation error: X11/Shell.h: No such file or directory under Red Hat Enterprise Linux 9.0 (Plow)

When compiling a library,I got this error:
/home/alex/Downloads/OCCT/src/IVtkDraw/IVtkDraw_Interactor.hxx:28:10: fatal error: X11/Shell.h: No such file or directory
28 | #include <X11/Shell.h>
and under this machine,/usr/include/X11 exists,and contains files like this:
ap_keysym.h extensions keysymdef.h Xarch.h Xcursor Xfuncproto.h XlibConf.h Xlocale.h Xos_r.h Xregion.h Xw32defs.h
cursorfont.h fonts keysym.h Xatom.h Xdefs.h Xfuncs.h Xlib.h Xmd.h Xpoll.h Xresource.h XWDFile.h
DECkeysym.h HPkeysym.h Sunkeysym.h Xauth.h XF86keysym.h X.h Xlibint.h Xosdefs.h Xproto.h Xthreads.h Xwindows.h
dri ImUtil.h Xalloca.h Xcms.h Xft XKBlib.h Xlib-xcb.h Xos.h Xprotostr.h Xutil.h Xwinsock.h
As you can see,Shell.h not exist,question is
Which lib should I install to ensure Shell.h exist?
On Ubuntu that file is in package libxt-dev (apt-file search X11/Shell.h). According to this, that package should exist in Fedora as libXt-devel.

How to call DLL exported functions with #<number> at end of function name from C

I am trying to call functions from ntvdm.lib in Visual Studio 2019 using the Visual Studio 2017 - Windows XP (v141_XP) platform toolset, with the following defined:
#define _WIN32_WINNT 0x0501
#define i386
running dumpbin /exports on the LIB file I get the following output:
Microsoft (R) COFF/PE Dumper Version 14.29.30037.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file ntvdm.lib
File Type: LIBRARY
Exports
ordinal name
_BlockWOWIdle#4
_CurrentMonitorTeb
_DBGNotifyDebugged#4
_DBGNotifyNewTask#8
_DBGNotifyRemoteThreadAddress#8
_DispatchInterrupts#0
_Dos_Flag_Addr
_DpmiSetIncrementalAlloc#4
_ExpLdt
_FlatAddress
_GetDOSAppName#4
_InitialVdmDbgFlags
_InitialVdmTibFlags
_IsCdRomFile#4
_MGetVdmPointer#12
_RedirectLongFileName#12
_RedirectShortFileName#12
_RegisterWOWIdle#0
_ResumeTimerThread#0
_SelectorLimit
_SetShadowDescriptorEntries#8
_ShortPathEnvVar#4
_Sim32pGetVDMPointer#8
_SoftPcEoi#8
_SuspendTimerThread#0
_VDDAllocMem#12
_VDDAllocateDosHandle#12
_VDDAssociateNtHandle#12
_VDDDeInstallIOHook#12
_VDDDeInstallMemoryHook#12
_VDDDeInstallUserHook#4
_VDDExcludeMem#12
_VDDFreeMem#12
_VDDIncludeMem#12
_VDDInstallIOHook#16
_VDDInstallMemoryHook#16
_VDDInstallUserHook#20
_VDDQueryDMA#12
_VDDReleaseDosHandle#8
_VDDReleaseIrqLine#8
_VDDRequestDMA#16
_VDDReserveIrqLine#8
_VDDRetrieveNtHandle#16
_VDDSetDMA#16
_VDDSimulate16#0
_VDDTerminateVDM#0
_VdmDbgAttach#0
_VdmGetParametersInfoError#0
_VdmMapFlat#12
_VdmParametersInfo#12
_VdmTraceEvent#12
_WOWSysErrorBox#20
_WaitIfIdle#0
_call_ica_hw_interrupt#12
_cmdCheckTemp#4
_cmdCheckTempInit#0
_cpu_createthread#8
_demClientErrorEx#12
_demFileDelete#4
_demFileFindFirst#12
_demFileFindNext#4
_demGetFileTimeByHandle_WOW#4
_demGetPhysicalDriveType#4
_demIsShortPathName#8
_demLFNCleanup#0
_demLFNGetCurrentDirectory#8
_demSetCurrentDirectoryGetDrive#8
_demWOWLFNAllocateSearchHandle#4
_demWOWLFNCloseSearchHandle#4
_demWOWLFNEntry#4
_demWOWLFNGetSearchHandle#4
_demWOWLFNInit#4
_fSeparateWow
_getAF#0
_getAH#0
_getAL#0
_getAX#0
_getBH#0
_getBL#0
_getBP#0
_getBX#0
_getCF#0
_getCH#0
_getCL#0
_getCS#0
_getCX#0
_getDF#0
_getDH#0
_getDI#0
_getDL#0
_getDS#0
_getDX#0
_getEAX#0
_getEBP#0
_getEBX#0
_getECX#0
_getEDI#0
_getEDX#0
_getEFLAGS#0
_getEIP#0
_getES#0
_getESI#0
_getESP#0
_getFS#0
_getGS#0
_getIF#0
_getIP#0
_getIntelRegistersPointer#0
_getMSW#0
_getOF#0
_getPF#0
_getSF#0
_getSI#0
_getSP#0
_getSS#0
_getZF#0
_host_CreateThread#24
_host_ExitThread#4
_host_com_close#4
_host_direct_access_error#4
_host_simulate#0
_pDeviceChain
_setAF#4
_setAH#4
_setAL#4
_setAX#4
_setBH#4
_setBL#4
_setBP#4
_setBX#4
_setCF#4
_setCH#4
_setCL#4
_setCS#4
_setCX#4
_setDF#4
_setDH#4
_setDI#4
_setDL#4
_setDS#4
_setDX#4
_setEAX#4
_setEBP#4
_setEBX#4
_setECX#4
_setEDI#4
_setEDX#4
_setEFLAGS#4
_setEIP#4
_setES#4
_setESI#4
_setESP#4
_setFS#4
_setGS#4
_setIF#4
_setIP#4
_setMSW#4
_setOF#4
_setPF#4
_setSF#4
_setSI#4
_setSP#4
_setSS#4
_setZF#4
Summary
BD .debug$S
14 .idata$2
14 .idata$3
4 .idata$4
4 .idata$5
A .idata$6
The function definition I'm trying to call in VDDSVC.h is:
#define GetVDMPointer(Address, Size, Mode) Sim32GetVDMPointer(\
Address, Size, Mode)
However visual studio error is:
Error LNK2019 unresolved external symbol _MGetVdmPointer referenced in function _VddDispatch
_MGetVdmPointer is in the lib file but referenced as _MGetVdmPointer#12
I reviewed the options here but couldn't determine which one might apply in my scenario https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-error-lnk2019?view=msvc-170
In Linker -> General -> Show Progress I tried setting /VERBOSE although no additional information was generated in the logs
I tried changing calling convention to "__stdcall" in C/C++ -> Advanced Calling Convention
I've tried changing files from .C to .CPP although get similar error (Although the symbol looked for is a c++ mangled style name)
The issue was calling convention needs to be modified to "__stdcall" in C/C++ -> Advanced Calling Convention
Which I had tried, however Visual Studio 2019 project properties was defaulting to configuration for "Release" build and not the current build type "Debug(Active)" which effectively made my initial change of that setting ineffective.
As suggested in comments by IInspectable:
When changing global project properties, always make sure the "Configuration" is set to "All Configurations" and "Platform" is set to "All Platforms"

error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1

I have a NDIS 6 filter driver. It is a packet capture driver based on the official ndislwf example. The whole project is open sourced on this GitHub repo. npf.sln can be opened via Visual Studio 2015.
My problem is the Static Driver Verifier (SDV) doesn't work on my project. When I clicked Driver -> Launch Static Driver Verifier... on Visual Studio 2015, it popped up the SDV GUI, then I clicked Clean and Start. After a while (3-5 minutes), a window popped up saying SDV encountered an error of unknown origin.. And the Alerts tab of the SDV UI said:
J:\npcap\packetWin7\npf\npf>cd /d "J:\npcap\packetWin7\npf\npf" && msbuild "npf.vcxproj" /t:sdv /p:inputs="/devenv /check" /p:configuration="Win7 Release SDV" /p:platform="x64"
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 7/25/2016 12:42:39 PM.
Project "J:\npcap\packetWin7\npf\npf\npf.vcxproj" on node 1 (sdv target(s)).
sdv:
staticdv.exe /devenv /check
---------------------------------------------------------------------
Microsoft (R) Windows (R) Static Driver Verifier Version 4.0.505.8
Copyright (C) Microsoft Corporation. All rights reserved.
---------------------------------------------------------------------
SDV is building for <Win7 Release SDV|x64>
Build 'npf' ... Done
Scan 'npf' ... Done
No reuse data to copy from previous SDV run.
The finalization step failed for 'npf' .
C:\Program Files (x86)\Windows Kits\10\build\windowsdriver.Sdv.targets(65,9): error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1. [J:\npcap\packetWin7\npf\npf\npf.vcxproj]
Done Building Project "J:\npcap\packetWin7\npf\npf\npf.vcxproj" (sdv target(s)) -- FAILED.
Build FAILED.
"J:\npcap\packetWin7\npf\npf\npf.vcxproj" (sdv target) (1) ->
(sdv target) ->
C:\Program Files (x86)\Windows Kits\10\build\windowsdriver.Sdv.targets(65,9): error MSB3073: The command "staticdv.exe /devenv /check" exited with code -1. [J:\npcap\packetWin7\npf\npf\npf.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:01:30.61
Then I looked at the StaticDVTrace.log log. It said as below:
Information:Calling DriverCleanup.
Information:Creating a new SDV object.
Information:Loading cache data.
Information:Calling cleanup routine.
Information:Creating a new SDV object.
Information:SetBase this.DdkPath=C:\Program Files (x86)\Windows Kits\10\
Information:SetBase this.Path=J:\npcap\packetWin7\npf\npf
Information:SetBase creating the DriverCollection via constructor.
Information:Driver Constructor:Calling RuleCollection constructor with rule list and rule path
Information:SetBase this.Environment=WDK
Information:SetBase Calling InitBaseEnvironment.
Information:Check that we have driver folder.
Information:Calling build to get cl and link flags.
Information:GenerateBuildLogNewCall build.exe.
Information:GenerateBuildLogNewCall to build.exe worked.
Information:Build 'npf' ... Done
Information:Found Sdv links file and attempting to serialize the data into our object model.
Information:Found Sdv source file and attempting to serialize the data into our object model.
Information:Found cflags in Sdv source file.
Information:Slam model equals
Information:Slam rules equals
Information:Slam Data equals
Information:Calling OpenNewConfiguration
Information:SetBase this.DdkPath=C:\Program Files (x86)\Windows Kits\10\
Information:SetBase this.Path=J:\npcap\packetWin7\npf\npf
Information:SetBase Opening All.sdv to load active rule list.
Information:OpenMsft Opening All.sdv from:C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\All.sdv
Information:OpenMsft Reading :C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\All.sdv
Information:OpenMsft Adding :DDIUSAGE.SDV.fsm to the list of rules.
Information:OpenMsft Adding :IRQL.SDV.fsm to the list of rules.
Information:OpenMsft Adding :IRQL_SHARED.SDV.fsm to the list of rules.
Information:OpenMsft Adding :LOCKING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :MEMORYUSAGE.SDV.fsm to the list of rules.
Information:OpenMsft Adding :MISCELLANEOUS.SDV.fsm to the list of rules.
Information:OpenMsft Adding :OIDPROCESSING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :WARNING.SDV.fsm to the list of rules.
Information:OpenMsft Adding :.fsm to the list of rules.
Information:SetBase Calling driver constructor.
Information:RuleCollection Constructor:Calling Rule Constructor.
Information:RuleCollection Constructor:add rule object to collection.
...
Information:RuleCollection Constructor:Calling Rule Constructor.
Information:RuleCollection Constructor:add rule object to collection.
Information:SetBase this.Environment=WDK
Information:SetBase Calling InitBaseEnvironment.
Information:this.NumberOfChecks=0100
Information:this.NumberOfNotStarted=100
Information:Opening sdv-default.xml from:C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis
Information:SdvScan:Local sdv-default.xml found.
Information:Calling build to get cl and link flags.
Information:Loading library data from cache at:C:\Program Files (x86)\Windows Kits\10\
Information:Loading build data.
Information:Counting the LOC in the driver.
Information:Loading WDM entry points from :C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\ndis\DdkEntryPoints.xml
Information:Calling CheckScan to validate we have a valid SDV-map.h file.
Information:CheckScan:Generating SDV-map.h file via call to SdvMap.
Information:SdvMap:Iterate over each driver in the collection.
Information:BuildLib:Create sdv folder.
Information:BuildLib:Create sdv\scan folder.
7/25/2016 11:00:08 PM:The SDV-map.h file at: J:\npcap\packetWin7\npf\npf.
Information:The SDV-map.h file at:J:\npcap\packetWin7\npf\npf does not have the "Approved" flag set to "true."
Information:Scan 'npf' ... Done
Information:CheckScan:Calling LoadSdvMap.
Information:Check if debug flags are set.
Information:Start sdv scan step via call to SdvScan.
Information:SdvScan:Calling SetupSdvScanFolders
Information:SdvScan:Checking if we have a local version of sdv-default.xml
Information:BuildLib:Create sdv folder.
Information:BuildLib:Create sdv\scan folder.
Information:Copying old reuse data for this run...J:\npcap\packetWin7\npf\npf
Information:No reuse data to copy from previous SDV run.
Information:Calling the SdvCheck stage.
Information:SdvCheck:Calling CleanupCflags.
Information:SdvCheck:Calling SetupSdvCheckFolders.
Information:SdvCheck:Calling RuleSpec.
Information:RuleSpec:.
Information:RuleSpec:Calling CompileStage for
Information:RuleSpec:Calling CompileStage for pre_isminiport.fsm
7/25/2016 11:00:16 PM:The SDV compile step failed.
I can't tell anything from the error message. Can anybody help me? Thanks!
You need to approve the sdv-map.h file. Open the sdv-map.h file that SDV generated in your source directory, verify that everything looks correct, then change //Approved=false to //Approved=true.

During apachectl start getting open shared object file: No such file or directory

After successfully installation of Apache2(2.4.4) i tried to start https server but i am getting below error
bimlesh#server:/usr/local/apache2/bin$ ./apachectl start
httpd: Syntax error on line 71 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_authn_core.so into server: /usr/local/apache2/modules/mod_authn_core.so: cannot open shared object file: No such file or directory
bimlesh#server:/usr/local/apache2/bin$
I looked at /usr/local/apache2/modules/ and really those .so files are not available.
Can anyone please help that how to get rid off.
if i look at /usr/local/apache2/modules/ folder then i see:(no .so files available)
bimlesh#server:/usr/local/apache2/bin$ ls ../modules/
httpd.exp mod_authn_file.a mod_cache_disk.a mod_file_cache.a mod_logio.la mod_ratelimit.a mod_socache_dbm.la
mod_access_compat.a mod_authn_file.la mod_cache_disk.la mod_file_cache.la mod_mime.a mod_ratelimit.la mod_socache_memcache.a
mod_access_compat.la mod_authn_socache.a mod_cache.la mod_filter.a mod_mime.la mod_remoteip.a mod_socache_memcache.la
mod_actions.a mod_authn_socache.la mod_cgid.a mod_filter.la mod_negotiation.a mod_remoteip.la mod_socache_shmcb.a
mod_actions.la mod_authz_core.a mod_cgid.la mod_headers.a mod_negotiation.la mod_reqtimeout.a mod_socache_shmcb.la
mod_alias.a mod_authz_core.la mod_dav.a mod_headers.la mod_proxy.a mod_reqtimeout.la mod_speling.a
mod_alias.la mod_authz_dbd.a mod_dav_fs.a mod_include.a mod_proxy_ajp.a mod_request.a mod_speling.la
mod_allowmethods.a mod_authz_dbd.la mod_dav_fs.la mod_include.la mod_proxy_ajp.la mod_request.la mod_status.a
mod_allowmethods.la mod_authz_dbm.a mod_dav.la mod_info.a mod_proxy_balancer.a mod_rewrite.a mod_status.la
mod_auth_basic.a mod_authz_dbm.la mod_dbd.a mod_info.la mod_proxy_balancer.la mod_rewrite.la mod_substitute.a
mod_auth_basic.la mod_authz_groupfile.a mod_dbd.la mod_lbmethod_bybusyness.a mod_proxy_connect.a mod_sed.a mod_substitute.la
mod_auth_digest.a mod_authz_groupfile.la mod_deflate.a mod_lbmethod_bybusyness.la mod_proxy_connect.la mod_sed.la mod_unique_id.a
mod_auth_digest.la mod_authz_host.a mod_deflate.la mod_lbmethod_byrequests.a mod_proxy_express.a mod_session.a mod_unique_id.la
mod_auth_form.a mod_authz_host.la mod_dir.a mod_lbmethod_byrequests.la mod_proxy_express.la mod_session_cookie.a mod_unixd.a
mod_auth_form.la mod_authz_owner.a mod_dir.la mod_lbmethod_bytraffic.a mod_proxy_fcgi.a mod_session_cookie.la mod_unixd.la
mod_authn_anon.a mod_authz_owner.la mod_dumpio.a mod_lbmethod_bytraffic.la mod_proxy_fcgi.la mod_session_dbd.a mod_userdir.a
mod_authn_anon.la mod_authz_user.a mod_dumpio.la mod_lbmethod_heartbeat.a mod_proxy_ftp.a mod_session_dbd.la mod_userdir.la
mod_authn_core.a mod_authz_user.la mod_env.a mod_lbmethod_heartbeat.la mod_proxy_ftp.la mod_session.la mod_version.a
mod_authn_core.la mod_autoindex.a mod_env.la mod_log_config.a mod_proxy_http.a mod_setenvif.a mod_version.la
mod_authn_dbd.a mod_autoindex.la mod_expires.a mod_log_config.la mod_proxy_http.la mod_setenvif.la mod_vhost_alias.a
mod_authn_dbd.la mod_buffer.a mod_expires.la mod_log_debug.a mod_proxy.la mod_slotmem_shm.a mod_vhost_alias.la
mod_authn_dbm.a mod_buffer.la mod_ext_filter.a mod_log_debug.la mod_proxy_scgi.a mod_slotmem_shm.la
mod_authn_dbm.la mod_cache.a mod_ext_filter.la mod_logio.a mod_proxy_scgi.la mod_socache_dbm.a
bimlesh#server:/usr/local/apache2/bin$
Run
find / -type f -name mod_authn_core.so
or install updatedb ( mlocate, slocate, findutils or sth ) if needed and run
updatedb
and then ( or before )
locate mod_authn_core.so
To find out if these files are somewere else than they should be, and possibly fix location with symbolic link or moving files where they're expected to be.
If there is no file you need, you may need to comment it in httpd.conf ( if it's specific module ), or (re)install apache package(s). I believe mod_authn_core should be in basic package, not in separate module though. Possibly someone removed it blindly or accidentally, or some intruder messed up with system, or disk got broken or whatever else.
PS. Modules usually are under "lib" e.g. /usr/local/lib/apache2 or /usr/lib/apache2, or /usr/lib/apache2/modules or similar, not in /usr/local/apache2/modules, though it usually depends on compilation of package..
You might also run
apache2ctl -t -D DUMP_VHOSTS
to find out what modules were compiled as shared or static. You should also include information about distribution, and note you're building/installing from source.
Also, have look here: http://httpd.apache.org/docs/2.4/install.html#configure

How to compile a C extension as part of a ruby gem with mkmf on Mac OS X?

I am trying to create a gem that wraps libpuzzle, but cannot figure out this flat_namespace issue:
--- personal/sayzame ‹master* M⁇› » gem build sayzame.gemspec && gem install sayzame-0.0.1.gem
Successfully built RubyGem
Name: sayzame
Version: 0.0.1
File: sayzame-0.0.1.gem
Building native extensions. This could take a while...
Successfully installed sayzame-0.0.1
1 gem installed
--- personal/sayzame ‹master* M⁇› » pry -rsayzame -Ilib
[1] pry(main)> Sayzame.compare_images :a, :b
dyld: lazy symbol binding failed: Symbol not found: _puzzle_init_dvec
Referenced from: /usr/local/lib/libpuzzle.dylib
Expected in: flat namespace
dyld: Symbol not found: _puzzle_init_dvec
Referenced from: /usr/local/lib/libpuzzle.dylib
Expected in: flat namespace
[1] 56394 trace trap pry -rsayzame -Ilib
My full source code here: https://github.com/neezer/sayzame
I'm fairly sure the problem is in my ext/puzzle/extconf.rb file, in that I am not linking the library correctly. I have already posted on ffi/ffi's issue tracker about it and followed up on those two leads with no success.
I would really appreciate any and all help here; been banging my head against the wall for quite sometime on this.
Possibly related:
- https://groups.google.com/d/msg/picky-ruby/8kuG8FkATgU/89JLc6U7SrcJ

Resources