Hi,

I believe the section below from the automake manual provides hints what ought 
to be done:

https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html

So you'd need to create a xcgroup_dummy.c, and then per the instructions in the 
link above edit Makefile.am and configure.ac so that xcgroup.c is 
compiled/linked in only on Linux, otherwise xcgroup_dummy.c is used.

--
Janne Blomqvist
________________________________
From: Jan van der Lugt [[email protected]]
Sent: Thursday, October 02, 2014 19:51
To: slurm-dev
Subject: [slurm-dev] Re: Compiling SLURM on Solaris 11.2

Hi,

Yes, that seems to be the problem. Can someone point me in the right direction 
to change the compile scripts? I'm willing to put some effort into this, but I 
don't really know where to start.

- Jan

On Tue, Sep 30, 2014 at 10:59 PM, Blomqvist Janne 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

xcgroup.c (src/slurmd/common/xcgroup.c) handles the Linux-specific cgroups 
(https://en.wikipedia.org/wiki/Cgroups) stuff. Judging from your error message 
it appears that the solaris mount() function is different from the Linux one. 
But it doesn't really matter anyway, since cgroups don't exist on Solaris so 
mounting a cgroup filesystem is pointless there. I guess the real bug is that 
there is some missing autotools-foo to not compile/link xcgroups.c on non-Linux 
platforms (perhaps substituting some dummy no-op xcgroups.c implementation or 
such?).

--
Janne Blomqvist
________________________________
From: Jan van der Lugt [[email protected]<mailto:[email protected]>]
Sent: Wednesday, October 01, 2014 1:35
To: slurm-dev
Subject: [slurm-dev] Re: Compiling SLURM on Solaris 11.2

Hi all,

Does anyone have an idea about this problem? Both version 2.5.7 (which we use) 
and version 14.03.8 give me the following error:
xcgroup.c: In function ‘xcgroup_ns_mount’:
xcgroup.c:225:15: error: ‘MS_NOEXEC’ undeclared (first use in this function)
     MS_NOSUID|MS_NOEXEC|MS_NODEV, options))
               ^
xcgroup.c:225:15: note: each undeclared identifier is reported only once for 
each function it appears in
xcgroup.c:225:25: error: ‘MS_NODEV’ undeclared (first use in this function)
     MS_NOSUID|MS_NOEXEC|MS_NODEV, options))
                         ^
xcgroup.c:225:5: warning: passing argument 3 of ‘mount’ makes integer from 
pointer without a cast [enabled by default]
     MS_NOSUID|MS_NOEXEC|MS_NODEV, options))
     ^
In file included from xcgroup.c:57:0:
/usr/include/sys/mount.h:56:5: note: expected ‘int’ but argument is of type 
‘char *’
 int mount(const char *, const char *, int, ...);
     ^
xcgroup.c: In function ‘xcgroup_lock’:
xcgroup.c:417:21: error: ‘LOCK_EX’ undeclared (first use in this function)
  if (flock(cg->fd,  LOCK_EX) < 0) {
                     ^
xcgroup.c: In function ‘xcgroup_unlock’:
xcgroup.c:432:21: error: ‘LOCK_UN’ undeclared (first use in this function)
  if (flock(cg->fd,  LOCK_UN) < 0) {

Thanks in advance for any help.

- Jan

On Tue, Sep 23, 2014 at 2:52 PM, Jan van der Lugt 
<[email protected]<mailto:[email protected]>> wrote:
Hi all,

I'm trying to compile SLURM on Solaris 11.2, but I'm having some trouble 
disabling certain Linux-specific features, such as everything related to 
cgroups. What is the best way to achieve this?

Thanks in advance for your help.

- Jan





Reply via email to