Closed joroOnLinux closed 6 months ago
Hi @joroOnLinux, Thanks for reaching out.
I suspect this error to be related to gmmlib. Could you please provide more details such as the OS, build env, flags and the logs.
You gotta be kiddin' me. This one ist so friggin' obvious, you gotta be kiddin' me.
12.01.2024 15:30:35 John Machado @.***>:
Hi @joroOnLinux[https://github.com/joroOnLinux], Thanks for reaching out.
I suspect this error to be related to gmmlib. Could you please provide more details such as the OS, build env, flags and the logs.
— Reply to this email directly, view it on GitHub[https://github.com/intel/gmmlib/issues/109#issuecomment-1889212523], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AKTLP3AQEAQXU7X35TIXO4DYOE3HXAVCNFSM6AAAAABBLOI4NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBZGIYTENJSGM]. You are receiving this because you were mentioned. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAeSURBVFiF7cExAQAAAMKg9U9tDB+gAAAAAAAAgL8BG7oAAVIlbSwAAAAASUVORK5CYII=###24x24:true###][Verfolgungsbild][https://github.com/notifications/beacon/AKTLP3AHL5UVPIB5UVH7X5TYOE3HXA5CNFSM6AAAAABBLOI4NCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTQTMMGW.gif]
Could you please provide more build logs.
No. Your Guys call a function (getpid or Something Like that) that has No Arguments with an Argument. That's why the Software that Intel -one of the biggest chipmakers in the world - put on GitHub doesn't even build. The Error Message of this trivial Bug couldn't Be any clearer. Do you Guys have any Sort of QA ?
12.01.2024 21:51:10 John Machado @.***>:
Could you please provide more build logs.
— Reply to this email directly, view it on GitHub[https://github.com/intel/gmmlib/issues/109#issuecomment-1889866336], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AKTLP3EN6ELJFTY3OTELFVTYOGH25AVCNFSM6AAAAABBLOI4NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBZHA3DMMZTGY]. You are receiving this because you were mentioned. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAeSURBVFiF7cExAQAAAMKg9U9tDB+gAAAAAAAAgL8BG7oAAVIlbSwAAAAASUVORK5CYII=###24x24:true###][Verfolgungsbild][https://github.com/notifications/beacon/AKTLP3DR5VQGSMQCQVJ6Q6TYOGH25A5CNFSM6AAAAABBLOI4NCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTQUUJGA.gif]
I "fixed" the build. the build flag "-pthread" is needed so that cmake can correctly identify the pthreads library. Without it, the build fails in the configuration stage. I added
set(CMAKE_CXX_FLAGS "$(CMAKE_CXX_FLAGS) -pthread")
in line 465 of CmakeLists.txt. That makes the code build. Funnily, it breaks the link stage which can be "fixed" by copying a command from the file build/CMakeFiles/igfx_gmmumd_dll.dir/link.txt, removing the CFLAGS part (leaving -pthread in of course) and running that command in the build directory. That produces libigdgmm.so.12.3.0. (which is of course not the build number 22.3.15, but hey, it's just a number).
This is a desaster.
Since this software obviously never built succesfully at Intel, i won't put it on my system. But now it builds and Intel can do some testing.
You're welcome.
Thanks for recommending the changes. We will run our internal sanity to check on this. We do have the internal testing and would only upstream if the validation is successful on the latest tip. Obviously, if Gmmlib is upstream today, for sure it has qualified. But, there could be some gap that we understand, which we can collaboratively work on to fix.
Also, regarding the dll versioning schema please refer: https://github.com/intel/gmmlib?tab=readme-ov-file#release-tags The tagging schema for a specific version of .so(build) is mentioned.
Thank you for highlighting your interest in GMM.
Hi @joroOnLinux,
Our build system correctly includes and configures this pthread flag. The pthread flag is included as a CXX common flag in Source/GmmLib/Linux.cmake which is again included in the main CMakeList.txt.
Here are few logs from the build, and the pthread is already included among the flags for linking: [ 61%] Building CXX object Source/GmmLib/CMakeFiles/igfx_gmmumd_dll.dir/TranslationTable/GmmUmdTranslationTable.cpp.o [ 66%] Building CXX object Source/GmmLib/CMakeFiles/igfx_gmmumd_dll.dir/GlobalInfo/GmmLibDllMain.cpp.o [ 64%] Building CXX object Source/GmmLib/CMakeFiles/igfx_gmmumd_dll.dir/GlobalInfo/GmmClientContext.cpp.o [ 67%] Linking CXX shared library libigdgmm.so /usr/bin/c++ -fPIC -Wno-reorder -Wsign-promo -Wnon-virtual-dtor -Wno-invalid-offsetof -fvisibility-inlines-hidden -fno-use-cxa-atexit -fno-rtti -fexceptions -fcheck-new -std=c++11 -pthread -Werror=non-virtual-dtor -O3 -DNDEBUG -m64 -shared -Wl,-soname,libigdgmm.so.12 -o libigdgmm.so.12.3.0 CMakeFiles/igfx_gmmumd_dll.dir/__/Common/AssertTracer/AssertTracer.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmCachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmCachePolicyCommon.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen8CachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen9CachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen10CachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen11CachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen12CachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmXe_LPGCachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/CachePolicy/GmmGen12dGPUCachePolicy.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmGen11Platform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmGen12Platform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmGen8Platform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmGen9Platform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmGen10Platform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Platform/GmmPlatform.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Resource/GmmResourceInfo.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Resource/GmmResourceInfoCommon.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Resource/GmmResourceInfoCommonEx.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Resource/GmmRestrictions.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Resource/Linux/GmmResourceInfoLinCWrapper.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen7Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen8Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen9Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen10Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen11Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmGen12Texture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmXe_LPGTexture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmTexture.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmTextureAlloc.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmTextureSpecialCases.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Texture/GmmTextureOffset.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/GlobalInfo/GmmInfo.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Utility/CpuSwizzleBlt/CpuSwizzleBlt.c.o CMakeFiles/igfx_gmmumd_dll.dir/Utility/GmmLog/GmmLog.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/Utility/GmmUtility.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/TranslationTable/GmmAuxTable.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/TranslationTable/GmmPageTableMgr.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/TranslationTable/GmmUmdTranslationTable.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/GlobalInfo/GmmClientContext.cpp.o CMakeFiles/igfx_gmmumd_dll.dir/GlobalInfo/GmmLibDllMain.cpp.o -pthread [ 67%] Built target igfx_gmmumd_dll Scanning dependencies of target GMMULT [ 69%] Building CXX object Source/GmmLib/ULT/CMakeFiles/GMMULT.dir/GmmCachePolicyULT.cpp.o [ 70%] Building CXX object Source/GmmLib/ULT/CMakeFiles/GMMULT.dir/GmmCommonULT.cpp.o [ 72%] Building CXX object Source/GmmLib/ULT/CMakeFiles/GMMULT.dir/GmmMultiAdapterULT.cpp.o
So I am not able to reproduce this issue from my side and see that the flag which you are complaining about is correctly configured. Unless you provide more details on what are you trying do with gmmlib we will not be able to help. Also I suspect, though you are using gmmlib, from your first comment the getpid is call form the IGT test file suite which gmmlib does not host .
As a quick step, you could provide the build logs by including the set(CMAKE_VERBOSE_MAKEFILE 1) somewhere at the beginning of the CMakeList.txt.
Hi @joroOnLinux, Could you please provide the build logs with set(CMAKE_VERBOSE_MAKEFILE 1) at the top of CMakeLists.txt?
Please do revert with logs, else we will not be able to help on this much, failing which we will have to close this issue.
@joroOnLinux, As there is no much details regarding the issue from your side, for the failure what you are seeing. I am not able to reproduce this at our end. Please note that this issue will closed marking lack of details. If you still have concerns with this issue, please do re-open or create a new issue. Thank you for your interest in Intel-Gmmlib.
CC sw_sync.lo In file included from /usr/include/unistd.h:1170, from drmtest.h:31, from sw_sync.c:41: /usr/include/x86_64-linux-gnu/bits/unistd_ext.h:34:28: error: macro "gettid" passed 1 arguments, but takes just 0 34 | extern pid_t gettid (void) __THROW; | ^ In file included from igt_kmod.h:29, from sw_sync.c:39: igt_aux.h:49: note: macro "gettid" defined here 49 | #define gettid() syscall(NR_gettid)