You are not logged in.

#1 2013-02-28 04:22:01

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

No debugging symbols for libQtWebKit.so.4 after editing PKGBUILD?

Hello

I need debugging symbols for the library libQtWekit.so.4, because I want to report a crash of Konqueror I am having constantly.

Thus, I obtained the PKGBUILD for building the package qtwebkit (the libQtWekit.so.4 library is included in this package) through ABS.

Later I have added to the PKGBUILD the option !strip:

options=('!strip')

and:

export CFLAGS="$CFLAGS -g -O1"
export CXXFLAGS="$CXXFLAGS -g -O1"

into the very beginning of the build() function.

All this according to the article named Debug-Getting Traces on the official Archlinux wiki

Afterward, I have builded the package by running: makepkg -s. The process was successful

Then I proceeded to install the package, but when I verify the debugging symbols for libQtWekit.so.4, running nm -a, I get the message: no symbols:

$ nm -a /usr/lib/libQtWebKit.so.4
nm: /usr/lib/libQtWebKit.so.4: no symbols

Could somebody help me for getting the symbols? I would be very grateful

This is the modified PKGBUILD:

# $Id: PKGBUILD 178045 2013-02-14 09:18:18Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>

pkgname=qtwebkit
pkgver=2.3.beta2
_pkgver=2.3-beta2
pkgrel=1
arch=('i686' 'x86_64')
url='http://trac.webkit.org/wiki/QtWebKit'
pkgdesc='An open source web browser engine (Qt port)'
license=('LGPL2.1' 'GPL3')
depends=('qt' 'systemd' 'gstreamer0.10-base')
makedepends=('gperf' 'python2' 'ruby' 'git' 'mesa')
conflicts=('qt<4.8')
_qtver=4.8.4
source=("${pkgname}-${pkgver}.tar.gz"::"http://gitorious.org/webkit/qtwebkit-23/archive-tarball/${pkgname}-${_pkgver}"
        "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${_qtver}.tar.gz"
        'use-python2.patch'
        'qwebview.patch')
options=('!strip')
sha1sums=('b1bfa9e3303ce9c95eec0a1e66b2b812b844bf08'
          'f5880f11c139d7d8d01ecb8d874535f7d9553198'
          '315b6ff603f35e5492a036f7082f6aa075dfb607'
          'fed0c1a90e3997b5575dbc83d6ea23bc46097a6f')

build() {
  export CFLAGS="$CFLAGS -g -O1"
  export CXXFLAGS="$CXXFLAGS -g -O1"
  
  cd webkit-qtwebkit-23

  patch -p1 -i "${srcdir}"/use-python2.patch

  OPTS="--no-webkit2"
  if [ "${CARCH}" = "i686" ]; then
      # FS#33418
      OPTS="${OPTS} --no-sse2"
  fi

  export QTDIR=/usr
  Tools/Scripts/build-webkit --qt \
    --makeargs="${MAKEFLAGS}" \
    --prefix=/usr \
    ${OPTS}

  cd ../

  # Build the QWebView plugin (FS#27914)
  cd qt-everywhere-opensource-src-${_qtver}
  patch -p1 -i "${srcdir}"/qwebview.patch
  cd tools/designer/src/plugins/qwebview
  qmake
  make
}

package() {
  cd webkit-qtwebkit-23
  make INSTALL_ROOT="${pkgdir}" -C WebKitBuild/Release install

  cd ../

  cd qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
  make INSTALL_ROOT="${pkgdir}" install
}

I use Archlinux x86, kernel 3.7.9-1 and KDE 4.10

Offline

#2 2013-03-01 22:15:25

ilpianista
Fellow developer
From: Lecce, Italy
Registered: 2007-10-06
Posts: 568
Website

Re: No debugging symbols for libQtWebKit.so.4 after editing PKGBUILD?

If I'm not wrong you need to add --debug to ${OPTS}
And there's no need to add -g to the CFLAGS/CXXFLAGS

Offline

#3 2013-03-06 03:07:06

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

Re: No debugging symbols for libQtWebKit.so.4 after editing PKGBUILD?

Thank you so much for replying.

My apologies by this late answer.

I tried to build the package including the new changes, those you are suggesting. The PKGBUILD now looks like:

# $Id: PKGBUILD 178989 2013-03-01 10:24:37Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>

pkgname=qtwebkit
pkgver=2.3.beta2
_pkgver=2.3-beta2
pkgrel=2
arch=('i686' 'x86_64')
url='http://trac.webkit.org/wiki/QtWebKit'
pkgdesc='An open source web browser engine (Qt port)'
license=('LGPL2.1' 'GPL3')
depends=('qt4' 'systemd' 'gstreamer0.10-base')
makedepends=('gperf' 'python2' 'ruby' 'git' 'mesa')
conflicts=('qt<4.8')
options=('!strip')
source=("${pkgname}-${pkgver}.tar.gz"::"http://gitorious.org/webkit/qtwebkit-23/archive-tarball/${pkgname}-${_pkgver}"
        'use-python2.patch')
sha1sums=('b1bfa9e3303ce9c95eec0a1e66b2b812b844bf08'
          '315b6ff603f35e5492a036f7082f6aa075dfb607')

build() {
  cd webkit-qtwebkit-23

  patch -p1 -i "${srcdir}"/use-python2.patch

  OPTS="--no-webkit2"
  if [ "${CARCH}" = "i686" ]; then
      # FS#33418
      OPTS="${OPTS} --no-sse2 --debug"
  fi

  export QTDIR=/usr
  Tools/Scripts/build-webkit --qt \
    --makeargs="${MAKEFLAGS}" \
    --prefix=/usr \
    ${OPTS}
}

package() {
  cd webkit-qtwebkit-23
  make INSTALL_ROOT="${pkgdir}" -C WebKitBuild/Release install
}

Sadly, now I am getting an error at the build process:

 
moc Api/qwebkitplatformplugin.h
compiling .moc/debug-shared/moc_qwebkitplatformplugin.cpp
moc Api/qwebhistoryinterface.h
compiling .moc/debug-shared/moc_qwebhistoryinterface.cpp
moc Api/qwebpluginfactory.h
compiling .moc/debug-shared/moc_qwebpluginfactory.cpp
moc Api/qwebinspector.h
compiling .moc/debug-shared/moc_qwebinspector.cpp
moc Api/qwebplugindatabase_p.h
compiling .moc/debug-shared/moc_qwebplugindatabase_p.cpp
moc WebCoreSupport/InspectorServerQt.h
compiling .moc/debug-shared/moc_InspectorServerQt.cpp
moc WebCoreSupport/QtFallbackWebPopup.h
compiling .moc/debug-shared/moc_QtFallbackWebPopup.cpp
moc WebCoreSupport/FullScreenVideoQt.h
compiling .moc/debug-shared/moc_FullScreenVideoQt.cpp
rcc ../../WebCore/WebCore.qrc
compiling .rcc/debug-shared/qrc_WebCore.cpp
rcc ../../WebCore/inspector/front-end/WebKit.qrc
compiling .rcc/debug-shared/qrc_WebKit.cpp
rcc ../../WebCore/generated/InspectorBackendStub.qrc
compiling .rcc/debug-shared/qrc_InspectorBackendStub.cpp
rm -f libQtWebKit.so.4.9.2 libQtWebKit.so libQtWebKit.so.4 libQtWebKit.so.4.9
linking ../../../../../../lib/libQtWebKit.so.4.9.2
g++: error: no se reconoce la opción de línea de órdenes ‘-fuse-ld=gold’
g++: error: no se reconoce la opción de línea de órdenes ‘-fuse-ld=gold’
g++: error: no se reconoce la opción de línea de órdenes ‘-fuse-ld=gold’
make[2]: *** [../../../../../../lib/libQtWebKit.so.4.9.2] Error 1
make[2]: se sale del directorio `/home/zuargo/Paquetes/qt/src/qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit/qt'
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2
make[1]: se sale del directorio `/home/zuargo/Paquetes/qt/src/qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2
==> ERROR: Se produjo un error en build().
    Cancelando...

Then I tried to build the package in a clean chroot but I get another error (something related to the chroot directory, not about the build process)

I will keep trying to build the package in a clean chroot.

Greetings

Offline

#4 2013-04-20 02:59:44

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

Re: No debugging symbols for libQtWebKit.so.4 after editing PKGBUILD?

After about one month I have been able to build packages in a chroot environment.

Sadly, now I get another error by trying to build qtwebkit in the chroot directory, this one:

NOTIFICATIONS=1 ENABLE_PAGE_VISIBILITY_API=1 ENABLE_PROGRESS_ELEMENT=1 ENABLE_REQUEST_ANIMATION_FRAME=1 ENABLE_RESOLUTION_MEDIA_QUERY=1 ENABLE_SHARED_WORKERS=1 ENABLE_SMOOTH_SCROLLING=1 ENABLE_SQL_DATABASE=1 ENABLE_SVG=1 ENABLE_TOUCH_ADJUSTMENT=1 ENABLE_TOUCH_EVENTS=1 ENABLE_VIDEO=1 ENABLE_WEBGL=1 ENABLE_WEB_SOCKETS=1 ENABLE_WEB_TIMING=1 ENABLE_WORKERS=1 ENABLE_XHR_TIMEOUT=1 ENABLE_XSLT=1" --generator JS --include Modules/filesystem --include Modules/geolocation --include Modules/indexeddb --include Modules/mediasource --include Modules/notifications --include Modules/quota --include Modules/webaudio --include Modules/webdatabase --include Modules/websockets --include css --include dom --include editing --include fileapi --include html --include html/canvas --include html/shadow --include html/track --include inspector --include loader/appcache --include page --include plugins --include storage --include svg --include testing --include workers --include xml --outputDir generated --supplementalDependencyFile 
generated/supplemental_dependency.tmp --preprocessor "/usr/lib/qt4/bin/moc -E" /build/src/webkit-qtwebkit-23/Source/WebCore/Modules/gamepad/NavigatorGamepad.idl
make[3]: Leaving directory `/build/src/webkit-qtwebkit-23/WebKitBuild/Debug/Source/WebCore'
QMAKEPATH=/build/src/webkit-qtwebkit-23/Tools/qmake /usr/lib/qt4/bin/qmake /build/src/webkit-qtwebkit-23/Source/WebCore/Target.pri CONFIG+=no_webkit2 CONFIG+=no_force_sse2 CONFIG-=release CONFIG+=debug -o Makefile.WebCore.Target
make[2]: Leaving directory `/build/src/webkit-qtwebkit-23/WebKitBuild/Debug/Source/WebCore'
make[1]: Leaving directory `/build/src/webkit-qtwebkit-23/WebKitBuild/Debug'

I have searched for similar errors on the web, but I had no luck. Maybe because I know not what words to use in the search.

Offline

Board footer

Powered by FluxBB