On Wed, 2016-08-24 at 15:00 -0400, Dave Anderson wrote:
----- Original Message -----
>
> Hi,
>
> I just downloaded the latest crash code, and I would like to be
> able to
> compile it statically. I tried doing
>
> "make LDFLAGS="-static -static-libgcc"
>
> but I don't think that worked because I got quite a few of these
> type
> of warning messages:
>
> (example)
> crash/extensions.c:253: warning: Using 'dlopen' in statically
> linked
> applications requires at runtime the shared libraries from the
> glibc
> version used for linking
>
> crash/gdb-7.6/gdb/./common/linux-osdata.c:225: warning: Using
> 'getpwuid' in statically linked applications requires at runtime
> the
> shared libraries from the glibc version used for linking
>
>
> How could I compile crash as a static, 1 big exe?
>
> Thanks for the help!
>
Poking around online for a few tips, I tried a few things, but I
cannot get it to build.
First I installed static versions of these packages:
# rpm -qa | grep static
ncurses-static-5.9-13.20130511.el7.x86_64
glibc-static-2.17-105.el7.x86_64
zlib-static-1.2.7-15.el7.x86_64
#
Then I added your lines to LDFLAGS.extra in the top-level build
directory:
# cat LDFLAGS.extra
-static -static-libgcc
#
And for the embedded gdb, configured it with --enable-static=yes:
# git diff
diff --git a/Makefile b/Makefile
index d5d9497..29cf134 100644
--- a/Makefile
+++ b/Makefile
@@ -232,7 +232,7 @@ gdb_merge: force
@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" >
${GDB}/gdb/mergeobj
@rm -f ${PROGRAM}
@if [ ! -f ${GDB}/config.status ]; then \
- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-
separate-debug-dir=/usr/lib/debug \
+ (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --prefix=<> --
enable-static=yes --with-separate-debug-dir=/usr/lib/debug \
--with-bugurl="" --with-expat=no --with-python=no --
disable-sim; \
make --no-print-directory CRASH_TARGET=${TARGET}; echo
${TARGET} > crash.target) \
else make --no-print-directory rebuild; fi
#
And then did a "make".
I also see the warnings, but also hundreds of unresolved references
associated with libncurses.a. So I don't know what else to suggest.
Thanks for trying.
I'm not seeing the 'unresolved references' related libncurses.a. I
just see the warnings I first reported. And I'm pretty sure I'm not
getting the whole crash exe compiled statically successfully because
when I try to use it on a different system, crash gives me read errors,
such as:
rash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff81ae3480 type:
"possible"
WARNING: cannot read cpu_possible_map
crash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff81ae3400 type:
"present"
WARNING: cannot read cpu_present_map
crash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff81ae3440 type:
"online"
WARNING: cannot read cpu_online_map
crash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff81ae33c0 type:
"active"
WARNING: cannot read cpu_active_map
crash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff82ae95b0 type:
"shadow_timekeeper xtime_sec"
crash: compressed kdump: uncompress failed: no lzo compression support
crash: read error: kernel virtual address: ffffffff81a0b2c4 type:
"init_uts_ns"
crash: compressed kdump: uncompress failed: no lzo compression support
crash: src/linux/vmlinux and crash.dump do not match!
Usage:
crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS] (dumpfile
form)
crash [OPTION]... [NAMELIST] (live system
form)
Maybe somebody else on this list may have attempted it?
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility