[Nut-upsuser] USB UPS on Solaris

Karl Dalen k_dal2 at hotmail.com
Thu Feb 7 03:37:21 UTC 2008


(resent)

Hi Arnaud,

> Date: Wed, 6 Feb 2008 10:38:24 +0100
> From: aquette.dev at gmail.com
> To: k_dal2 at hotmail.com
> Subject: Re: [Nut-upsuser] USB UPS on Solaris
> CC: nut-upsuser at lists.alioth.debian.org
> 
> Hi Karl,
> 
> 2008/2/6, Karl Dalen <k_dal2 at hotmail.com>:
> >
> >  Hi Arnaud,
> >
> > Thanks for posting the README for nut on Solaris.
> > I'm using mostly Solaris machines and I found out about NUT
> > after I had already written a small application that reads
> > input reports from a hid compliant UPS. I did not use
> > libusb but used the usb_ugen interface directly.
> 
> something like that ;-)
> 
> ??????????????????????????????????????????????????????????
http://developers.sun.com/solaris/developer/support/driver/docs/usbups_whitepaper.html

Yes I started with the usbups_whitepaper template. It needed a lot of modifications.
The endian assumed was big (for Sparc) but x86 has little endian among
other things and the report descriptor parsing I had to understand.

Now, I noticed two different problems in NUT: 1) when using '--without-snmp'
and 2) when not using '--without-snmp' option.

1) Looks good so far. After I fixed a compilation error in libusb.c the package
did build cleanly without errors or warnings for this configuration. Will have to wait
till tomorrow till I can try the  usbhid-ups driver from this build on a real
Solaris 10 system.  Will let you know if the USB interface works with my tripplite UPS.
I was using gcc 3.4.3 which comes with Solaris 10 (I also have gcc 4.2.1 installed
so I can try it on that version if needed).
The fix I did in libusb.c was simply to add in the beginning of libusb.c:
#ifdef SUN_LIBUSB
static void libusb_close();
#endif
since this function otherwise will be referenced further down before being defined.

2) With snmp, this is still not resolved. Although I'm personally not using snmp we still
want to have the whole package being built cleanly. I have attached the config.log for
this case:

setenv PATH '/usr/sfw/bin:/usr/ccs/bin:/usr/local/bin:/opt/sfw/bin:/opt/inst/bin:/bin:/usr/bin:/opt/SUNWspro/b
in:/usr/ucb:/home/pdl/bin:/usr/dt/bin:/usr/sbin:/sbin:/usr/openwin/bin'
./configure --with-usb=auto --prefix=/opt/inst/local/nut --with-statepath=/var/ups --with-user=pdl --with-grou
p=pdl

/usr/sfw/bin/gmake

The error seems to occur at the generation of snmp-ups:
:
if gcc -DHAVE_CONFIG_H -I. -I. -I../include    -I../include  -I/usr/sfw/include -g -Dsolaris2 -I. -I/usr/sfw/i
nclude  -O -Wall -Wsign-compare -MT snmp-ups.o -MD -MP -MF '.deps/snmp-ups.Tpo' -c -o snmp-ups.o snmp-ups.c; \
then mv -f '.deps/snmp-ups.Tpo' '.deps/snmp-ups.Po'; else rm -f '.deps/snmp-ups.Tpo'; exit 1; fi
/bin/bash ../libtool --tag=CC --mode=link gcc -I../include  -I/usr/sfw/include -g -Dsolaris2 -I. -I/usr/sfw/in
clude  -O -Wall -Wsign-compare   -o snmp-ups  snmp-ups.o ../common/libcommon.a ../common/upsconf.o ../common/p
arseconf.o ../common/state.o main.o dstate.o -R../lib -L/usr/sfw/lib -lnetsnmp -lgen -lpkcs11 -lkstat -lelf -l
m -ldl -lnsl -lsocket -ladm -lrt -lsocket -lnsl
libtool: link: only absolute run-paths are allowed
gmake[1]: *** [snmp-ups] Error 1
gmake[1]: Leaving directory `/opt/inst/packages/nut/nut-2.2.1/drivers'
gmake: *** [all-recursive] Error 1


Another thing: one path you might want to add in PATH in the Solaris readme is /opt/sfw/bin
since some gnu utilities get installed in /usr/sfw/bin and others in /opt/sfw/bin.

Thanks,
/Karl D.

> 
> > Now, I would still be interested in getting the full nut,
> > in particular the usbhid-ups driver, to work under Solaris.
> > I recently successfully installed NUT on a Linux machine and
> > I'm using usbhid-ups there.
> >
> > I have a minor problem in building NUT for Solaris. I'm using
> > Solaris 10, update 3 From the make script I get the error:
> >
> > libtool: link: only absolute run-paths are allowed
> > gmake[1]: *** [snmp-ups] Error 1
> >
> > I'm installing as:
> > ./configure --with-usb=auto --prefix=/opt/inst/local/nut
> > --with-statepath=/var/ups --with-user=pdl --
> > with-group=pdl
> 
> if you don't use snmp-ups, add '--without-snmp' to your configure options.
> 
> Note that I'm interested in looking at your config.log and build
> output since NUT 2.4 might face the same problem but on core features
> (libupsclient, used by upsc/upsmon/...)
> 
> > /usr/sfw/bin/gmake
> >
> > Any idea on how to fix that? I saw in your README that you
> > referred to the distribution file as 'nut-2.1.0-Solaris_USB.tar.gz'
> > Is there a special version for Solaris I should use ?
> 
> now, that's simply a README I've made for an MGE customer when I've
> adapted usbhid-ups to Solaris. These kind of reference have to be
> removed.
> 
> > I am using the regular nut-2.2.1.tar.gz source.
> >
> > Any help would be appreciated.
> 
> Arnaud
> -- 
> Linux / Unix Expert R&D - MGE Office Protection Systems - http://www.mgeops.com
> Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
> Debian Developer - http://people.debian.org/~aquette/
> Free Software Developer - http://arnaud.quette.free.fr/

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20080207/26cfc5f1/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.log.gz
Type: application/x-tar
Size: 11977 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20080207/26cfc5f1/attachment-0001.tar 


More information about the Nut-upsuser mailing list