Discussion:
[Ipmitool-devel] Error compiling the Intel imb driver with Cywin
Juan Pablo Baserga
2015-02-03 22:27:49 UTC
Permalink
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it using
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.

I do:

./configure --enable-intf-lanplus --enable-intf-imb

configure runs ok

make

ends with the following errors:

make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
from imbapi.c:89:
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c: In function 'MapPhysicalMemory':
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c: In function 'UnmapPhysicalMemory':
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2

Do I need to use any other switches in configure or lack a Cywin package?

Thanks in advance for your help!

Best regards,

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Zdenek Styblik
2015-02-04 11:29:00 UTC
Permalink
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it using
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.
Hello Juan,

you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.

Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-04 12:36:57 UTC
Permalink
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but I'd
rather ask before breaking something... I'll will try and let the list
know. I am not very familiar with the code, is there a definition (i.e.
ifdef cygwin) that I can use so I can try to make a patch for future use?

Best regards,

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it
using
Post by Juan Pablo Baserga
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once
for
Post by Juan Pablo Baserga
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is
your
Post by Juan Pablo Baserga
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take
a
Post by Juan Pablo Baserga
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-04 16:54:46 UTC
Permalink
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is that they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in /usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.

Z.

PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but I'd
rather ask before breaking something... I'll will try and let the list
know.
I am not very familiar with the code, is there a definition (i.e. ifdef
cygwin) that I can use so I can try to make a patch for future use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I remember
correctly. But they are gone and I don't believe there should be any ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their own
Windows BMC interface, that I'm sure of ;) And I'm almost sure there are
more problems ahead, eg. Compilation of ipmievd on Windows.
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it using
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-04 17:22:05 UTC
Permalink
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is that they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in /usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.

Z.
Post by Zdenek Styblik
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but I'd
rather ask before breaking something... I'll will try and let the list
know.
I am not very familiar with the code, is there a definition (i.e. ifdef
cygwin) that I can use so I can try to make a patch for future use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I remember
correctly. But they are gone and I don't believe there should be any ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their own
Windows BMC interface, that I'm sure of ;) And I'm almost sure there are
more problems ahead, eg. Compilation of ipmievd on Windows.
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it using
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-04 18:25:59 UTC
Permalink
Hi Zdenek,
thank you again very much for your support. IPMIutil is working (although
it depends on VB dlls to run) with both the MS and the Intel drivers, but
it has no Nagios plugin, that's why I tried to give IPMItool a chance (as
it has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to make
this work!) and let the list know the results. If not I will try to make a
VB plugin that works with IPMIutil, guess that in any way it would be good.

Best regards,

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is that
they
Post by Zdenek Styblik
Post by Juan Pablo Baserga
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in /usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Post by Zdenek Styblik
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but
I'd
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
rather ask before breaking something... I'll will try and let the
list
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
know.
I am not very familiar with the code, is there a definition (i.e.
ifdef
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
cygwin) that I can use so I can try to make a patch for future use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I
remember
Post by Zdenek Styblik
Post by Juan Pablo Baserga
correctly. But they are gone and I don't believe there should be any
ifdefs,
Post by Zdenek Styblik
Post by Juan Pablo Baserga
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver
is dead
Post by Zdenek Styblik
Post by Juan Pablo Baserga
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their own
Windows BMC interface, that I'm sure of ;) And I'm almost sure there
are
Post by Zdenek Styblik
Post by Juan Pablo Baserga
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be something
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH
Post by Zdenek Styblik
Post by Juan Pablo Baserga
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile
it
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
using
only the lan driver (./configure --enable-intf-lanplus) everything goes
smooth; but if I try to compile the Intel driver (so I can do
inband
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo
imbapi.c
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in
this
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported only once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in
this
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go Parallel
Website,
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
sponsored by Intel and developed in partnership with Slashdot
Media,
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
is
your
hub for all things parallel software development, from weekly
thought
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
leadership blogs to news, videos, case studies, tutorials and
more.
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-04 18:46:39 UTC
Permalink
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working (although it
depends on VB dlls to run) with both the MS and the Intel drivers, but it
has no Nagios plugin, that's why I tried to give IPMItool a chance (as it
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to make
this work!) and let the list know the results. If not I will try to make a
VB plugin that works with IPMIutil, guess that in any way it would be good.
Hello Juan,

shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.

Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is that they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in /usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Post by Zdenek Styblik
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but I'd
rather ask before breaking something... I'll will try and let the list
know.
I am not very familiar with the code, is there a definition (i.e. ifdef
cygwin) that I can use so I can try to make a patch for future use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I remember
correctly. But they are gone and I don't believe there should be any ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their own
Windows BMC interface, that I'm sure of ;) And I'm almost sure there are
more problems ahead, eg. Compilation of ipmievd on Windows.
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I compile it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can do inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use in this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot
Media,
is
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Hank Bruning
2015-02-05 10:33:36 UTC
Permalink
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.

Hank Bruning
JBlade
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
Post by Juan Pablo Baserga
depends on VB dlls to run) with both the MS and the Intel drivers, but it
has no Nagios plugin, that's why I tried to give IPMItool a chance (as it
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to
make
Post by Juan Pablo Baserga
this work!) and let the list know the results. If not I will try to make
a
Post by Juan Pablo Baserga
VB plugin that works with IPMIutil, guess that in any way it would be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik <
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga <
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is
that
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can
have
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in /usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but I'd
rather ask before breaking something... I'll will try and let the list
know.
I am not very familiar with the code, is there a definition (i.e. ifdef
cygwin) that I can use so I can try to make a patch for future
use?
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I remember
correctly. But they are gone and I don't believe there should be any ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their
own
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Windows BMC interface, that I'm sure of ;) And I'm almost sure there are
more problems ahead, eg. Compilation of ipmievd on Windows.
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik <
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use
in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use
in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a
Cywin
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go Parallel
Website,
sponsored by Intel and developed in partnership with Slashdot
Media,
is
your
hub for all things parallel software development, from weekly
thought
leadership blogs to news, videos, case studies, tutorials and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-05 18:25:47 UTC
Permalink
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a
special architecture (collectors, etc) to be feasible.

As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in Windows

Thank you very much for your input.

Best regards,

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
Post by Juan Pablo Baserga
depends on VB dlls to run) with both the MS and the Intel drivers, but
it
Post by Juan Pablo Baserga
has no Nagios plugin, that's why I tried to give IPMItool a chance (as
it
Post by Juan Pablo Baserga
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to
make
Post by Juan Pablo Baserga
this work!) and let the list know the results. If not I will try to
make a
Post by Juan Pablo Baserga
VB plugin that works with IPMIutil, guess that in any way it would be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik <
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga <
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is
that
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have
the
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
possibility to link the LAN interface of the IPMI board) so I can
have
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in
/usr/include/asm-generic/param.h
Post by Juan Pablo Baserga
on Linux/Unix platforms and it's written in the same way(ifndef).
I've
Post by Juan Pablo Baserga
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool
on
Post by Juan Pablo Baserga
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure
if
Post by Juan Pablo Baserga
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are
welcome
Post by Juan Pablo Baserga
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that,
but
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
I'd
rather ask before breaking something... I'll will try and let the list
know.
I am not very familiar with the code, is there a definition (i.e. ifdef
cygwin) that I can use so I can try to make a patch for future
use?
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I remember
correctly. But they are gone and I don't believe there should be
any
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool
on
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB
driver
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part
of
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Hardware Management Pack. They're not using cygwin and have their
own
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Windows BMC interface, that I'm sure of ;) And I'm almost sure
there
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik <
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use
in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first use
in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a
Cywin
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go Parallel
Website,
sponsored by Intel and developed in partnership with Slashdot
Media,
is
your
hub for all things parallel software development, from weekly
thought
leadership blogs to news, videos, case studies, tutorials and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-05 22:16:14 UTC
Permalink
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error). All
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the
list have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.

TIA

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a
special architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in Windows
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
I agree with Zdenek,
Post by Hank Bruning
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
Post by Juan Pablo Baserga
depends on VB dlls to run) with both the MS and the Intel drivers, but
it
Post by Juan Pablo Baserga
has no Nagios plugin, that's why I tried to give IPMItool a chance (as
it
Post by Juan Pablo Baserga
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to
make
Post by Juan Pablo Baserga
this work!) and let the list know the results. If not I will try to
make a
Post by Juan Pablo Baserga
VB plugin that works with IPMIutil, guess that in any way it would be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik <
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga <
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is
that
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have
the
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
possibility to link the LAN interface of the IPMI board) so I can
have
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your
particular
Post by Juan Pablo Baserga
case. This definition can be found in
/usr/include/asm-generic/param.h
Post by Juan Pablo Baserga
on Linux/Unix platforms and it's written in the same way(ifndef).
I've
Post by Juan Pablo Baserga
also seen somewhere getpagesize(), or something, can be called. But
I
Post by Juan Pablo Baserga
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool
on
Post by Juan Pablo Baserga
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure
if
Post by Juan Pablo Baserga
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are
welcome
Post by Juan Pablo Baserga
and appreciated. As I've said earlier, I thought IMB driver is up
for
Post by Juan Pablo Baserga
removal(I was really close to such proposition). If you're good at
C,
Post by Juan Pablo Baserga
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they
have
Post by Juan Pablo Baserga
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik <
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that,
but
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
I'd
rather ask before breaking something... I'll will try and let
the
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
list
know.
I am not very familiar with the code, is there a definition
(i.e.
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
ifdef
cygwin) that I can use so I can try to make a patch for future
use?
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I
remember
correctly. But they are gone and I don't believe there should be
any
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool
on
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB
driver
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part
of
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Hardware Management Pack. They're not using cygwin and have their
own
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Windows BMC interface, that I'm sure of ;) And I'm almost sure
there
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik <
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2 -fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of
the
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a
Cywin
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go Parallel
Website,
sponsored by Intel and developed in partnership with Slashdot
Media,
is
your
hub for all things parallel software development, from weekly
thought
leadership blogs to news, videos, case studies, tutorials and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-06 05:10:00 UTC
Permalink
Post by Juan Pablo Baserga
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error). All
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the list
Hello Juan,

it'd help to see compiler output/errors ;)

Thanks,
Z.
Post by Juan Pablo Baserga
have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.
TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a special
architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in Windows
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working (although it
depends on VB dlls to run) with both the MS and the Intel drivers, but it
has no Nagios plugin, that's why I tried to give IPMItool a chance (as it
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to make
this work!) and let the list know the results. If not I will try to make a
VB plugin that works with IPMIutil, guess that in any way it would be good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is that
they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have the
possibility to link the LAN interface of the IPMI board) so I can have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in
/usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called. But I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good at C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of that, but
I'd
rather ask before breaking something... I'll will try and let the
list
know.
I am not very familiar with the code, is there a definition (i.e.
ifdef
cygwin) that I can use so I can try to make a patch for future use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I
remember
correctly. But they are gone and I don't believe there should be any
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool on
Windows. Probably not ever ever, but in very long time. In other words,
you're probably in uncharted waters here. Also, I thought IMB driver
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part of
Hardware Management Pack. They're not using cygwin and have their own
Windows BMC interface, that I'm sure of ;) And I'm almost sure there
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be something
diff --git a/src/plugins/imb/imbapi.c b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2
-fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of
the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a
Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel
Website,
sponsored by Intel and developed in partnership with Slashdot
Media,
is
your
hub for all things parallel software development, from weekly
thought
leadership blogs to news, videos, case studies, tutorials and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-11 18:24:13 UTC
Permalink
Hi Zdenek,
as always thank you very much, you are right, I forgot to put the compiler
output, here it is:

$ make
make all-recursive
make[1]: Entering directory '/cygdrive/c/ipmitool-1.8.15'
Making all in lib
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/lib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/lib'
Making all in src
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
Making all in plugins
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Making all in lan
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
Making all in imb
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Making all in serial
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
/bin/sh ../libtool --silent --tag=CC --mode=link gcc -g -O2
-fno-strict-aliasing -Wreturn-type -o ipmitool.exe ipmitool.o ipmishell.o
../lib/libipmitool.la plugins/libintf.la
plugins/.libs/libintf.a(imbapi.o): In function `SendTimedImbpRequest':
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1114: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
`SendTimedLanMessageResponse_Ex':
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1040: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
`SendTimedLanMessageResponse':
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:896: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
`SendTimedEmpMessageResponse_Ex':
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:788: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
`SendTimedEmpMessageResponse':
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:643: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o):/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:530:
more undefined references to `_IO' follow
collect2: error: ld returned 1 exit status
Makefile:533: recipe for target 'ipmitool.exe' failed
make[3]: *** [ipmitool.exe] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2

(it is a recompilation, just to to show where it breaks). All the lines
that fail uses the IOCTL_IMB_SEND_MESSAGE definition

Best regards and TIA

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error). All
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the
list
Hello Juan,
it'd help to see compiler output/errors ;)
Thanks,
Z.
Post by Juan Pablo Baserga
have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.
TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a
special
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in
Windows
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is
available
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context
switching
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
On Wed, Feb 4, 2015 at 1:46 PM, Zdenek Styblik <
On Wed, Feb 4, 2015 at 7:25 PM, Juan Pablo Baserga <
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working (although it
depends on VB dlls to run) with both the MS and the Intel drivers,
but
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
it
has no Nagios plugin, that's why I tried to give IPMItool a chance
(as
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
it
has many Nagios plugins). As I told you I will try a little more (I
am
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
surprised nobody tried to do this before as it is a very basic need
of
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
hardware supervision, with the Linux servers it was a piece of cake
to
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
make
this work!) and let the list know the results. If not I will try to make a
VB plugin that works with IPMIutil, guess that in any way it would
be
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach
is
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
that
they
are using their own propietary IPMI driver, and don't support
the
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Intel/Microsoft ones. My goal is to get IPMI inband (I don't
have
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
the
possibility to link the LAN interface of the IPMI board) so I
can
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it should be
patched), just removing that line should be enough in your particular
case. This definition can be found in
/usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef). I've
also seen somewhere getpagesize(), or something, can be called.
But
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation;
ipmievd
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI
tool
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not
sure
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are welcome
and appreciated. As I've said earlier, I thought IMB driver is up for
removal(I was really close to such proposition). If you're good
at
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help?
There
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would
be
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed
up.
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of
that,
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
but
I'd
rather ask before breaking something... I'll will try and let
the
list
know.
I am not very familiar with the code, is there a definition
(i.e.
ifdef
cygwin) that I can use so I can try to make a patch for
future
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago,
if I
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
remember
correctly. But they are gone and I don't believe there should
be
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
any
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI
tool
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
on
Windows. Probably not ever ever, but in very long time. In
other
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
words,
you're probably in uncharted waters here. Also, I thought IMB
driver
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a
part
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
of
Hardware Management Pack. They're not using cygwin and have
their
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
own
Windows BMC interface, that I'm sure of ;) And I'm almost sure
there
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
diff --git a/src/plugins/imb/imbapi.c
b/src/plugins/imb/imbapi.c
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
OF
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I can
do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in imbapi.c
at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile
gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2
-fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location of
the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is
reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src'
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack a
Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go
Parallel
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Website,
sponsored by Intel and developed in partnership with
Slashdot
Media,
is
your
hub for all things parallel software development, from
weekly
thought
leadership blogs to news, videos, case studies, tutorials
and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media,
is
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more.
Take
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
a
look and join the conversation now.
http://goparallel.sourceforge.net/
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-14 20:26:41 UTC
Permalink
Post by Juan Pablo Baserga
Hi Zdenek,
as always thank you very much, you are right, I forgot to put the compiler
Hello Juan,

if you haven't figured out or given up, attached is a patch which
should get you through compilation. Previous fix is incorporated as
well.
Patch is against git, so if it doesn't apply, backport by hand. It's
like +1 include, really.

Z.
Post by Juan Pablo Baserga
$ make
make all-recursive
make[1]: Entering directory '/cygdrive/c/ipmitool-1.8.15'
Making all in lib
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/lib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/lib'
Making all in src
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
Making all in plugins
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Making all in lan
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
Making all in imb
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Making all in serial
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
/bin/sh ../libtool --silent --tag=CC --mode=link gcc -g -O2
-fno-strict-aliasing -Wreturn-type -o ipmitool.exe ipmitool.o ipmishell.o
../lib/libipmitool.la plugins/libintf.la
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1114: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1040: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:896: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:788: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:643: undefined
reference to `_IO'
more undefined references to `_IO' follow
collect2: error: ld returned 1 exit status
Makefile:533: recipe for target 'ipmitool.exe' failed
make[3]: *** [ipmitool.exe] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
(it is a recompilation, just to to show where it breaks). All the lines that
fail uses the IOCTL_IMB_SEND_MESSAGE definition
Best regards and TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error). All
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the list
Hello Juan,
it'd help to see compiler output/errors ;)
Thanks,
Z.
Post by Juan Pablo Baserga
have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.
TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a special
architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in Windows
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
On Wed, Feb 4, 2015 at 1:46 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 7:25 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
depends on VB dlls to run) with both the MS and the Intel drivers, but
it
has no Nagios plugin, that's why I tried to give IPMItool a chance (as
it
has many Nagios plugins). As I told you I will try a little more (I am
surprised nobody tried to do this before as it is a very basic need of
hardware supervision, with the Linux servers it was a piece of cake to
make
this work!) and let the list know the results. If not I will try to make a
VB plugin that works with IPMIutil, guess that in any way it would be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 14:22 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun approach is
that
they
are using their own propietary IPMI driver, and don't support the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't have
the
possibility to link the LAN interface of the IPMI board) so I can
have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got messed
up. The patch I've posted isn't necessary(more like how it
should
be
patched), just removing that line should be enough in your particular
case. This definition can be found in
/usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef).
I've
also seen somewhere getpagesize(), or something, can be called. But
I
believe this is like low-level stuff which shouldn't be done in IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation; ipmievd
code is commented out, because it wouldn't work on Windows; and that
proprietary driver is used. I have no idea how to compile IPMI tool
on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not sure
if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are
welcome
and appreciated. As I've said earlier, I thought IMB driver is up
for
removal(I was really close to such proposition). If you're good at
C,
perhaps it could make sense to reverse engineer it from the code and
rewrite from scratch. Or may be ask Microsoft/Intel for help? There
surely must be some kind of documentation/API + may be IPMI v2.0
specification, p. 69, IPMB Interface? Somebody more profound in such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they have
Windows driver. Well, it seems only ipmiutil does. May be it would be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of
that,
but
I'd
rather ask before breaking something... I'll will try and let
the
list
know.
I am not very familiar with the code, is there a definition
(i.e.
ifdef
cygwin) that I can use so I can try to make a patch for
future
use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago, if I
remember
correctly. But they are gone and I don't believe there should be
any
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI tool
on
Windows. Probably not ever ever, but in very long time. In
other
words,
you're probably in uncharted waters here. Also, I thought IMB
driver
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a part
of
Hardware Management Pack. They're not using cygwin and have their
own
Windows BMC interface, that I'm sure of ;) And I'm almost sure
there
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
diff --git a/src/plugins/imb/imbapi.c
b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin. If I
compile
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I
can
do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in
imbapi.c
at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC --mode=compile
gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2
-fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o
imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location
of
the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is
reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro 'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared (first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro 'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or lack
a
Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go
Parallel
Website,
sponsored by Intel and developed in partnership with
Slashdot
Media,
is
your
hub for all things parallel software development, from
weekly
thought
leadership blogs to news, videos, case studies, tutorials
and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Juan Pablo Baserga
2015-02-16 18:44:32 UTC
Permalink
Hi Zdenek,
no I haven't given up, just got other things in the pipeline. I have
compiled it, without problems as you predicted, but when I try to run
(ipmitool.exe fru from the command prompt), it only says "no imb driver
found at /dev/imb", at least it doesn't hang the machine :-). I guess it is
trying to connect to the driver using a Linux mechanism, not the Windows
one.

As always, thank you very much for your help!

Best regards,

Juan Pablo

Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi Zdenek,
as always thank you very much, you are right, I forgot to put the
compiler
Hello Juan,
if you haven't figured out or given up, attached is a patch which
should get you through compilation. Previous fix is incorporated as
well.
Patch is against git, so if it doesn't apply, backport by hand. It's
like +1 include, really.
Z.
Post by Juan Pablo Baserga
$ make
make all-recursive
make[1]: Entering directory '/cygdrive/c/ipmitool-1.8.15'
Making all in lib
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/lib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/lib'
Making all in src
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
Making all in plugins
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Making all in lan
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
Making all in imb
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Making all in serial
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
Post by Juan Pablo Baserga
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
Post by Juan Pablo Baserga
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
/bin/sh ../libtool --silent --tag=CC --mode=link gcc -g -O2
-fno-strict-aliasing -Wreturn-type -o ipmitool.exe ipmitool.o
ipmishell.o
Post by Juan Pablo Baserga
../lib/libipmitool.la plugins/libintf.la
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1114: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1040: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:896: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:788: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:643: undefined
reference to `_IO'
more undefined references to `_IO' follow
collect2: error: ld returned 1 exit status
Makefile:533: recipe for target 'ipmitool.exe' failed
make[3]: *** [ipmitool.exe] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
(it is a recompilation, just to to show where it breaks). All the lines
that
Post by Juan Pablo Baserga
fail uses the IOCTL_IMB_SEND_MESSAGE definition
Best regards and TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error).
All
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on
the
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
list
Hello Juan,
it'd help to see compiler output/errors ;)
Thanks,
Z.
Post by Juan Pablo Baserga
have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.
TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a special
architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an
inband
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
check. I did it for the Linux boxes, but I cannot reproduce this in Windows
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other
Operating
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the problem of
lack of CPU threads with Nagios on large scale deployments, Over
3000
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
On Wed, Feb 4, 2015 at 1:46 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 7:25 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
depends on VB dlls to run) with both the MS and the Intel
drivers,
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
but
it
has no Nagios plugin, that's why I tried to give IPMItool a
chance
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
(as
it
has many Nagios plugins). As I told you I will try a little more
(I
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
am
surprised nobody tried to do this before as it is a very basic
need
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
of
hardware supervision, with the Linux servers it was a piece of
cake
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
to
make
this work!) and let the list know the results. If not I will try
to
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
make a
VB plugin that works with IPMIutil, guess that in any way it
would
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another
story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any
work
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the
proprietary
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
driver. And I'd almost bet IMB wasn't even enabled and commented
out
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
via #ifdef. I really don't remember this particular part of the
code,
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 14:22 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun
approach
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
is
that
they
are using their own propietary IPMI driver, and don't support
the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't
have
the
possibility to link the LAN interface of the IPMI board) so I
can
have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got
messed
up. The patch I've posted isn't necessary(more like how it
should
be
patched), just removing that line should be enough in your
particular
case. This definition can be found in
/usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same way(ifndef).
I've
also seen somewhere getpagesize(), or something, can be
called.
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
But
I
believe this is like low-level stuff which shouldn't be done
in
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation;
ipmievd
code is commented out, because it wouldn't work on Windows;
and
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
that
proprietary driver is used. I have no idea how to compile IPMI
tool
on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not
sure
if
they still do nor really sure how much they'd be interested in or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are
welcome
and appreciated. As I've said earlier, I thought IMB driver is up
for
removal(I was really close to such proposition). If you're
good
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
at
C,
perhaps it could make sense to reverse engineer it from the
code
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
and
rewrite from scratch. Or may be ask Microsoft/Intel for help?
There
surely must be some kind of documentation/API + may be IPMI
v2.0
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
specification, p. 69, IPMB Interface? Somebody more profound
in
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what
you
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
need and ever worked on Windows. There must be some reason why
Sun
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
came up with their own driver. As far as I know, the only
working
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Windows version was from Oracle/Sun. However, that doesn't mean
others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and
they
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
have
Windows driver. Well, it seems only ipmiutil does. May be it
would
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got
messed
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of
that,
but
I'd
rather ask before breaking something... I'll will try and
let
the
list
know.
I am not very familiar with the code, is there a
definition
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
(i.e.
ifdef
cygwin) that I can use so I can try to make a patch for
future
use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time ago,
if I
remember
correctly. But they are gone and I don't believe there
should
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
be
any
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile IPMI
tool
on
Windows. Probably not ever ever, but in very long time. In
other
words,
you're probably in uncharted waters here. Also, I thought
IMB
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
driver
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as a
part
of
Hardware Management Pack. They're not using cygwin and have
their
own
Windows BMC interface, that I'm sure of ;) And I'm almost
sure
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
there
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
diff --git a/src/plugins/imb/imbapi.c
b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY
OF
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin.
If I
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
compile
it
using
only the lan driver (./configure --enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I
can
do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in
imbapi.c
at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC
--mode=compile
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2
-fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o
imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the location
of
the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared
(first
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro
'PAGESIZE'
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is
reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro
'PAGESIZE'
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared
(first
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro
'PAGESIZE'
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15'
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or
lack
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
a
Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Dive into the World of Parallel Programming. The Go
Parallel
Website,
sponsored by Intel and developed in partnership with
Slashdot
Media,
is
your
hub for all things parallel software development, from
weekly
thought
leadership blogs to news, videos, case studies,
tutorials
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
Dive into the World of Parallel Programming. The Go Parallel
Website,
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
sponsored by Intel and developed in partnership with Slashdot
Media,
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
is
your
hub for all things parallel software development, from weekly
thought
Post by Juan Pablo Baserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Post by Juan Pablo Baserga
Post by Hank Bruning
leadership blogs to news, videos, case studies, tutorials and more. Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Zdenek Styblik
2015-02-16 18:50:54 UTC
Permalink
Post by Juan Pablo Baserga
Hi Zdenek,
no I haven't given up, just got other things in the pipeline. I have
compiled it, without problems as you predicted, but when I try to run
(ipmitool.exe fru from the command prompt), it only says "no imb driver
found at /dev/imb", at least it doesn't hang the machine :-). I guess it is
trying to connect to the driver using a Linux mechanism, not the Windows
one.
As always, thank you very much for your help!
Hello Juan,

so did I and that's why it took me some time to respond. Anyway,
you're welcome. I'll commit those changes into git later.
As for /dev/imb, I'm afraid this is beyond my knowledge. Perhaps ask
somebody who is knowledgeable of Cygwin. I mean, even in Linux/Unix
you have to create those devices in /dev. Perhaps the same thing is
possible and needed in cygwin.

Best regards,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Zdenek Styblik
Post by Juan Pablo Baserga
Hi Zdenek,
as always thank you very much, you are right, I forgot to put the compiler
Hello Juan,
if you haven't figured out or given up, attached is a patch which
should get you through compilation. Previous fix is incorporated as
well.
Patch is against git, so if it doesn't apply, backport by hand. It's
like +1 include, really.
Z.
Post by Juan Pablo Baserga
$ make
make all-recursive
make[1]: Entering directory '/cygdrive/c/ipmitool-1.8.15'
Making all in lib
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/lib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/lib'
Making all in src
make[2]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
Making all in plugins
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
Making all in lan
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/lan'
Making all in imb
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Making all in serial
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/serial'
make[4]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src/plugins'
make[3]: Entering directory '/cygdrive/c/ipmitool-1.8.15/src'
/bin/sh ../libtool --silent --tag=CC --mode=link gcc -g -O2
-fno-strict-aliasing -Wreturn-type -o ipmitool.exe ipmitool.o ipmishell.o
../lib/libipmitool.la plugins/libintf.la
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1114: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:1040: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:896: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:788: undefined
reference to `_IO'
plugins/.libs/libintf.a(imbapi.o): In function
/cygdrive/c/ipmitool-1.8.15/src/plugins/imb/imbapi.c:643: undefined
reference to `_IO'
more undefined references to `_IO' follow
collect2: error: ld returned 1 exit status
Makefile:533: recipe for target 'ipmitool.exe' failed
make[3]: *** [ipmitool.exe] Error 1
make[3]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
(it is a recompilation, just to to show where it breaks). All the lines that
fail uses the IOCTL_IMB_SEND_MESSAGE definition
Best regards and TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
On Thu, Feb 5, 2015 at 11:16 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi all,
I commented the PAGESIZE definition as Zdenek suggested and, as he
predicted, got errors with libtool (at least no compilation error). All
errors are related to IOCTL_IMB_SEND_MESSAGE definition. If some on the
list
Hello Juan,
it'd help to see compiler output/errors ;)
Thanks,
Z.
Post by Juan Pablo Baserga
have a clue to go over this, I can try again, if not, I will resort to
create a plugin for ipmiutil.
TIA
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Juan Pablo Baserga
Hello Hank,
thanks very much for your answer. Fortunately my case is not one of size
but your comment is true. IPMI or not IPMI 3,000 machines deserves a special
architecture (collectors, etc) to be feasible.
As I told Zdenek, I cannot connect the BMCs to LAN, so I need an inband
check. I did it for the Linux boxes, but I cannot reproduce this in Windows
Thank you very much for your input.
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
Post by Hank Bruning
I agree with Zdenek,
Rewrite the plug in. The reason the reason windows (or other Operating
Systems) are not supported is that the identical information is available
using IPMI RMCP when no operating system is running.
Either way, OS vs no OS, you still are going to run into the
problem
of
lack of CPU threads with Nagios on large scale deployments, Over 3000
servers and the monitoring system spends more time thread context switching
than collecting IPMI data. Solve that problem and the IMB becomes
irrelevant.
Hank Bruning
JBlade
On Wed, Feb 4, 2015 at 1:46 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 7:25 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you again very much for your support. IPMIutil is working
(although it
depends on VB dlls to run) with both the MS and the Intel drivers,
but
it
has no Nagios plugin, that's why I tried to give IPMItool a chance
(as
it
has many Nagios plugins). As I told you I will try a little more (I
am
surprised nobody tried to do this before as it is a very basic need
of
hardware supervision, with the Linux servers it was a piece of cake
to
make
this work!) and let the list know the results. If not I will try to
make a
VB plugin that works with IPMIutil, guess that in any way it would
be
good.
Hello Juan,
shooting ideas is cheap. To put code where mouth is, that's another
story. :)
Now, bad project management and so on, but given your use case, I'd
almost question whether it wouldn't be faster to rewrite those plugins
to use IPMIutil. I'm not familiar with it, though, so I might be
wrong. But Nagios plugins - should be easy enough. And yes, any work
on Windows port of IPMI Tool will be/is appreciated!
As for VB thing, I believe the main reason for it was the proprietary
driver. And I'd almost bet IMB wasn't even enabled and commented out
via #ifdef. I really don't remember this particular part of the code,
sorry.
Good luck,
Z.
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 14:22 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 5:54 PM, Zdenek Styblik
On Wed, Feb 4, 2015 at 4:24 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Zdenek,
thanks again on this, The problem with the Oracle/Sun
approach
is
that
they
are using their own propietary IPMI driver, and don't support
the
Intel/Microsoft ones. My goal is to get IPMI inband (I don't
have
the
possibility to link the LAN interface of the IPMI board) so I
can
have
visibility of sensors for Nagios management.
I'll give the patch a try and let the list know!
Best regards
Juan Pablo
Sorry Juan, I've sent that reply from mobile phone and it got
messed
up. The patch I've posted isn't necessary(more like how it
should
be
patched), just removing that line should be enough in your
particular
case. This definition can be found in
/usr/include/asm-generic/param.h
on Linux/Unix platforms and it's written in the same
way(ifndef).
I've
also seen somewhere getpagesize(), or something, can be called.
But
I
believe this is like low-level stuff which shouldn't be done
in
IPMI
tool and definition from param.h should be used.
As for Oracle/Sun, true. I know VB is used for compilation;
ipmievd
code is commented out, because it wouldn't work on Windows;
and
that
proprietary driver is used. I have no idea how to compile IPMI
tool
on
Windows in pretty much any way, I'm sorry.
Couple people from Intel used to hang around here, but I'm not
sure
if
they still do nor really sure how much they'd be interested
in
or
willing to help.
Also, I'm sure any patches and how-to_s related to Windows are
welcome
and appreciated. As I've said earlier, I thought IMB driver
is
up
for
removal(I was really close to such proposition). If you're good
at
C,
perhaps it could make sense to reverse engineer it from the
code
and
rewrite from scratch. Or may be ask Microsoft/Intel for help?
There
surely must be some kind of documentation/API + may be IPMI
v2.0
specification, p. 69, IPMB Interface? Somebody more profound
in
such
things could/should answer that.
If you have more questions or anything, ask. I'll try to pitch
ideas/help as much as I can.
Actually, one question and that's whether IMB really does what you
need and ever worked on Windows. There must be some reason why Sun
came up with their own driver. As far as I know, the only working
Windows version was from Oracle/Sun. However, that doesn't mean
others
have tried, failed and given up(= may be nobody really tried).
Also, there are other open-source IPMI client tools,
http://ipmiutil.sourceforge.net/docs/ipmisw-compare.htm, and they
have
Windows driver. Well, it seems only ipmiutil does. May be it would
be
possible(and better/faster?) to port it.
Z.
Z.
PS: mailing list on CC again. As I've said, my reply got messed
up.
Post by Juan Pablo Baserga
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 12:10 GMT-03:00 Zdenek Styblik
On Wed, Feb 4, 2015 at 1:36 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi Zdenek,
thank you very much for your prompt answer. I thought of
that,
but
I'd
rather ask before breaking something... I'll will try and
let
the
list
know.
I am not very familiar with the code, is there a
definition
(i.e.
ifdef
cygwin) that I can use so I can try to make a patch for
future
use?
Juan,
you're welcome. To be honest, I don't know where to start.
There used to be #ifdef for cygwin very, very long time
ago,
if I
remember
correctly. But they are gone and I don't believe there
should
be
any
ifdefs,
although I might be wrong about this one.
I don't think there is anyone whom has tried to compile
IPMI
tool
on
Windows. Probably not ever ever, but in very long time. In
other
words,
you're probably in uncharted waters here. Also, I thought
IMB
driver
is dead
by now and nobody is using it for real.
There is a precompiled version of IPMI tool from Oracle as
a
part
of
Hardware Management Pack. They're not using cygwin and have
their
own
Windows BMC interface, that I'm sure of ;) And I'm almost
sure
there
are
more problems ahead, eg. Compilation of ipmievd on Windows.
As for better work-around/patch in this case, it should be
something
diff --git a/src/plugins/imb/imbapi.c
b/src/plugins/imb/imbapi.c
index 111df62..507fa01 100644
--- a/src/plugins/imb/imbapi.c
+++ b/src/plugins/imb/imbapi.c
@@ -104,7 +104,9 @@ SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY
OF
SUCH
DAMAGE.
#define IMB_DEVICE "/dev/instru/mismic"
#else
#define IMB_DEVICE "/dev/imb"
-#define PAGESIZE EXEC_PAGESIZE
+# ifndef PAGESIZE
+# define PAGESIZE EXEC_PAGESIZE
+# endif
#endif
/*Just to make the DEB
Post by Juan Pablo Baserga
Best regards,
Juan Pablo
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
2015-02-04 8:29 GMT-03:00 Zdenek Styblik
On Tue, Feb 3, 2015 at 11:27 PM, Juan Pablo Baserga
Post by Juan Pablo Baserga
Hi,
I am trying to compile ipmitool-1.8.15 under Cygwin.
If I
compile
it
using
only the lan driver (./configure
--enable-intf-lanplus)
everything
goes
smooth; but if I try to compile the Intel driver (so I
can
do
inband
management in Windows) it gives an error.
Hello Juan,
you can try to remove (re)definition of PAGESIZE in
imbapi.c
at
line
107, but it's a wild guess to be honest.
I'm almost sure there are more surprises ahead.
Good luck to you,
Z.
Post by Juan Pablo Baserga
./configure --enable-intf-lanplus --enable-intf-imb
configure runs ok
make
make[4]: Entering directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
/bin/sh ../../../libtool --silent --tag=CC
--mode=compile
gcc
-DHAVE_CONFIG_H
-I. -I../../.. -I../../../include -g -O2
-fno-strict-aliasing
-Wreturn-type
-MT imbapi.lo -MD -MP -MF .deps/imbapi.Tpo -c -o
imbapi.lo
imbapi.c
imbapi.c:107:0: warning: "PAGESIZE" redefined
#define PAGESIZE EXEC_PAGESIZE
^
In file included from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:1
68:0,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/syslimits.
h:7,
from
/usr/lib/gcc/i686-pc-cygwin/4.9.2/include-fixed/limits.h:3
4,
from /usr/include/sys/param.h:15,
/usr/include/limits.h:211:0: note: this is the
location
of
the
previous
definiti
on
#define PAGESIZE 65536
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared
(first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro
'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: note: each undeclared identifier is
reported
only
once
for
each
function it appears in
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:1999:30: note: in expansion of macro
'PAGESIZE'
diff = (int)startpAddress % PAGESIZE;
^
imbapi.c:107:18: error: 'EXEC_PAGESIZE' undeclared
(first
use in
this
function)
#define PAGESIZE EXEC_PAGESIZE
^
imbapi.c:2045:44: note: in expansion of macro
'PAGESIZE'
diff = ((unsigned int) virtualAddress) % PAGESIZE;
^
Makefile:417: recipe for target 'imbapi.lo' failed
make[4]: *** [imbapi.lo] Error 1
make[4]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins/imb'
Makefile:481: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src/plugins'
Makefile:580: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15/src'
Makefile:454: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
'/cygdrive/c/ipmitool-1.8.15'
Makefile:385: recipe for target 'all' failed
make: *** [all] Error 2
Do I need to use any other switches in configure or
lack
a
Cywin
package?
Thanks in advance for your help!
Best regards,
Juan Pablo Baserga
Consultor Independiente/Independent Consultant
Mobile/Linux/High Availability/Internet/Business
Intelligence
Cel: +54-911-5318-1127
Phone: +54-11-4799-8237
Skype: jbaserga
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go
Parallel
Website,
sponsored by Intel and developed in partnership with
Slashdot
Media,
is
your
hub for all things parallel software development, from
weekly
thought
leadership blogs to news, videos, case studies,
tutorials
and
more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media,
is
your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more.
Take
a
look and join the conversation now.
http://goparallel.sourceforge.net/
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Loading...