dpkg default flags break compilation

Bug #481085 reported by salsaman on 2009-11-12
This bug affects 5 people
Affects Status Importance Assigned to Milestone
lives (Ubuntu)

Bug Description

Binary package hint: dpkg

dpkg sets LDFLAGS to -Wl,-Bsymbolic-functions. This causes bugs and crashes in the LiVES package.

The LiVES package has very specific LDFLAGS, CFLAGS and so on. These should not be overwritten.

I consider this a very serious issue.

dpkg should not set any of these flags for projects, or at the very least there should at least be a way to override the flag setting.

IMO this is a very bad design decision.

The problem has been noted in at least ubuntu 9.10, possibly other versions have it.

Harry Rickards (hrickards) wrote :


Some more information:

As far as I can tell this only affects jaunty, karmic and lucid. The problem seems to be introduced in 1.14.24ubuntu1 and previous versions of Ubuntu don't contain this version or higher.

To reproduce this problem simply try to compile problems such as LiVES (source package name lives) with a dpkg version higher than 1.14.24ubuntu1. Looking through the build log you should see that LDFLAGS has been set to -Wl,-Bsymbolic-functions. See http://launchpadlibrarian.net/34342772/buildlog_ubuntu-karmic-amd64.lives_1.1.4-1_FULLYBUILT.txt.gz for an example.

While this issue is being resolved, please could someone make sure that the relevant changes don't get synced across to Debian? The last thing we need is lives and other programs on Debian *and* Ubuntu crashing because of a dpkg bug.

João Pinto (joaopinto) on 2009-11-15
description: updated
salsaman (salsaman) wrote :

Hello, is anybody from ubuntu going to have the courtesy to respond to this ?

Some additional information:

- this bug is now blocking LiVES 1.1.6 and higher from ubuntu, leaving only LiVES 1.1.4 in Karmic. This earlier version had some other unrelated bugs, so it does not give a good impression considering it was the first package version of LiVES in ubuntu.

- versions of LiVES on getdeb.net have been built without the incorrectly set LDFLAGS default. These packages work flawlessly.

- the manpage for dpkg-buildpkg clearly states that the default for LDFLAGS is empty. See http://man.cx/dpkg-buildpackage(1). Therefore the problem is specific to ubuntu and not to dpkg.

Harry Rickards (hrickards) wrote :

Please could someone respond!

Ilya Barygin (randomaction) wrote :

It is possible to reset LDFLAGS in the rules file like this:

#!/usr/bin/make -f
 dh $@

I think this is what you want (although I'm a bit confused by the fact that for some parts of LiVES (weed-plugins) -Wl,-Bsymbolic-functions is set by upstream Makefiles). Sure you can reset CFLAGS the same way if you need to.

If there are significant problems in Karmic package which can demonstrably be solved by rebuilding without -Wl,-Bsymbolic-functions, it's possible to do that. See https://wiki.ubuntu.com/StableReleaseUpdates for the procedure.

I'm reassigning this bug to LiVES because that's where action needs to be taken.

affects: dpkg (Ubuntu) → lives (Ubuntu)
Harry Rickards (hrickards) wrote :

Ok, thanks for the advice. This will be fixed in 1.1.8 which should be uploaded soon.

Changed in lives (Ubuntu):
assignee: nobody → Harry Rickards (hrickards)
status: New → In Progress
Harry Rickards (hrickards) wrote :

Fixed in Debian and sync requested to Ubuntu, see LP bug #505914

Changed in lives (Ubuntu):
assignee: Harry Rickards (hrickards) → nobody
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lives - 1.1.8-2

lives (1.1.8-2) unstable; urgency=low

  [ Harry Rickards ]
  * Changed maintainer to Debian Multimedia Maintainers
  * Started using git
  * Moved dirac_encoder to lives_dirac_encoder (Closes: #564665)
  * Made removepy patch have DEP-3 compliant header
  * Removed the old VCS tags for SVN
  * Added myself to Uploaders:
  * Moved from dpatch to quilt
  * Added VCS-Git and VCS-Browser tags
  * Added upstream patch that fixes image loading. Will be released
    upstream in 1.1.9
  * Removed frei0r-plugins-dev for powerpc
  * Removed unnecessary build-depends on python
  * Removed libdirac-encoder0 and libdirac-decoder0 as they should
    be pulled in via shlibs.
  * Updated to use Debian fork of cdda2wav, icedax.
  * Added more detail to debian/README.source and updated for quilt
  * Added debian/README.Debian giving details about transcode,
    mencoder and mjpegtools
  * Added theora and ogg to Recommends: in debian/control so users at
    least have ogg and theora to encode in

  [ Alessio Treglia ]
  * debian/rules:
    - Don't include quilt.make rules file, it's unnecessary.
    - Adjust clean target properly.
  * debian/control:
    - Set debhelper build-dependency version to 7.0.50~ (to make backporters'
      life easy).
    - Bump-up quilt to (at least) 0.46-7~.
    - Add myself to the Uploaders field.
    - Replace libjack0.100.0-dev with libjack-dev.
    - Drop unnecessary dependencies already provided by shlibs files.
    - Small corrections to the runtime packages description.
  * debian/patches/removepy.diff:
    - Converted to quilt format.
  * Remove debian/LiVES.desktop, the same file is already provided by

  [ Reinhard Tartler ]
  * use multiline depends for lives' recommends field

lives (1.1.8-1) unstable; urgency=low

  * New upstream release (LP: #503348)

lives (1.1.7-1) unstable; urgency=low

  * Added marcos-encoders (Closes: #562515) and added a patch to make this work
  * Because of the patch added dpatch to debian/rules and debian/control
  * New upstream release (Closes: #555563)
  * Added dirac and ffmpeg to debian/control for marcos-encoders
  * Set default dpkg flags to none (LP: #481085)
 -- Harry Rickards <email address hidden> Mon, 18 Jan 2010 05:44:37 +0000

Changed in lives (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers