<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">All --</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">I emailed the maintainer on May 12 but have received no reply.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Below is the email I sent.<br></div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">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.<br></div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">The simplest fix is to turn off nvidia-texture-tools via a cmake Config Flag:</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace"># --------------------- cut  here -------------------</div><div class="gmail_default" style="font-family:monospace,monospace"># diff -Naur DevIL~01.SlackBuild DevIL.SlackBuild<br>--- or/DevIL.SlackBuild 2022-04-23 17:41:07.620019227 -0500<br>+++ DevIL.SlackBuild    2022-05-12 11:19:49.873854478 -0500<br>@@ -73,6 +73,7 @@<br>     -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \<br>     -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++14 -fpermissive" \<br>     -DCMAKE_INSTALL_PREFIX=/usr \<br>+    -DIL_USE_DXTC_NVIDIA=NO \<br>     -DCMAKE_BUILD_TYPE=Release ..<br>   make<br>   make install/strip DESTDIR=$PKG<br></div><div class="gmail_default" style="font-family:monospace,monospace"><div class="gmail_default"># --------------------- cut  here -------------------</div><div class="gmail_default"><br></div><div class="gmail_default"><div class="gmail_default">Is this the best place to post such info ?</div><div class="gmail_default"><br></div></div><div class="gmail_default">Thanks everyone !</div><div class="gmail_default"><br></div><div class="gmail_default">-- kjh</div><div class="gmail_default"><br></div><div class="gmail_default"># ----------------------original email to the maintainer ------------</div><div class="gmail_default"><br></div></div><div class="gmail_default" style="font-family:monospace,monospace">Yth - Arnaud<br><br>I am running Slackware64 15.0 System with Multilib + NVIDIA-Linux-x86_64-510.68.02.run<br><br>I discovered that if nvidia-texture-tools ( aka nvtt ) is installed, that DevIL will not compile.<br><br>I tried with nvidia-texture-tools version 2.1.1 and also with the more recent version 2.1.2<br><br>There are missing Header Files in /usr/include/nvcore/ ( and maybe others )<br><br>To reproduce:  build and install nvidia-texture-tools.SlackBuild  and then try to build DevIL.SlackBuild<br><br>I changed the nvidia-texture-tools CMakeLists.txt so that the header files are installed in /usr/include/{nvtt,nvthread,nvmath,nvimage,nvcore}/ <br>as well as installing nvconfig.h<br><br>The DevIL.SlackBuild compile makes it past the missing Headers in src-IL/<br><br>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 )<br><br>I found a CMake switch ( -DIL_USE_DXTC_NVIDIA=NO ) that can be turned off in the DevIL.SlackBuild to avoid nvtt altogether.<br><br>Then it builds as expected.<br><br>Here is diff -Naur <br>#-------------------- cut  here --------------<br># diff -Naur DevIL~01.SlackBuild DevIL.SlackBuild<br>--- or/DevIL.SlackBuild 2022-04-23 17:41:07.620019227 -0500<br>+++ DevIL.SlackBuild    2022-05-12 11:19:49.873854478 -0500<br>@@ -73,6 +73,7 @@<br>     -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \<br>     -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++14 -fpermissive" \<br>     -DCMAKE_INSTALL_PREFIX=/usr \<br>+    -DIL_USE_DXTC_NVIDIA=NO \<br>     -DCMAKE_BUILD_TYPE=Release ..<br>   make<br>   make install/strip DESTDIR=$PKG<br># --------------------- cut there -------------------<br><br>Thanks for all the SlackBuilds !<br><br>-- kjh<br><br>This is the failure after installing the nvtt header files.<br><br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp: In function 'ILubyte* ilNVidiaCompressDXT(ILubyte*, ILuint, ILuint, ILuint, ILenum, ILuint*)':<br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:104:28: error: cannot declare variable 'outputHandler' to be of abstract type 'ilOutputHandlerMem'<br>  104 |         ilOutputHandlerMem outputHandler(Width, Height, DxtFormat);<br>      |                            ^~~~~~~~~~~~~<br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:38:8: note:   because the following virtual functions are pure within 'ilOutputHandlerMem':<br>   38 | struct ilOutputHandlerMem : public nvtt::OutputHandler<br>      |        ^~~~~~~~~~~~~~~~~~<br>In file included from /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:20:<br>/usr/include/nvtt/nvtt.h:341:22: note:     'virtual void nvtt::OutputHandler::endImage()'<br>  341 |         virtual void endImage() = 0;<br>      |                      ^~~~~~~~<br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp: In function 'ILuint ilNVidiaCompressDXTFile(ILubyte*, ILuint, ILuint, ILuint, ILenum)':<br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:188:29: error: cannot declare variable 'outputHandler' to be of abstract type 'ilOutputHandlerFile'<br>  188 |         ilOutputHandlerFile outputHandler(Width, Height, DxtFormat);<br>      |                             ^~~~~~~~~~~~~<br>/tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:148:8: note:   because the following virtual functions are pure within 'ilOutputHandlerFile':<br>  148 | struct ilOutputHandlerFile : public nvtt::OutputHandler<br>      |        ^~~~~~~~~~~~~~~~~~~<br>In file included from /tmp/SBo/DevIL/DevIL/src-IL/src/il_nvidia.cpp:20:<br>/usr/include/nvtt/nvtt.h:341:22: note:     'virtual void nvtt::OutputHandler::endImage()'<br>  341 |         virtual void endImage() = 0;<br>      |                      ^~~~~~~~<br>make[2]: *** [src-IL/CMakeFiles/IL.dir/build.make:678: src-IL/CMakeFiles/IL.dir/src/il_nvidia.cpp.o] Error 1<br>make[1]: *** [CMakeFiles/Makefile2:134: src-IL/CMakeFiles/IL.dir/all] Error 2<br>make: *** [Makefile:136: all] Error 2<br></div></div>