SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm trying to build a dbus package that provides backtrace support. According to this error message, I need to add the -rdynamic option to the build configuration:
"D-Bus not built with -rdynamic so unable to print a backtrace"
I made the following change to the slackbuild:
Per the configure script, I also tried this:
What is the correct way to build dbus with backtrace support?
This is from --configure --help
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-maintainer-mode disable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
--enable-silent-rules less verbose build output (undo: `make V=1')
--disable-silent-rules verbose build output (undo: `make V=0')
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
Enable generation of coverage data
Disable compiler optimisations
--enable-developer set defaults to be appropriate for a D-Bus developer
instead of a distribution/end-user
--enable-ansi enable -ansi -pedantic gcc flags
--enable-verbose-mode support verbose debug mode
--enable-asserts include assertion checks
--enable-checks include sanity checks on public API
--enable-xml-docs build XML documentation (requires xmlto)
--enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)
use abstract socket namespace (linux only)
--enable-selinux build with SELinux support
--enable-libaudit build audit daemon support for SELinux
--enable-dnotify build with dnotify support (linux only)
--enable-inotify build with inotify support (linux only)
--enable-kqueue build with kqueue support
enable console owner file
--enable-userdb-cache build with userdb-cache support
--enable-launchd build with launchd auto-launch support
--enable-systemd build with systemd at_console support
--enable-embedded-tests enable unit test code in the library and binaries
--enable-modular-tests enable modular regression tests (requires GLib)
--enable-tests enable/disable all tests, overriding
enable unit test code in the library and binaries
--enable-epoll use epoll(4) on Linux
--enable-x11-autolaunch build with X11 auto-launch support
--disable-Werror compile without -Werror (normally enabled in
--enable-stats enable bus daemon usage statistics
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot=DIR Search for dependent libraries within DIR
(or the compiler's sysroot if not specified).
--with-xml=libxml/expat XML library to use (libxml may be named libxml2 on
Style of init scripts to install
Where to put sockets for the per-login-session
Where to put sockets for make check
PID file for systemwide daemon
UNIX domain socket for systemwide daemon
directory to check for console ownerhip
file whose owner determines current console owner
directory to put the launchd agent (default:
--with-dbus-user=<user> User for running the DBUS daemon (messagebus)
Directory for installing the DBUS daemon
Transport Type to be used (default: nonce-tcp:)
--without-64-bit If you have to use this option, please report it as
--with-valgrind Add instrumentation to help valgrind to understand
--with-x use the X Window System
Directory for systemd service files
path where the tests tools are available
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
PKG_CONFIG path to pkg-config utility
GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
GLIB_LIBS linker flags for GLIB, overriding pkg-config
C compiler flags for DBUS_GLIB, overriding pkg-config
linker flags for DBUS_GLIB, overriding pkg-config
PYTHON the Python interpreter
C compiler flags for LIBXML, overriding pkg-config
LIBXML_LIBS linker flags for LIBXML, overriding pkg-config
C compiler flags for SYSTEMD, overriding pkg-config
linker flags for SYSTEMD, overriding pkg-config
C compiler flags for VALGRIND, overriding pkg-config
linker flags for VALGRIND, overriding pkg-config
XMKMF Path to xmkmf, Makefile generator for X Window System
MAN2HTML Path to man2html (optional)
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=dbus>.
Woodsman, I traced the message from the code backwards...
if ! defined (DBUS_BUILT_R_DYNAMIC)
fprintf (stderr, " D-Bus not built with -rdynamic so unable to print a backtrace\n");
Running configure with no options gave me in config.h
if test x$enable_asserts = xno; then
AC_DEFINE(DBUS_DISABLE_ASSERT,1,[Disable assertion checking])
# -rdynamic is needed for glibc's backtrace_symbols to work.
# No clue how much overhead this adds, but it's useful
# to do this on any assertion failure,
# so for now it's enabled anytime asserts are (currently not
# in production builds).
# To get -rdynamic you pass -export-dynamic to libtool.
AC_DEFINE(DBUS_BUILT_R_DYNAMIC,1,[whether -export-dynamic was passed to libtool])
So run ./configure --enable-asserts
Just my guess; didn't try it. So you don't need to set CFLAGS. It's actually LDFLAGS, but configure is supposed to do it for you with the right switch.
Oh btw, make sure you don't strip the binaries...
Last edited by the3dfxdude; 04-24-2013 at 09:23 PM.