<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Kilian, a question on this: which version of Slurm/Lua are you running this against??<div class=""><br class=""></div><div class="">I don’t seem able to generate the RPM on 17.02.9/Lua 5.2 ; it throws similar errors to what I had seen earlier on the original files from Mark Grondo.</div><div class=""><br class=""></div><div class=""><div class="">> rpmbuild --define "_sysconfdir /etc/opt" --define "__cc /usr/bin/cc $(pkg-config --cflags slurm)" -ta slurm-spank-lua-0.38.tar.gz</div><div class="">Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.bUiy3F</div><div class="">+ umask 022</div><div class="">+ cd /users/builduser/rpmbuild/BUILD</div><div class="">+ cd /users/builduser/rpmbuild/BUILD</div><div class="">+ rm -rf slurm-spank-lua-0.38</div><div class="">+ /usr/bin/gzip -dc /users/builduser/workarea/job_environment/slurm-spank-lua-0.38.tar.gz</div><div class="">+ /bin/tar -xf -</div><div class="">+ STATUS=0</div><div class="">+ '[' 0 -ne 0 ']'</div><div class="">+ cd slurm-spank-lua-0.38</div><div class="">+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .</div><div class="">+ exit 0</div><div class="">Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.p3xXXA</div><div class="">+ umask 022</div><div class="">+ cd /users/builduser/rpmbuild/BUILD</div><div class="">+ /usr/bin/rm -rf /tmp/builduser/BUILDROOT</div><div class="">++ dirname /tmp/builduser/BUILDROOT</div><div class="">+ /usr/bin/mkdir -p /tmp/builduser</div><div class="">+ /usr/bin/mkdir /tmp/builduser/BUILDROOT</div><div class="">+ cd slurm-spank-lua-0.38</div><div class="">+ /usr/bin/cc -I/opt/slurm/17.02.9/include -g -o lua.o -fPIC -c lua.c</div><div class="">lua.c: In function ‘lua_script_create’:</div><div class="">lua.c:1048:31: error: ‘LUA_GLOBALSINDEX’ undeclared (first use in this function)</div><div class="">     lua_pushvalue (script->L, LUA_GLOBALSINDEX);</div><div class="">                               ^</div><div class="">lua.c:1048:31: note: each undeclared identifier is reported only once for each function it appears in</div><div class="">error: Bad exit status from /var/tmp/rpm-tmp.p3xXXA (%build)</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">RPM build errors:</div><div class="">    Bad exit status from /var/tmp/rpm-tmp.p3xXXA (%build)</div></div><div class=""><br class=""></div><div class="">Does anybody have an idea to get this to build and work? I’ve done some research, but my knowledge of Lua is very basic and the things I’ve tried ([1] and [2]) did not help at all. In fact, I’ve changed the source to look like this:</div><div class=""><br class=""></div><div class=""><div class="">> diff -Naur slurm-spank-lua-0.38-modified/lua.c slurm-spank-lua-0.38/lua.c</div><div class="">--- slurm-spank-lua-0.38-modified/lua.c<span class="Apple-tab-span" style="white-space:pre">      </span>2018-01-23 13:33:15.808026439 +0100</div><div class="">+++ slurm-spank-lua-0.38/lua.c<span class="Apple-tab-span" style="white-space:pre"> </span>2018-01-22 19:56:54.000000000 +0100</div><div class="">@@ -1045,8 +1045,7 @@</div><div class="">      *   table.</div><div class="">      */</div><div class="">     lua_pushstring (script->L, "__index");</div><div class="">-    lua_setglobal (script->L, "__index");</div><div class="">-    //lua_pushvalue (script->L, LUA_GLOBALSINDEX);</div><div class="">+    lua_pushvalue (script->L, LUA_GLOBALSINDEX);</div><div class="">     lua_settable (script->L, -3);</div><div class=""><br class=""></div><div class="">     /*  Now set metatable for the new globals table */</div><div class="">@@ -1055,7 +1054,7 @@</div><div class="">     /*  And finally replace the globals table with the (empty)  table</div><div class="">      *   now at top of the stack</div><div class="">      */</div><div class="">-    //lua_replace (script->L, LUA_GLOBALSINDEX);</div><div class="">+    lua_replace (script->L, LUA_GLOBALSINDEX);</div><div class=""><br class=""></div><div class="">     return script;</div><div class=""> }</div></div><div class=""><br class=""></div><div class="">And, although it initially builds, in the end it dies miserably:</div><div class=""><br class=""></div><div class=""><div class="">> srun --help</div><div class="">PANIC: unprotected error in call to Lua API (attempt to index a nil value)</div><div class="">Aborted</div></div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">M.<br class=""><div><br class=""></div><div>[1] <a href="https://stackoverflow.com/questions/9057943/porting-to-lua-5-2-lua-globalsindex-trouble?rq=1" class="">https://stackoverflow.com/questions/9057943/porting-to-lua-5-2-lua-globalsindex-trouble?rq=1</a></div><div>[2] <a href="https://stackoverflow.com/questions/10087226/lua-5-2-lua-globalsindex-alternative" class="">https://stackoverflow.com/questions/10087226/lua-5-2-lua-globalsindex-alternative</a></div><div><br class=""><blockquote type="cite" class=""><div class="">On 23 Jan 2018, at 00:20, Kilian Cavalotti <<a href="mailto:kilian.cavalotti.work@gmail.com" class="">kilian.cavalotti.work@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi all,<br class=""><br class="">We (Stanford Research Computing Center) developed a SPANK plugin which<br class="">allows users to choose the GPU compute mode [1] for their jobs.<br class="">[1] <a href="http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-modes" class="">http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-modes</a><br class=""><br class="">This came from the need to give our users some control on the way GPUs<br class="">are set, so they could run specific applications requiring a given<br class="">mode, while providing defaults optimized for our general environment.<br class=""><br class="">We figured it could be of interest to others, so we released our Slurm<br class="">SPANK GPU Compute Mode plugin at<br class=""><a href="https://github.com/stanford-rc/slurm-spank-gpu_cmode" class="">https://github.com/stanford-rc/slurm-spank-gpu_cmode</a><br class=""><br class="">Feel free to give it a try, and don't hesitate to contact us if you<br class="">have any question.<br class=""><br class=""><br class="">Cheers,<br class="">-- <br class="">Kilian<br class=""><br class=""></div></div></blockquote></div><br class=""></div></body></html>