From: Christian F. <Chr...@t-...> - 2012-03-03 13:22:23
|
Joachim Banzhaf wrote: > Hi list, > > I tried to use smartmontools natively built from tar on a QNAP TS-419PII. Building on arm was probably not tried for a long time now. > All versions from 5.42 down to 5.39 produce a segfault: > > [~] # smartctl -d sat -a /dev/sda > smartctl 5.39 2009-12-09 r2995 [armv5tel-unknown-linux-gnueabi] (local build) > Copyright (C) 2002-9 by Bruce Allen, http://smartmontools.sourceforge.net > > Segmentation fault > > > Version 5.38 finally worked: > > [~] # smartctl -d sat -a /dev/sda > smartctl version 5.38 [armv5tel-unknown-linux-gnu] Copyright (C) 2002-8 Bruce > Allen > Home page is http://smartmontools.sourceforge.net/ > > === START OF INFORMATION SECTION === > Device Model: WDC WD20EARX-00PASB0 > ... Thanks for the report. If possible, please create a ticket: https://sourceforge.net/apps/trac/smartmontools/newticket 5.39 was the first version with advanced use of C++ (e.g. multiple inheritance) and its standard (template) library. Which compiler version is used? Little- or big-endian ARM? > > I am ok with just using 5.38, but if someone wants to fix it I am willing to > support by testing patches and sending logs. > Only problem would be I cannot build from svn (because of a perl issue?): > > [~/share/smartmontools] $ ./autogen.sh > This Perl not built to support threads > Compilation failed in require at /opt/bin/automake-1.11 line 139. > ... perl is build without thread support but apparently automake was configured with threads enabled. Here the context from my (Cygwin) automake installation: $ grep -5n 'require threads' /usr/bin/automake-1.11 134-use Automake::Config; 135-BEGIN 136-{ 137- if ($perl_threads) 138- { 139: require threads; 140- import threads; 141- require Thread::Queue; 142- import Thread::Queue; 143- } 144-} $ grep -n 'perl_threads =' /usr/share/automake-1.11/Automake/Config.pm 32:our $perl_threads = 1; Setting $perl_threads = 0 in your .../Automake/Config.pm should fix this. The files generated by ./autogen.sh are platform independent. You could also run ./autogen.sh on another system, copy the result to target machine and run ./configure there. To build a self-contained source tarball from SVN on the other system use: ./autogen.sh && ./configure && make dist Thanks, Christian |