Skip Menu |

This queue is for tickets about the HiPi CPAN distribution.

Report information
The Basics
Id: 86100
Status: resolved
Priority: 0/
Queue: HiPi

People
Owner: mdootson [...] cpan.org
Requestors: BlueT [...] BlueT.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: (no value)
Fixed in: 0.50



Subject: install (build) failed with Utils.c
On raspbian. Build with command $ perl hipi-install --hipi-wx=0 Got error: Utils.c: In function ‘XS_HiPi__Utils_drop_permissions_id’: Utils.c:199:2: error: ‘PL_gid’ undeclared (first use in this function) Utils.c:199:2: note: each undeclared identifier is reported only once for each function it appears in Utils.c:200:2: error: ‘PL_egid’ undeclared (first use in this function) Utils.c:212:5: error: ‘PL_uid’ undeclared (first use in this function) Utils.c:213:5: error: ‘PL_euid’ undeclared (first use in this function) Failed with exit code 256 cc -c -o Utils.o -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.33\" -DXS_VERSION=\"0.33\" -fPIC -Imylib/include -I/home/pi/perl5/perlbrew/perls/perl-5.16.1/lib/5.16.3/armv6l-linux/CORE Utils.c Failed to run perl Build at hipi-install line 97. pi@raspberrypi ~ $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.0 (wheezy) Release: 7.0 Codename: wheezy pi@raspberrypi ~ $ uname -a Linux raspberrypi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l GNU/Linux pi@raspberrypi ~ $ sudo apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf Thread model: posix gcc version 4.6.3 (Debian 4.6.3-14+rpi1) Perl version v5.16.3 built for armv6l-linux I also noticed there are some warnings about automake1.12, but raspbian has only automake1.11 in it's package pool. How did you get automake1.12? pi@raspberrypi ~ $ cat /etc/apt/sources.list deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi pi@raspberrypi ~ $ cat /etc/apt/sources.list.d/* deb http://archive.raspberrypi.org/debian/ wheezy main Hope those info helps... Best wishes, BlueT
Subject: hipi-install.log

Message body is not shown because it is too large.

From: bitcard [...] ew.ewheeler.org
Mark, PL_e?[ug]id was deprecated around Perl 3.15 or so. The code needs refactored to setuid's in a different way, it doesn't build on Debian 8 jessie. Commenting the PL_e?[ug]id lines will fix the problem unless you expect to switch uid/gid's during operation. Here are some relevant references: http://search.cpan.org/~abigail/perl-5.15.9/pod/perl5158delta.pod#$%3C,_$%3E,_$%28_and_$%29_are_no_longer_cached https://rt.cpan.org/Public/Bug/Display.html?id=76356
For anyone who needs a quick fix, here's a patch that addresses the issue by disabling the permissions changing feature. --- HiPi-0.33/Utils.xs 2013-05-20 21:42:32.000000000 -0500 +++ Utils.xs 2016-01-15 19:03:36.571094451 -0600 @@ -37,8 +37,8 @@ if (rgid != togid || egid != togid || sgid != togid) croak("Failed to drop gid privileges."); - PL_gid = togid; - PL_egid = togid; + //PL_gid = togid; + //PL_egid = togid; } if (setresuid(touid,touid,touid) < 0) @@ -50,5 +50,5 @@ if (ruid != touid || euid != touid || suid != touid) croak("Failed to drop uid privileges."); - PL_uid = touid; - PL_euid = touid; + //PL_uid = touid; + //PL_euid = touid;
Current builds fix this issue. On Sat Jun 13 23:25:41 2015, theg33kb0y wrote: Show quoted text
> Mark, > > PL_e?[ug]id was deprecated around Perl 3.15 or so. The code needs > refactored to setuid's in a different way, it doesn't build on Debian > 8 jessie. > > Commenting the PL_e?[ug]id lines will fix the problem unless you > expect to switch uid/gid's during operation. > > Here are some relevant references: > http://search.cpan.org/~abigail/perl- > 5.15.9/pod/perl5158delta.pod#$%3C,_$%3E,_$%28_and_$%29_are_no_longer_cached > > https://rt.cpan.org/Public/Bug/Display.html?id=76356
This issue fixed some time ago. I'm marking resolved. Feel free to reopen if you think the issue remains.