On 22/05/22 14:46, Konrad J Hambrick <kjhambr...@gmail.com> put forth the proposition: > All -- > I emailed the maintainer on May 12 but have received no reply. > Below is the email I sent. > The Punchline is that the DevIL SBo will not compile on my Slackware64 > 15.0 + Multilib System when the nvidia-texture-tools SBo is installed. > The simplest fix is to turn off nvidia-texture-tools via a cmake Config <snip> > Is this the best place to post such info ? > Thanks everyone ! > -- kjh
This is the right place, usually we accept patches as attachments, but if this only the one flag. I can take a look this week. We don't support multilib though, so do you know if it fails still on a non-multilib full 15.0 installation? Link to blog post on sending patches: https://slackblogs.blogspot.com/2022/03/how-to-send-patches-to-sbo.html. > # ----------------------original email to the maintainer ------------ > Yth - Arnaud > I am running Slackware64 15.0 System with Multilib + > NVIDIA-Linux-x86_64-510.68.02.run > I discovered that if nvidia-texture-tools ( aka nvtt ) is installed, that > DevIL will not compile. > I tried with nvidia-texture-tools version 2.1.1 and also with the more > recent version 2.1.2 > There are missing Header Files in /usr/include/nvcore/ ( and maybe others ) > To reproduce: build and install nvidia-texture-tools.SlackBuild and then > try to build DevIL.SlackBuild > I changed the nvidia-texture-tools CMakeLists.txt so that the header files > are installed in /usr/include/{nvtt,nvthread,nvmath,nvimage,nvcore}/ > as well as installing nvconfig.h > The DevIL.SlackBuild compile makes it past the missing Headers in src-IL/ > However, the compiler finally fails building > src-IL/CMakeFiles/IL.dir/src/il_nvidia.cpp.o because the nvtt headers > differ from what is DevIL expects to find ( output below mu sig ) > I found a CMake switch ( -DIL_USE_DXTC_NVIDIA=NO ) that can be turned off > in the DevIL.SlackBuild to avoid nvtt altogether. > Then it builds as expected. > Here is diff -Naur > #-------------------- cut here -------------- > # diff -Naur DevIL~01.SlackBuild DevIL.SlackBuild > --- or/DevIL.SlackBuild 2022-04-23 17:41:07.620019227 -0500 > +++ DevIL.SlackBuild 2022-05-12 11:19:49.873854478 -0500 > @@ -73,6 +73,7 @@ > -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ > -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++14 -fpermissive" \ > -DCMAKE_INSTALL_PREFIX=/usr \ > + -DIL_USE_DXTC_NVIDIA=NO \ > -DCMAKE_BUILD_TYPE=Release .. > make > make install/strip DESTDIR=$PKG > # --------------------- cut there ------------------- > Thanks for all the SlackBuilds ! > -- kjh > This is the failure after installing the nvtt header files. > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp: In function 'ILubyte* > ilNVidiaCompressDXT(ILubyte*, ILuint, ILuint, ILuint, ILenum, ILuint*)': > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:104:28: error: cannot declare > variable 'outputHandler' to be of abstract type 'ilOutputHandlerMem' > 104 | ilOutputHandlerMem outputHandler(Width, Height, DxtFormat); > | ^~~~~~~~~~~~~ > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:38:8: note: because the > following virtual functions are pure within 'ilOutputHandlerMem': > 38 | struct ilOutputHandlerMem : public nvtt::OutputHandler > | ^~~~~~~~~~~~~~~~~~ > In file included from /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:20: > /usr/include/nvtt/nvtt.h:341:22: note: 'virtual void > nvtt::OutputHandler::endImage()' > 341 | virtual void endImage() = 0; > | ^~~~~~~~ > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp: In function 'ILuint > ilNVidiaCompressDXTFile(ILubyte*, ILuint, ILuint, ILuint, ILenum)': > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:188:29: error: cannot declare > variable 'outputHandler' to be of abstract type 'ilOutputHandlerFile' > 188 | ilOutputHandlerFile outputHandler(Width, Height, DxtFormat); > | ^~~~~~~~~~~~~ > /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:148:8: note: because the > following virtual functions are pure within 'ilOutputHandlerFile': > 148 | struct ilOutputHandlerFile : public nvtt::OutputHandler > | ^~~~~~~~~~~~~~~~~~~ > In file included from /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:20: > /usr/include/nvtt/nvtt.h:341:22: note: 'virtual void > nvtt::OutputHandler::endImage()' > 341 | virtual void endImage() = 0; > | ^~~~~~~~ > make[2]: *** [src-IL/CMakeFiles/IL.dir/build.make:678: > src-IL/CMakeFiles/IL.dir/src/il_nvidia.cpp.o] Error 1 > make[1]: *** [CMakeFiles/Makefile2:134: src-IL/CMakeFiles/IL.dir/all] Error > 2 > make: *** [Makefile:136: all] Error 2 -- Dave sbo-maintainer-tools: https://slackbuilds.org/repository/15.0/system/sbo-maintainer-tools/ SBo templates: https://slackbuilds.org/templates/ How to format github downloads: https://slackbuilds.org/GITHUB_URLs.txt _______________________________________________ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/