----- Original Message -----
>
> On Thu, 2016-08-25 at 09:45 -0700, J Freyensee wrote:
> >
> > On Wed, 2016-08-24 at 20:30 -0400, Dave Anderson wrote:
> > >
> > >
> > > >
> > > >
> > > >
> > > > >
> > > > >
> > > > >
> > > > > On Wed, 2016-08-24 at 15:00 -0400, Dave Anderson wrote:
> > > >
> > > > That's not a problem -- crash just needs to be compiled with
> > > > "make
> > > > lzo",
> > > > which will add these lines to the CFLAGS.extra and
> > > > LDFLAGS.extra
> > > > files:
> > > >
> > > > -DLZO in the CFLAGS.extra file
> > > > -llzo2 in the LDFLAGS.extra file
> > > >
> > > > and will delete diskdump.o. The subsequent rebuild will
> > > > recompile
> > > > diskdump.c with lzo compression support. You only have to
> > > > enter
> > > > "make lzo" once, as it's effect is sticky.
> >
> > Thanks, this helped.
> >
> > >
> > >
> > > >
> > > >
> > > >
> > > > This also requires the lzo, lzo-minilzo and lzo-devel
> > > > packages to
> > > > be installed so that the lzo compression library can get
> > > > compiled
> > > > in.
> > > > But in your case, you would need to have the static versions
> > > > of
> > > > the
> > > > lzo and lzo-minilzo packages.
> > >
> > > Although -- unlike the zlib package which has a zlib-static rpm
> > > --
> > > the
> > > Red Hat lzo package set does not include static versions of the
> > > lzo
> > > and
> > > lzo-minilzo libraries. So I don't know how you can get around
> > > that.
> > >
> >
> > I got around the liblzo2.a issue by just building from the
> > sources:
> >
> > mkdir lzo2_temp
> > cd lzo2_temp/
> > yumdownloader --source lzo-devel
> > pm2cpio lzo-2.08-8.fc24.src.rpm | cpio -idv
> > tar xf lzo-2.08.tar.gz
> > cd lzo-2.08/
> > run ./configure if need-be
> > make liblzo2.a
> >
> > Looks like all I need is liblzo2.a. Seems like a simple thing
> > for
> > the
> > .rpm package to include since it's already been designed into the
> > Makefile in the src.rpm.
> >
> > Anyways, I think I may have it working now, despite the same
> > compiler
> > warnings I mentioned at the beginning??:
> >
> > [~]$ ./crash src/linux/vmlinux crash.dump
> >
> > crash 7.1.5
> > Copyright (C) 2002-2016 Red Hat, Inc.
> > Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
> > Copyright (C) 1999-2006 Hewlett-Packard Co
> > Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
> > Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
> > Copyright (C) 2005, 2011 NEC Corporation
> > Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
> > Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux,
> > Inc.
> > This program is free software, covered by the GNU General Public
> > License,
> > and you are welcome to change it and/or distribute copies of it
> > under
> > certain conditions. Enter "help copying" to see the conditions.
> > This program has absolutely no warranty. Enter "help warranty"
> > for
> > details.
> >
> > GNU gdb (GDB) 7.6
> > Copyright (C) 2013 Free Software Foundation, Inc.
> > License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licens
> > es/g
> > pl
> > .html>
> > This is free software: you are free to change and redistribute
> > it.
> > There is NO WARRANTY, to the extent permitted by law. Type "show
> > copying"
> > and "show warranty" for details.
> > This GDB was configured as "x86_64-unknown-linux-gnu"...
> >
> > crash: failed to read pageflag_names entry
> > KERNEL: src/linux/vmlinux
> > DUMPFILE: crash.dump [PARTIAL DUMP]
> > CPUS: 8
> > DATE: Tue Aug 23 15:12:26 2016
> > UPTIME: 00:04:26
> > LOAD AVERAGE: 0.20, 0.29, 0.13
> > TASKS: 300
> > NODENAME:
nvmf-host03.jf.intel.com
> > RELEASE: 4.8.0-rc3
> > VERSION: #1 SMP Tue Aug 23 12:22:39 PDT 2016
> > MACHINE: x86_64 (3600 Mhz)
> > MEMORY: 7.8 GB
> > PANIC: "sysrq: SysRq : Trigger a crash"
> > PID: 10568
> > COMMAND: "bash"
> > TASK: ffff880282a58080 [THREAD_INFO: ffff88026c5e8000]
> > CPU: 3
> > STATE: TASK_RUNNING (SYSRQ)
> > crash>
> >
> >
>
> If this looks right/reasonable, I captured all the steps here. If
> I
> captured that correctly, i could submit a patch to README on how to
> do
> this statically?:
To be honest, I really don't want to publish it in the package
because
then I would be on the hook for supporting it, which I am definitely
not
interested in. (Not to mention that I couldn't even get it to
build).
And I don't recall anyone ever asking for it until you did. I'm
curious
as to why you can't easily run the crash session on a host where you
could build it normally?
The reason why is there is a break in kdump via 'makedumpfile' in which
it broke for at least the 4.5 kernel on up (if not older). So someone
wanting to produce a kernel crash file for say, the 4.8-rc3 kernel
won't be able to do it if their kdump.conf is setup to use
'makedumpfile'.
On top of that, there is a problem in older versions of crash which you
will get this error:
WARNING: kernels compiled by different gcc versions:
src/linux/vmlinux: (unknown)
crash.dump kernel: 4.8.2
WARNING: kernel version inconsistency between vmlinux and dumpfile
crash: incompatible arguments:
src/linux/vmlinux is not SMP -- crash.dump is SMP
which is fixed starting in crash 7.1.4.
As part of my role to develop Linux features for future customer
products, if a customer has:
*bleeding edge HW my dept provided as early enablement
and
*wants to use something just released in mainline via
and
*a bug occurred that crashed the kernel
and
*we want some crash file to try and understand what is going on,
there currently isn't any other alternative other than to provide a
compiled makedumpfile solution and crash solution. And the easiest way
to deliver a solution to remote customers without intimately
understanding what all is installed on their computer setups is to
provide statically compiled exe's because then I know exactly what they
have and I can test and use the exact same solution.
That being the case, there will always be this discussion that I
could
point to for anybody in the future who might be interested.
Dave
>
>
> -----------------
>
> Building 'crash' statically (w/lzo2 support)
> ============================================
>
> To attempt to build 'crash' statically with pretty common lzo2
> support
> (used by 'makedumpfile'), the static library liblzo2.a is
> needed. However, this is not available in Fedora 24 .rpm packages
> :-(.
>
> To build it yourself, try:
>
> mkdir lzo2_temp
> cd lzo2_temp/
> yumdownloader --source lzo-devel
> pm2cpio lzo-2.08-8.fc24.src.rpm | cpio -idv
> tar xf lzo-2.08.tar.gz
> cd lzo-2.08/
> run ./configure if need-be
> make liblzo2.a
>
> Then after downloading the crash repo:
>
https://github.com/crash-utility/crash.git
>
> Specify to build it statically in the crash/ directory by creating
> a
> file called LDFLAGS.extra with a couple of static flags:
>
> $ cat LDFLAGS.extra
> -static -static-libgcc
>
> and in crash/gdb-X.Y/Makefile at TOPLEVEL_CONFIGURE_ARGUMENTS
> variable
> add:
>
> --enable-static=yes
>
> (example:
> # The gcc driver likes to know the arguments it was configured
> with.
> TOPLEVEL_CONFIGURE_ARGUMENTS=./configure --with-separate-debug-
> dir=/usr/lib/debug --with-bugurl= --with-expat=no --with-python=no
> --
> disable-sim --enable-static=yes)
>
> and back in the top crash/ directory build
> the whole thing with the lzo2 library:
>
> $ make lzo
>
> (adds to LDFLAGS.extra and creates CFLAGS.extra)
>
>
> >
> > >
> > >
> > > Dave
> > >
> > > --
> > > Crash-utility mailing list
> > > Crash-utility(a)redhat.com
> > >
https://www.redhat.com/mailman/listinfo/crash-utility
> >
> > --
> > Crash-utility mailing list
> > Crash-utility(a)redhat.com
> >
https://www.redhat.com/mailman/listinfo/crash-utility
>
> --
> Crash-utility mailing list
> Crash-utility(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility