Subject: | bug after installing HiPi on Raspberry Pi zero W |
Date: | Mon, 12 Jun 2017 14:10:14 +0100 |
To: | bug-HiPi-BCM2835 [...] rt.cpan.org |
From: | Giles Godart-Brown <ggodartbrown [...] gmail.com> |
Hi there
I'm having trouble installing HiPi on my Pi zero running Raspian 8 (Jessie)
The standard install fails during the make test phase e.g.
perl hipi-install
...
Building HiPi
Building bcm2835 library
SH configure
/var/tmp/_hipiinstall/HiPi-0.50/BCM2835/src/missing: Unknown
`--is-lightweight' option
Try `/var/tmp/_hipiinstall/HiPi-0.50/BCM2835/src/missing --help' for
more information
configure: WARNING: 'missing' script is too old or missing
configure: WARNING: Doxygen not found - continuing without Doxygen support
SH make
Making all in src
Making all in doc
Building XS Files
CC -o Utils.o
CC -o Utils.so
CC -o Exec.o
CC -o Exec.so
CC -o I2C.o
CC -o I2C.so
CC -o SPI.o
CC -o SPI.so
CC -o BCM2835.o
CC -o BCM2835.so
CC -o Wiring.o
CC -o Wiring.so
Build Complete
HiPi Modules have been built
Building HiPi
Building bcm2835 library
Building XS Files
Build Complete
t/000-load.t ....... ok
t/005-basic.t ...... Undefined subroutine &HiPi::Wiring::piBoardRev
called at t/005-basic.t line 12.
# Looks like your test exited with 255 before it could output anything.
and if I use cpan to install HiPi::BCM2835
sudo cpan install HiPi::BCM2835
sudo cpan install HiPi::Constant
sudo cpan install HiPi::Utils
The installs appear to run OK, but I get the following error when I try
to execute a simple perl script
sudo perl relay3.pl
"raspberry" is not defined in %HiPi::Constant::EXPORT_TAGS at relay3.pl
line 2.
main::BEGIN() called at relay3.pl line 2
eval {...} called at relay3.pl line 2
Can't continue after import errors at relay3.pl line 2.
BEGIN failed--compilation aborted at relay3.pl line 2.
My test script is
use HiPi::BCM2835;
use HiPi::Constant qw( :raspberry );
use HiPi::Utils;
my ( $user, $group ) = ( 'pi', 'pi' );
my $relaypin = 16;
my $readpin = 26;
my $level = 0;
my $bcm = HiPi::BCM2835->new();
HiPi::Utils::drop_permissions_name( $user, $group );
$bcm->gpio_fsel( $relaypin, BCM2835_GPIO_FSEL_OUTP);
$bcm->gpio_fsel( $readpin, BCM2835_GPIO_FSEL_INTP);
print "turning on\n";
$bcm->gpio_write( $relaypin, 1 );
$level = $bcm->gpio_lev( $readpin );
print "level = " . $level . "\n";
sleep 10;
print "turning off\n";
$bcm->gpio_write( $relaypin, 0 );
$level = $bcm->gpio_lev( $readpin );
print "level = " . $level . "\n";
Hope you can help,
Thanks
Giles