On Sun, Sep 23, 2012 at 9:28 PM, Zdenek Styblik
<zdenek.styb...@gmail.com> wrote:
> Hello all,
>
> pardon a bit ambiguous and perhaps a bit poetic subject. I've noticed
> following # ./configure --enable-intf-open --enable-intf-bmc ; doesn't
> result in what I'd expected. That is enabling interface BMC and
> OpenIPMI. I've filled bug for the former, because there is a bug in
> configure.in which disables BMC interface on SPARC platform. Yes, I do
> dare call it a bug, because that's what it is. The latter, OpenIPMI,
> should work automagically. That is, if foo.h is not found, then try
> bar.h, then try something else, and if everything else fails, use
> "internal" header file. That's what configure output tells you anyway.
> None the less, you'll end up with ``open: no'' and OpenIPMI interface
> doesn't get compiled in. Actually, I'm going to fill artifact(why
> SF.net, why? I mean, omg!) as well.
>
> Now, when I say, execute, # ./configure --enable-intf-bmc
> --enable-intf-open ; shouldn't I get what I want? And if something is
> missing, say header files, shouldn't I be told about it with #
> ./configure; crashing big time, eg. like when no C compiler could be
> found? I believe this should be the very same case.
> I haven't investigated this deeply (yet). There are per-os-type
> defaults which are great. And they should be over-ridable. However, it
> seems they're not.
>
> What do you think; bug or feature?
>
> Regards,
> Z.

Ok, I've spent some considerable time debugging this issue. It turns
out the poor choice of variable names is to blame. To be more
specific, you shouldn't use and re-use variables the (M4) macros are
using.
Attached is a patch that fixes issues with enabling/disabling
ipmitool's support for interfaces. If there are no objections and
comments, I will commit it by the end of (next) week. Please, do the
diff review; test it; try to break it as well!

However, issue with # ./configure; not failing big time when some
library/header is not found remains. I haven't poked into it and is
perhaps for another run. What I mean is shown below:
~~~
# ./configure --disable-intf-lanplus --disable-intf-open
--enable-intf-bmc --enable-intf-lipmi
[...]
checking for termios.h... yes
checking sys/lipmi/lipmi_intf.h usability... no
checking sys/lipmi/lipmi_intf.h presence... no
checking for sys/lipmi/lipmi_intf.h... no
** Unable to build Solaris 9 x86 IPMI interface support!
checking for library containing tgetent... -lncurses
[...]
config.status: executing depfiles commands
config.status: executing libtool commands

ipmitool 1.8.12

Interfaces
  lan     : yes
  lanplus : no
  open    : no
  free    : no
  imb     : yes
  bmc     : yes
  lipmi   : no

Extra tools
  ipmievd   : yes
  ipmishell : yes

~~~

If you can't build feature user has requested, then fail big time.
Some checks, however, are sacrifice between speed/simplicity and
"logic". I mean, eg. OpenIPMI is being checked regardless whether
OpenIPMI interface is enabled or not. And the very same goes for LAN
interfaces. I presume it is easier and faster do it this way. And it
doesn't make sense to fail in these cases since result is used later
on. However, # ./configure ; should fail later on when, eg. user
requested LAN+ interface, yet he lacks OpenSSL libraries.

Have a nice day,
Z.

Attachment: configure.in.diff
Description: Binary data

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to