larsiusprime / SteamWrap

Haxe native extension for the Steam API
MIT License
106 stars 44 forks source link

"Could not find primitive" messages when running the test project? #29

Closed increpare closed 5 years ago

increpare commented 5 years ago

is this normal? (on macos 10.14, haxe 4.0.0-preview.4+1e3e5e0)


src/Main.hx:8: Start
Could not find primitive SteamWrap_DownloadScores__4.
Could not find primitive SteamWrap_IsSteamInBigPictureMode__0.
Could not find primitive SteamWrap_IsOverlayEnabled__0.
Could not find primitive SteamWrap_BOverlayNeedsPresent__0.
Could not find primitive SteamWrap_GetSteamID__0.
Could not find primitive SteamWrap_GetPersonaName__0.
Could not find primitive SteamWrap_BIsAppInstalled__1.
Could not find primitive SteamWrap_BIsDlcInstalled__1.
[S_API] SteamAPI_Init(): Loaded '/Users/stephenlavelle/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/steamclient.dylib' OK.
Setting breakpad minidump AppID = 1127680
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198021110186 [API loaded no]
api/Steam.hx:477: Steam active
Could not find primitive SteamWrap_GetQueryUGCNumKeyValueTags__prime.
Could not find primitive SteamWrap_ReleaseQueryUGCRequest__prime.
Could not find primitive SteamWrap_SetReturnKeyValueTags__prime.
Could not find primitive SteamWrap_SetReturnMetadata__prime.
Could not find primitive SteamWrap_SendQueryUGCRequest__prime.
Could not find primitive SteamWrap_AddExcludedTag__prime.
Could not find primitive SteamWrap_AddRequiredTag__prime.
Could not find primitive SteamWrap_AddRequiredKeyValueTag__prime.
Could not find primitive SteamWrap_DownloadItem__prime.
Could not find primitive SteamWrap_GetItemState__prime.
Could not find primitive SteamWrap_GetNumSubscribedItems__prime.
Could not find primitive SteamWrap_SetUGCItemTags__2.
Could not find primitive SteamWrap_AddUGCItemKeyValueTag__3.
Could not find primitive SteamWrap_RemoveUGCItemKeyValueTags__2.
Could not find primitive SteamWrap_GetSubscribedItems__0.
Could not find primitive SteamWrap_GetItemDownloadInfo__1.
Could not find primitive SteamWrap_GetItemInstallInfo__2.
Could not find primitive SteamWrap_CreateQueryAllUGCRequest__5.
Could not find primitive SteamWrap_CreateQueryUGCDetailsRequest__1.
Could not find primitive SteamWrap_GetQueryUGCResult__2.
Could not find primitive SteamWrap_GetQueryUGCKeyValueTag__5.
Could not find primitive SteamWrap_GetQueryUGCMetadata__3.
Could not find primitive SteamWrap_ShowAnalogActionOrigins__prime.
Could not find primitive SteamWrap_ShowDigitalActionOrigins__prime.
Could not find primitive SteamWrap_GetMotionData_rotVelZ__prime.
Could not find primitive SteamWrap_GetMotionData_rotVelY__prime.
Could not find primitive SteamWrap_GetMotionData_rotVelX__prime.
Could not find primitive SteamWrap_GetMotionData_posAccelZ__prime.
Could not find primitive SteamWrap_GetMotionData_posAccelY__prime.
Could not find primitive SteamWrap_GetMotionData_posAccelX__prime.
Could not find primitive SteamWrap_GetMotionData_rotQuatW__prime.
Could not find primitive SteamWrap_GetMotionData_rotQuatZ__prime.
Could not find primitive SteamWrap_GetMotionData_rotQuatY__prime.
Could not find primitive SteamWrap_GetMotionData_rotQuatX__prime.
Could not find primitive SteamWrap_GetMotionData__prime.
Could not find primitive SteamWrap_SetLEDColor__prime.
Could not find primitive SteamWrap_TriggerVibration__prime.
Could not find primitive SteamWrap_ShowGamepadTextInput__prime.
Could not find primitive SteamWrap_GetEnteredGamepadTextInput__0.
Could not find primitive SteamWrap_ShowBindingPanel__1.
Could not find primitive SteamWrap_GetGlyphForActionOrigin__1.
Could not find primitive SteamWrap_GetStringForActionOrigin__1.
Could not find primitive SteamWrap_SetCloudEnabledForApp__prime.
Could not find primitive SteamWrap_IsCloudEnabledForApp__prime.
Could not find primitive SteamWrap_FileShare__prime.
Could not find primitive SteamWrap_GetFileSize__prime.
Could not find primitive SteamWrap_FileDelete__prime.
Could not find primitive SteamWrap_FileExists__prime.
Could not find primitive SteamWrap_GetFileCount__prime.
Could not find primitive SteamWrap_FileRead__1.
Could not find primitive SteamWrap_FileWrite__2.
Could not find primitive SteamWrap_GetQuota__0.
Could not find primitive SteamWrap_UGCDownload__prime.
Could not find primitive SteamWrap_EnumerateUserPublishedFiles__prime.
Could not find primitive SteamWrap_EnumerateUserSubscribedFiles__prime.
Could not find primitive SteamWrap_EnumerateUserSharedWorkshopFiles__prime.
Could not find primitive SteamWrap_GetPublishedFileDetails__prime.
Could not find primitive SteamWrap_GetUGCDownloadProgress__1.
Could not find primitive SteamWrap_UGCRead__4.
Could not find primitive SteamWrap_GetPacketSender__0.
Could not find primitive SteamWrap_GetPacketData__0.
Could not find primitive SteamWrap_ReceivePacket__0.
Could not find primitive SteamWrap_SendPacket__4.
Could not find primitive SteamWrap_LobbyListAddDistanceFilter__1.
Could not find primitive SteamWrap_LobbyListAddNearFilter__2.
Could not find primitive SteamWrap_LobbyListAddNumericalFilter__3.
Could not find primitive SteamWrap_LobbyListAddStringFilter__3.
Could not find primitive SteamWrap_LobbyListGetData__2.
Could not find primitive SteamWrap_LobbyListGetID__1.
Could not find primitive SteamWrap_LobbyListLength__0.
Could not find primitive SteamWrap_LobbyListIsLoading__0.
Could not find primitive SteamWrap_RequestLobbyList__0.
Could not find primitive SteamWrap_ActivateInviteOverlay__0.
Could not find primitive SteamWrap_SetLobbyType__prime.
Could not find primitive SteamWrap_LobbySetData__2.
Could not find primitive SteamWrap_LobbyMemberID__1.
Could not find primitive SteamWrap_LobbyMemberCount__0.
Could not find primitive SteamWrap_LobbyOwnerID__0.
Could not find primitive SteamWrap_LobbyID___0.
Could not find primitive SteamWrap_LeaveLobby__0.
Could not find primitive SteamWrap_JoinLobby__1.
Could not find primitive SteamWrap_CreateLobby__prime.
api/Steam.hx:477: [STEAM] clearAchievement(BEAT_LEVEL_1)  SUCCEEDED
api/Steam.hx:477: [STEAM] clearAchievement(BEAT_LEVEL_2)  SUCCEEDED
api/Steam.hx:477: [STEAM] setAchievement(BEAT_LEVEL_1)  SUCCEEDED
api/Steam.hx:477: [STEAM] setAchievement(BEAT_LEVEL_2)  SUCCEEDED
src/Main.hx:44: controllers = []
Timed out waiting for game mapping!
src/Main.hx:49: ===ACTION SET HANDLES===
src/Main.hx:50: ingame = 0 menu = 0
src/Main.hx:63: ===DIGITAL ACTION HANDLES===
src/Main.hx:64: menu up = 0 down = 0 left = 0 right = 0
src/Main.hx:65: fire = 0 jump = 0
src/Main.hx:66: pause_menu = 0
api/Steam.hx:477: [STEAM] UserStatsStored SUCCESS ()
api/Steam.hx:477: [STEAM] UserStatsStored SUCCESS ()
api/Steam.hx:477: [STEAM] UserStatsStored SUCCESS ()
api/Steam.hx:477: [STEAM] GlobalStatsReceived SUCCESS ()
api/Steam.hx:477: [STEAM] UserStatsStored SUCCESS ()
api/Steam.hx:477: [STEAM] UserStatsReceived SUCCESS ()
api/Steam.hx:477: [STEAM] UserStatsStored SUCCESS ()
api/Steam.hx:477: [STEAM] UserAchievementStored SUCCESS (BEAT_LEVEL_1)
src/Main.hx:121: Achievement stored: BEAT_LEVEL_1
api/Steam.hx:477: [STEAM] UserAchievementStored SUCCESS (BEAT_LEVEL_2)
src/Main.hx:121: Achievement stored: BEAT_LEVEL_2

On the plus side, achievements and the like are working. On the scary side, there're a lot of "Could not find primitive" messages. Is that normal?

larsiusprime commented 5 years ago

No, this isn't normal. If the primitives aren't found that's typically a sign that CFFI is failing. Did you double check that your Steam dll files are making it to the right place? Either that or you might have an improperly built version of steamwrap.

increpare commented 5 years ago

I thought it might be that the macOS dylib in the github repo is too old, so I tried rebuilding it myself, but it didn't seem to make a difference (I successfully built it and and copied over the whole directory in the haxelib path manually overwriting the existing one I got by cloning this repo).

Did you double check that your Steam dll files are making it to the right place? I think so. Like I said, I've been getting achievements. Does this directory structure look sensible to you?

Bildschirmfoto 2019-07-23 um 23 05 28

I tried with both the libsteam_api.dylib v1.35a (15th January 2016 ) and the most recent v1.45 (25th June 2019)

(uh, thanks for the replies/assistance!)

larsiusprime commented 5 years ago

That does indeed look correct. It's weird you're getting achievements but still getting the missing primitives message. Did you try building the example test app? Does that have trouble too? My gut feeling is still that there's a mismatch in library files somewhere. If you're rebuilding the binaries yourself you want to make sure that the .h files imported from the script setup correspond to the dylib file that eventually makes it into your app.

increpare commented 5 years ago

Ok I tried building SteamWrap again from scratch, being very careful to use the sdk version you recommended and not accidentally referencing the wrong library versions. And now it works, as if by magic... thanks for the tips!