Comment 3 for bug 486079

Revision history for this message
Brian Candler (b-candler) wrote :

I suffer the same problem - if I want to compile couchdb from source against libmozjs-dev (*1), I am forced to uninstall firefox first (*2)

It appears there is a declared package conflict between xulrunner-1.9.1 and libmozjs-dev:

$ apt-cache show xulrunner-1.9.1 | grep Conflicts
Conflicts: j2re1.4, libmozjs-dev, libxul-dev
Conflicts: j2re1.4, libmozjs-dev, libxul-dev

This seems odd because there is no conflict between xulrunner-1.9.1 and libmozjs0d (the runtime packages). Both include a libmozjs.so albeit in different directories. So why would the runtime xulrunner-1.9.1 conflict with the development libmozjs-dev, if the two runtimes don't conflict?

Furthermore, there is no conflict between the two development packages, xulrunner-1.9.1-dev and libmozjs-dev:

$ apt-cache show xulrunner-1.9.1-dev | grep Conflicts
Conflicts: libxul-dev, mozilla-dev, xulrunner-1.9-dev, xulrunner-1.9.2-dev
Conflicts: libxul-dev, mozilla-dev, xulrunner-1.9-dev, xulrunner-1.9.2-dev
$ apt-cache show xulrunner-dev | grep Conflicts
$ apt-cache show libmozjs-dev | grep Conflicts
Conflicts: mozilla-browser (<< 2:1.8)
$

I think that is correct, because xulrunner-1.9.1-dev installs all its files under named directories like
/usr/lib/xulrunner-devel-1.9.1.5

I've checked whether there are any individual file conflicts:

$ dpkg-query -L xulrunner-1.9.1 >xulrunner-1.9.1.files
$ dpkg-query -L xulrunner-1.9.1-dev >xulrunner-1.9.1-dev.files
$ dpkg-query -L xulrunner-dev >xulrunner-dev.files
... install libmozjs-dev ...
$ dpkg-query -L libmozjs0d >libmozjs0d.files
$ dpkg-query -L libmozjs-dev >libmozjs-dev.files
$ cat *.files | sort | uniq -c | grep -v ' 1 '
      5 /.
      5 /usr
      2 /usr/include
      4 /usr/lib
      2 /usr/lib/pkgconfig
      2 /usr/lib/xulrunner-1.9.1.5
      5 /usr/share
      5 /usr/share/doc

So there are no overlaps, apart from common directories of course.

IMO it seems the declared conflict is superfluous, but there may be some subtle reason for it that I'm not aware of. If there is a real conflict, perhaps the two runtimes should conflict, or the two dev packages should conflict.

Regards,

Brian.

(*1) It's possible to build couchdb against xulrunner-dev if you jump through some hoops with LD_RUN_PATH, but that's beside the point.

(*2) I am running xubuntu karmic so I don't lose as many packages as the OP, because couchdb is not part of xubuntu-desktop. But I do lose firefox and related packages like ubufox.