cpanm perl module installation failed on 'make' and 'make test' - linux

I asked a question regarding configure does not generate makefile while building perl from source. While awaiting for a solution, here is another (possibly relevant) question. When I install perl modules for the system perl via something like sudo cpanm Try::Tiny it fails with following log:
cpanm (App::cpanminus) 1.7040 on perl 5.018002 built for x86_64-linux-gnu-thread-multi
Work directory is /home/zxu/.cpanm/work/1462290395.17141
You have make /usr/bin/make
You have LWP 6.05
You have /bin/tar: tar (GNU tar) 1.27.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Try::Tiny () on cpanmetadb ...
--> Working on Try::Tiny
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.24.tar.gz
-> OK
Unpacking Try-Tiny-0.24.tar.gz
Entering Try-Tiny-0.24
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (6.66)
Configuring Try-Tiny-0.24
Running Makefile.PL
Checking if your kit is complete...
Warning: the following files are missing in your kit:
lib/Try/Tiny.pm
maint/bench.pl
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/basic.t
t/context.t
t/erroneous_usage.t
t/finally.t
t/given_when.t
t/global_destruction_forked.t
t/global_destruction_load.t
t/lib/TryUser.pm
t/named.t
t/when.t
xt/author/00-compile.t
xt/author/eol.t
xt/author/kwalitee.t
xt/author/mojibake.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-spell.t
xt/author/pod-syntax.t
xt/release/changes_has_content.t
xt/release/cpan-changes.t
xt/release/distmeta.t
xt/release/pod-no404s.t
xt/release/portability.t
Please inform the author.
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Writing Makefile for Try::Tiny
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have warnings 0 ... Yes (1.18)
Checking if you have constant 0 ... Yes (1.27)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66)
Checking if you have if 0 ... Yes (0.0602)
Checking if you have strict 0 ... Yes (1.07)
Checking if you have Exporter 5.57 ... Yes (5.68)
Checking if you have File::Spec 0 ... Yes (3.40)
Checking if you have Carp 0 ... Yes (1.29)
Checking if you have Test::More 0 ... Yes (1.001014)
Building and testing Try-Tiny-0.24
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 6.66
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 6.66
#
# === Test Requires ===
#
# Module Want Have
# ------------------- ---- --------
# ExtUtils::MakeMaker any 6.66
# File::Spec any 3.40
# Test::More any 1.001014
# if any 0.0602
#
# === Test Recommends ===
#
# Module Want Have
# ------------- -------- --------
# CPAN::Meta 2.120900 2.133380
# Capture::Tiny 0.12 missing
#
# === Test Suggests ===
#
# Module Want Have
# --------- ---- -------
# Sub::Util any missing
#
# === Runtime Requires ===
#
# Module Want Have
# -------- ---- ----
# Carp any 1.29
# Exporter 5.57 5.68
# constant any 1.27
# strict any 1.07
# warnings any 1.18
#
# === Other Modules ===
#
# Module Have
# ------------- -------
# Pod::Coverage missing
#
t/00-report-prereqs.t .......... ok
Can't locate Try/Tiny.pm in #INC (you may need to install the Try::Tiny module) (#INC contains: /home/zxu/.cpanm/work/1462290395.17141/Try-Tiny-0.24/blib/lib /home/zxu/.cpanm/work/1462290395.17141/Try-Tin
y-0.24/blib/arch /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at t/basic.t line 8.
BEGIN failed--compilation aborted at t/basic.t line 8.
# Looks like your test exited with 2 before it could output anything.
t/basic.t ......................
Dubious, test returned 2 (wstat 512, 0x200)
Failed 25/25 subtests
Can't locate Try/Tiny.pm in #INC (you may need to install the Try::Tiny module) (#INC contains: /home/zxu/.cpanm/work/1462290395.17141/Try-Tiny-0.24/blib/lib /home/zxu/.cpanm/work/1462290395.17141/Try-Tiny-0.24/blib/arch /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at t/context.t line 6.
BEGIN failed--compilation aborted at t/context.t line 6.
... ... ##more tests failure
Test Summary Report
-------------------
t/basic.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 25 tests but ran 0.
t/context.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
t/erroneous_usage.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 8 tests but ran 0.
t/finally.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 27 tests but ran 0.
t/given_when.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 2 tests but ran 0.
t/global_destruction_forked.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 3 tests but ran 0.
t/when.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 5 tests but ran 0.
Files=10, Tests=1, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.23 cusr 0.02 csys = 0.28 CPU)
Result: FAIL
Failed 7/10 test programs. 0/1 subtests failed.
make: *** [test_dynamic] Error 2
-> FAIL Installing Try::Tiny failed. See /home/zxu/.cpanm/work/1462290395.17141/build.log for details. Retry with --force to force install it.
, and if I run sudo -s, cd to the downloaded module directory and run perl Makefile.PL && make && make test, the tests fail again (compared with the cpanm log, no missing file warnings anymore):
Writing Makefile for Try::Tiny
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /usr/share/perl/5.18/ExtUtils/MakeMaker.pm line 1034.
Writing MYMETA.yml and MYMETA.json
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-report-prereqs.t .......... #
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 6.66
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 6.66
#
# === Test Requires ===
#
# Module Want Have
# ------------------- ---- --------
# ExtUtils::MakeMaker any 6.66
# File::Spec any 3.40
# Test::More any 1.001014
# if any 0.0602
#
# === Test Recommends ===
#
# Module Want Have
# ------------- -------- --------
# CPAN::Meta 2.120900 2.133380
# Capture::Tiny 0.12 missing
#
# === Test Suggests ===
#
# Module Want Have
# --------- ---- -------
# Sub::Util any missing
#
# === Runtime Requires ===
#
# Module Want Have
# -------- ---- ----
# Carp any 1.29
# Exporter 5.57 5.68
# constant any 1.27
# strict any 1.07
# warnings any 1.18
#
# === Other Modules ===
#
# Module Have
# ------------- -------
# Pod::Coverage missing
#
t/00-report-prereqs.t .......... ok
t/basic.t ...................... Can't locate Try/Tiny.pm in #INC (you may need to install the Try::Tiny module) (#INC contains: /home/zxu/.cpanm/work/1462290395.17141/Try-Tiny-0.24/blib/lib /home/zxu/.cp
anm/work/1462290395.17141/Try-Tiny-0.24/blib/arch /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/s
ite_perl .) at t/basic.t line 8.
BEGIN failed--compilation aborted at t/basic.t line 8.
# Looks like your test exited with 2 before it could output anything.
t/basic.t ...................... Dubious, test returned 2 (wstat 512, 0x200)
Failed 25/25 subtests
t/context.t .................... Can't locate Try/Tiny.pm in #INC (you may need to install the Try::Tiny module) (#INC contains: /home/zxu/.cpanm/work/1462290395.17141/Try-Tiny-0.24/blib/lib /home/zxu/.cp
anm/work/1462290395.17141/Try-Tiny-0.24/blib/arch /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/s
ite_perl .) at t/context.t line 6.
BEGIN failed--compilation aborted at t/context.t line 6.
... ... ##more tests failure
It seems the module Try::Tiny is not installed successfully since make didn't spit out any log message and the test couldn't locate the module in #INC. I am on Ubuntu 14.04 (kernel 3.13.0-24-generic), and using apt-get install for module installation is ok. The output from perl -V is:
Summary of my perl5 (revision 5 version 18 subversion 2) configuration:
Platform:
osname=linux, osvers=3.13.0-79-generic, archname=x86_64-linux-gnu-thread-multi
uname='linux lgw01-37 3.13.0-79-generic #123-ubuntu smp fri feb 19 14:27:58 utc 2016 x86_64 x86_64 x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions
-Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.18 -Darchlib=/usr/lib/perl/5.18 -Dvendorpre
fix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.18.2 -Dsitearch=/usr/local/lib/perl/5.18.2 -Dman1dir=/usr/share/man/man1 -Dman3d
ir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uus
enm -Ui_libutil -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.18.2 -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.8.2', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=, so=so, useshrplib=true, libperl=libperl.so.5.18.2
gnulibc_version='2.19'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV PERL_SAWAMPERSAND USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing #INC directories.
DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
DEBPKG:debian/libperl_embed_doc - http://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
DEBPKG:fixes/respect_umask - Respect umask during installation
DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
DEBPKG:debian/extutils_set_libperl_path - EU:MM: Set location of libperl.a to /usr/lib
DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
DEBPKG:debian/prefix_changes - Fiddle with *PREFIX and variables written to the makefile
DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
DEBPKG:debian/mod_paths - Tweak #INC ordering for Debian
DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
DEBPKG:fixes/net_smtp_docs - [rt.cpan.org #36038] http://bugs.debian.org/100195 Document the Net::SMTP 'Port' option
DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default.
DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
DEBPKG:debian/deprecate-with-apt - http://bugs.debian.org/702096 Point users to Debian packages of deprecated core modules
DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
DEBPKG:debian/skip-upstream-git-tests - Skip tests specific to the upstream Git repository
DEBPKG:debian/patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.18.2-2ubuntu1.1 in patchlevel.h
DEBPKG:debian/skip-kfreebsd-crash - http://bugs.debian.org/628493 [perl #96272] Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
DEBPKG:fixes/document_makemaker_ccflags - http://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
DEBPKG:debian/find_html2text - http://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
DEBPKG:debian/hurd_test_skip_stack - http://bugs.debian.org/650175 Disable failing GNU/Hurd tests dist/threads/t/stack.t
DEBPKG:fixes/manpage_name_Test-Harness - http://bugs.debian.org/650451 [rt.cpan.org #73399] cpan/Test-Harness: add NAME headings in modules with POD
DEBPKG:debian/makemaker-pasthru - http://bugs.debian.org/660195 [rt.cpan.org #28632] Make EU::MM pass LD through to recursive Makefile.PL invocations
DEBPKG:debian/perl5db-x-terminal-emulator.patch - http://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
DEBPKG:debian/cpan-missing-site-dirs - http://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] http://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
DEBPKG:fixes/net_ftp_failed_command - [rt.cpan.org #37700] http://bugs.debian.org/491062 Net::FTP: cope gracefully with a failed command
DEBPKG:fixes/perlbug-patchlist - [3541c11] http://bugs.debian.org/710842 [perl #118433] Make perlbug look up the list of local patches at run time
DEBPKG:fixes/module_metadata_security_doc - [68cdd4b] CVE-2013-1437 documentation fix
DEBPKG:fixes/module_metadata_taint_fix - [bff978f] http://bugs.debian.org/722210 [rt.cpan.org #88576] untaint version, if needed, in Module::Metadata
DEBPKG:fixes/IPC-SysV-spelling - http://bugs.debian.org/730558 [rt.cpan.org #86736] Fix spelling of IPC_CREAT in IPC-SysV documentation
DEBPKG:fixes/fix-undef-source -
DEBPKG:fixes/CVE-2013-7422.patch - [PATCH] [perl #119505] Segfault from bad backreference
DEBPKG:fixes/CVE-2014-4330.patch - [PATCH] don't recurse infinitely in Data::Dumper
DEBPKG:fixes/CVE-2016-2381.patch - [PATCH 1/2] remove duplicate environment variables from environ
Built under linux
Compiled at Mar 1 2016 17:15:04
#INC:
/etc/perl
/usr/local/lib/perl/5.18.2
/usr/local/share/perl/5.18.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.18
/usr/share/perl/5.18
/usr/local/lib/site_perl
.
It seems the system perl was built against a different kernel version 3.13.0-79-generic. Could this be the problem? Plz help! Let me know if you need any more info. Thanks.

Based on this mailing list thread, the third post in particular, I would suggest editing '/usr/lib/perl//Config.pm' so that dont_use_nlink is set to 'define' instead of undef. This solution worked for me.

Related

undefined reference to `pcl::PCLBase<pcl::PCLPointCloud2>::setInputCloud(std::shared_ptr<pcl::PCLPointCloud2 const> const&)

I'm trying to use the VoxelGrid of the pcl library to filter my PointCloud, extracted from a ros message. So the following is the part of code related to this problem:
pcl::PCLBase<pcl::PCLPointCloud2>::PCLPointCloud2ConstPtr cloudPtr(cloud_pc2);
pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
sor.setInputCloud(cloudPtr);
sor.setLeafSize(0.1f, 0.1f, 0.1f);
sor.filter(cloud_filtered);
I saw online tutorials where they directly do:
pcl::PCLPointCloud2::Ptr cloud_filtered (new pcl::PCLPointCloud2 ());
pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
sor.setInputCloud (cloud);
sor.setLeafSize (0.01f, 0.01f, 0.01f);
sor.filter (*cloud_filtered);
But in both cases I got undefined reference for the setInputCloud function. Have someone an idea of why this happens? I will attach also my CmakeList file
cmake_minimum_required(VERSION 3.5)
project(loam_os2)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
#set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(PCL 1.10 REQUIRED)
find_package(pcl_conversions REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(tf2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS} include)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcl_example_node src/pcl_example.cpp src/pcl_example_node.cpp)
target_link_libraries( pcl_example_node
${PCL_LIBRARIES}
)
ament_target_dependencies(
pcl_example_node
rclcpp
std_msgs
sensor_msgs
pcl_conversions
tf2
tf2_ros
)
install(TARGETS
pcl_example_node
DESTINATION lib/${PROJECT_NAME})
# Install launch files.
install(DIRECTORY
launch
DESTINATION share/${PROJECT_NAME}/
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
# the following line skips the linter which checks for copyrights
# uncomment the line when a copyright and license is not present in all source files
#set(ament_cmake_copyright_FOUND TRUE)
# the following line skips cpplint (only works in a git repo)
# uncomment the line when this package is not in a git repo
#set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
ament_package()
Thank you in advance for any suggestion
here the full error:
usr/bin/ld: CMakeFiles/pcl_example_node.dir/src/pcl_example.cpp.o: in function Pcl_example::lidar_callback(std::shared_ptr<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >)':
pcl_example.cpp:(.text+0x122f): undefined reference topcl::PCLBase<pcl::PCLPointCloud2>::setInputCloud(std::shared_ptr<pcl::PCLPointCloud2 const> const&)'
collect2: error: ld returned 1 exit status
make[2]: * [CMakeFiles/pcl_example_node.dir/build.make:360: pcl_example_node] Error 1
make[1]: * [CMakeFiles/Makefile2:78: CMakeFiles/pcl_example_node.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Failed <<< loam_os2 [12.2s, exited with code 2]
Summary: 0 packages finished [12.5s]
1 package failed: loam_os2
1 package had stderr output: loam_os2
Starting with version 1.11.0, PCL uses std::shared_ptr instead of boost::shared_ptr. It seems you are using PCL 1.10, so setInputCloud would expect a boost::shared_ptr, however you are passing a std::shared_ptr. Since I can't see where cloudPtr or cloud respectively come from in your code snippets, I am unable to suggest a solution, except to use a newer PCL version.

Tty.c: loadable library and perl binaries are mismatched

I upgraded Ubuntu from zesty to bionic. In the process perl was upgraded from 5.24.1 to 5.26.1. Now I am getting this error when I try to install Expect.
Tty.c: loadable library and perl binaries are mismatched
I have re-installed IO::Tty and that says it has installed correctly. There are other modules that are reporting similar errors.
Here is the full output from the failed Expect install.
Fetching http://www.cpan.org/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz
-> OK
Unpacking Expect-1.35.tar.gz
Entering Expect-1.35
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.64 ... Yes (7.24)
Configuring Expect-1.35
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Expect
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Fcntl 0 ... Yes (1.13)
Checking if you have IO::Handle 0 ... Yes (1.36)
Checking if you have IO::Pty 1.11 ... Yes (1.12)
Checking if you have Errno 0 ... Yes (1.28)
Checking if you have Test::More 1.00 ... Yes (1.302162)
Checking if you have Exporter 0 ... Yes (5.72)
Checking if you have IO::Tty 1.11 ... Yes (1.12)
Checking if you have File::Temp 0 ... Yes (0.2309)
Checking if you have POSIX 0 ... Yes (1.76)
Checking if you have Carp 0 ... Yes (1.42)
Building and testing Expect-1.35
cp lib/Expect.pm blib/lib/Expect.pm
Manifying 1 pod document
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/01-test.t .......
Dubious, test returned 1 (wstat 256, 0x100)
Failed 14/14 subtests
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/02-bc.t .........
Dubious, test returned 1 (wstat 256, 0x100)
No subtests run
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/03-log.t ........
Dubious, test returned 1 (wstat 256, 0x100)
Failed 11/11 subtests
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/04-multiline.t ..
Dubious, test returned 1 (wstat 256, 0x100)
Failed 33/33 subtests
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/10-internal.t ...
Dubious, test returned 1 (wstat 256, 0x100)
Failed 17/17 subtests
Tty.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)
t/11-calc.t .......
Dubious, test returned 1 (wstat 256, 0x100)
No subtests run
Test Summary Report
-------------------
t/01-test.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: Bad plan. You planned 14 tests but ran 0.
t/02-bc.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: No plan found in TAP output
t/03-log.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: Bad plan. You planned 11 tests but ran 0.
t/04-multiline.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: Bad plan. You planned 33 tests but ran 0.
t/10-internal.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: Bad plan. You planned 17 tests but ran 0.
t/11-calc.t (Wstat: 256 Tests: 0 Failed: 0)
Non-zero exit status: 1
Parse errors: No plan found in TAP output
Files=6, Tests=0, 2 wallclock secs ( 0.08 usr 0.03 sys + 1.87 cusr 0.21 csys = 2.19 CPU)
Result: FAIL
Failed 6/6 test programs. 0/0 subtests failed.
Makefile:856: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 1
-> FAIL Installing Expect failed. See /home/chronos/.cpanm/work/1554249881.4055/build.log for details. Retry with --force to force install it.
chronos#BattleShip:~/app$ perl -v
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)
Copyright 1987-2017, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
I deleted my ~/perl5 directory. Expect installed fine.

Yocto build error for python and qt5

I'm getting below yocto build error and I'm not sure what is the problem.
I am trying to build yocto for my warpx board. Able to build headless image but not headfull.
Can you please anyone point out any issue ?
I have used yocto krogoth version with freescal platform bsp.
These are the commands I followed.
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b krogoth
repo sync
cd sources
git clone https://github.com/Kynetics/meta-warpx.git
cd meta-warpx
git checkout krogoth
cd ..
git clone https://github.com/meta-qt5/meta-qt5.git
cd meta-qt5
git checkout krogoth
cd ..
git clone https://github.com/sbabic/meta-swupdate.git
cd meta-swupdate
git checkout krogoth
cd ../../
cp -rf sources/meta-warpx/first-setup/setup-warpx-warp .
source setup-warpx-warp
ACCEPT the terms here (say 'y')
Now we are in "~/yocto/build-warpx-warp" location.
cp -rf ../sources/meta-warpx/first-setup/local.conf.sample conf/local.conf
cp -rf ../sources/meta-warpx/first-setup/bblayers.conf conf/
bitbake warpx-headfull-image-sdk
titus#titusPC:~/workdir/Titus/yocto/build-warpx-warp$ bitbake warpx-headfull-image
WARNING: Host distribution "Ubuntu-16.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |################################################################| ETA: 00:00:00
Loaded 2562 entries from dependency cache.
Parsing recipes: 100% |##############################################################| Time: 00:00:00
Parsing of 1997 .bb files complete (1996 cached, 1 parsed). 2562 targets, 192 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "warp"
DISTRO = "poky"
DISTRO_VERSION = "2.1.3"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "hard"
meta
meta-poky = "HEAD:3565a9697f53ba975a1b7235b802f659418746c3"
meta-oe
meta-multimedia
meta-networking
meta-python = "krogoth:55c8a76da5dc099a7bc3838495c672140cedb78e"
meta-fsl-arm = "HEAD:e2254e7b2ded0c2b66b1226f879b3a6d52037b2d"
meta-fsl-arm-extra = "HEAD:2c28e636ec15c2cfd49bc9cebe0bbbcfde95bc7b"
meta-qt5 = "krogoth:1100037b9becaaa5749602bca9d63693119c4585"
meta-warpx = "krogoth:b2110ade3cd53f3b98a8f057d508c075b4d691e2"
meta-swupdate = "krogoth:712d4aee92ea3a23952a3e7fb812e5c4df7492ec"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: python-pyqt-5.3.1-r1 do_generate: Error calling sip on QtCore
ERROR: python-pyqt-5.3.1-r1 do_generate: Function failed: do_generate (log file is located at /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080)
ERROR: Logfile of failure stored in: /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080
Log data follows:
| DEBUG: Executing shell function do_generate
| NOTE: using modules 'QtCore QtGui QtQml QtQuick QtSvg QtWebKit QtWidgets QtOpenGL QtXmlPatterns' and tags '-tWS_X11 -tQt_5_3_1 -xVendorID -xPyQt_Accessibility -xPyQt_Desktop_OpenGL -xPyQt_SessionManager'
| calling 'sip4 -I sip -I /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/sysroots/x86_64-linux/usr/share/sip -tWS_X11 -tQt_5_3_1 -xVendorID -xPyQt_Accessibility -xPyQt_Desktop_OpenGL -xPyQt_SessionManager -c QtCore -b QtCore/QtCore.pro.in sip/QtCore/QtCoremod.sip'
| /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/run.do_generate.2080: 137: /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/run.do_generate.2080: sip4: not found
| WARNING: exit code 1 from a shell command.
| ERROR: Error calling sip on QtCore
| ERROR: Function failed: do_generate (log file is located at /home/titus/workdir/Titus/yocto/build-warpx-warp/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/python-pyqt/5.3.1-r1/temp/log.do_generate.2080)
ERROR: Task 3512 (/home/titus/workdir/Titus/yocto/sources/meta-warpx/recipes-devtools/python/python-pyqt_5.3.1.bb, do_generate) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3319 tasks of which 2678 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/titus/workdir/Titus/yocto/sources/meta-warpx/recipes-devtools/python/python-pyqt_5.3.1.bb, do_generate
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
titus#titusPC:~/workdir/Titus/yocto/build-warpx-warp$
Its seems to doesn't have the sip recipe in your yocto source.
python-pyqt depends on sip add the sip recipe and compile again.

Chef issue with local rpm package installation on oracle linux (oel)

I'm struggling with installation of packages available in form of locally downloaded rpm file - just on Oracle Linux (OEL). Is there a bug? Has anyone observed this? It would be a huge bug, so I'm bit surprised.
Chef recipe is quite simple:
pkg_src_location = 'https://s3.amazonaws.com/solution-automation-folder/qualys'
pkg = 'qualys-cloud-agent.x86_64.rpm'
local_image = "#{Chef::Config['file_cache_path']}/#{pkg}"
remote_file 'qualys-cloud-agent-image' do
path local_image
source "#{pkg_src_location}/#{pkg}"
end
package 'qualys-cloud-agent' do
source local_image
end
It's available from https://github.com/r2oro/oel_pkg_test.git.
I have observed that on Oracle Linux (OEL) it results with following python script being triggered:
/usr/bin/python /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.16.42/lib/chef/provider/package/yum/yum-dump.py --options --installed-provides --yum-lock-timeout 30
It runs for quite a while (downloading several hundreds of megabytes of data - as far I can see - yum repo metadata) and eventually fails (kitchen in debug mode dumps all this to stdout...). Anyway the result is:
* yum_package[qualys-cloud-agent] action install[2016-12-01T12:35:32+00:00] ERROR: /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.16.42/lib/chef/provider/package/yum/yum-dump.py exceeded timeout 900
================================================================================
Error executing action `install` on resource 'yum_package[qualys-cloud-agent]'
================================================================================
Mixlib::ShellOut::CommandTimeout
--------------------------------
Command timed out after 900s:
Command exceeded allowed execution time, process terminated
---- Begin output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.16.42/lib/chef/provider/package/yum/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
STDOUT:
STDERR:
---- End output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.16.42/lib/chef/provider/package/yum/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
Ran /usr/bin/python /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.16.42/lib/chef/provider/package/yum/yum-dump.py --options --installed-provides --yum-lock-timeout 30 returned
Resource Declaration:
---------------------
# In /tmp/kitchen/cache/cookbooks/oel_pkg_test/recipes/default.rb
16: package 'qualys-cloud-agent' do
17: source local_image
18: end
Compiled Resource:
------------------
# Declared in /tmp/kitchen/cache/cookbooks/oel_pkg_test/recipes/default.rb:16:in `from_file'
yum_package("qualys-cloud-agent") do
package_name "qualys-cloud-agent"
action [:install]
retries 0
retry_delay 2
default_guard_interpreter :default
declared_type :package
cookbook_name "oel_pkg_test"
recipe_name "default"
source "/tmp/kitchen/cache/qualys-cloud-agent.x86_64.rpm"
flush_cache {:before=>false, :after=>false}
end
Did you note that yum flush_cache should not happen, but it still does? It's frustrating. This always fails so in my local kitchen (with vagrant/virtualbox) or even in AWS cloud kitchen... Real instances sometimes fail sometimes converge... But it's a lottery. Anyway why this cache update happens at all for single local rpm image!?
I did try to use rpm_package but this leads to problems with yum_package beings used in other recipes...
Any thoughts?
You probably do want to use rpm_package in this case, but as for why the cache is reloading, it might just be the first time it is getting hit and so has to do the initial reload, or it's after something else modified the package set.

Unable to run vlc-android on simulator/device

I am following the below url link to compile and run vlc-android
https://wiki.videolan.org/AndroidCompile/
I can create the apk via "Generate Signed APK" from Android Studio.
But when I want to run it on the simulator or a connected device I get the following error.
Error log:
Information:Gradle tasks [:vlc-android:assembleChromeARMv5Debug]
:libvlc:buildDebugARMv5
For an ARMv6 device without FPU:
use "-a armeabi-nofpu"
For an ARMv5 device:
use "-a armeabi-v5"
ABI: armeabi
API: android-9
SYSROOT: /Users/ashishkumarpatel/android-ndk-r10e/platforms/android-9/arch-arm
FPU: NO
ARMv5: YES
PATH: /Users/ashishkumarpatel/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin:/usr/bin:/bin:/usr/sbin:/sbin
CFLAGS: -g -O2 -fstrict-aliasing -funsafe-math-optimizations -mlong-calls
EXTRA_CFLAGS: -march=armv5te -mtune=arm9tdmi -msoft-float -I/Users/ashishkumarpatel/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/include -I/Users/ashishkumarpatel/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include
./compile-libvlc.sh: line 413: cd: vlc: No such file or directory
Building tools
./compile-libvlc.sh: line 421: cd: extras/tools: No such file or directory
./compile-libvlc.sh: line 422: ./bootstrap: No such file or directory
buildsystem tools: bootstrap failed
:libvlc:buildDebugARMv5 FAILED
Error:Execution failed for task ':libvlc:buildDebugARMv5'.
Error message:
Process 'command './compile-libvlc.sh'' finished with non-zero exit value 1
Information:BUILD FAILED
Information:Total time: 1.162 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

Resources