You are not logged in.

#1 2016-02-05 20:49:19

VenomGameworld
Member
Registered: 2009-07-12
Posts: 39

[SOLVED] Package containing "lib64" directory instead of "lib"

Hi,

Up till recently I've used Pantheon-files which I downloaded as a binary package from Alucryd's repository. Due to a thumbnailing issue I decided to try a different branch which I compiled myself. When I try to install this binary package though the -U switch of Pacman it tells me:

error: failed to commit transaction (conflicting files)
pantheon-files-fix: /usr/lib64 exists in filesystem
Errors occurred, no packages were upgraded.

The directory isn't owned by pantheon-files, but by filesystem (I've checked using pacman -Qo). However: when I compare the contents of the binary package from Alucryd with the one I've compiled, there's a difference in the contents of the parent "usr"-folder.
Alucryd's package contains a "lib"-subdirectory, while mine contains a "lib64"-subdir. Their contents seem to be the same. This is likely the cause of the Pacman error, but where does this difference come from?

I use a x64 system with no multilibs enabled and Pacman is configured to build for x86_64.

This is the PKGBUILD file I created:

# [url]https://bugs.launchpad.net/pantheon-files/+bug/1512376[/url]
# [url]https://code.launchpad.net/~jeremywootten/pantheon-files/fix-1458398-option-thumbnail-remote[/url]

pkgname=pantheon-files-fix
pkgver=r1950
pkgrel=1
pkgdesc='The Pantheon File Manager'
arch=('x86_64')
url='https://bugs.launchpad.net/pantheon-files/+bug/1512376'
license=('GPL3')
groups=('pantheon-unstable')
depends=('desktop-file-utils' 'gconf' 'granite-bzr' 'libnotify' 'zeitgeist')
makedepends=('bzr' 'cmake' 'gnome-common' 'sqlite3' 'vala')
optdepends=('contractor-bzr: Various context menu entries'
            'pantheon-files-plugin-dropbox-bzr: Dropbox integration'
            'tumbler: Thumbnails generation')
provides=('pantheon-files')
conflicts=('pantheon-files')
install='pantheon-files.install'
source=('bzr+lp:~jeremywootten/pantheon-files/fix-1458398-option-thumbnail-remote')
sha256sums=('SKIP')

pkgver() {
  cd fix-1458398-option-thumbnail-remote

  echo "r$(bzr revno)"
}

build() {
  cd fix-1458398-option-thumbnail-remote

  if [[ -d build ]]; then
    rm -rf build
  fi
  mkdir build && cd build

  cmake .. \
    -DCMAKE_BUILD_TYPE='Release' \
    -DCMAKE_INSTALL_PREFIX='/usr' \
    -DCMAKE_SKIP_RPATH='TRUE' \
    -DGSETTINGS_COMPILE='FALSE'
  make
}

package() {
  cd fix-1458398-option-thumbnail-remote/build

  make DESTDIR="${pkgdir}" install
}

# vim: ts=2 sw=2 et:

Could anyone help me with this strange issue?

Thanks in advance!

Last edited by VenomGameworld (2016-02-07 20:57:22)

Offline

#2 2016-02-05 22:07:00

metak
Member
Registered: 2009-09-27
Posts: 198

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

Try adding '-DCMAKE_INSTALL_LIBDIR=/usr/lib' to cmake?

Offline

#3 2016-02-05 22:14:06

oliver
Member
Registered: 2007-12-12
Posts: 448

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

Hope no-one minds me jumping in here but I'm having the same issue with a different pkg.. my cmake options are (now)

mkdir build && cd build
  cmake .. \
    -DCMAKE_BUILD_TYPE='Release' \
    -DCMAKE_INSTALL_PREFIX='/usr' \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib
  make

Still the same error though

(1/1) checking keys in keyring                                            [------------------------------------------] 100%
(1/1) checking package integrity                                          [------------------------------------------] 100%
(1/1) loading package files                                               [------------------------------------------] 100%
(1/1) checking for file conflicts                                         [------------------------------------------] 100%
error: failed to commit transaction (conflicting files)
zrtpcpp: /usr/lib64 exists in filesystem
Errors occurred, no packages were upgraded.
==> WARNING: Failed to install built package(s).

Offline

#4 2016-02-05 22:38:04

metak
Member
Registered: 2009-09-27
Posts: 198

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

@oliver

prepare() {
  sed 's/lib64/lib/g' -i ZRTPCPP-${pkgver}/CMakeLists.txt
}

Does that work for you?

Offline

#5 2016-02-05 23:28:56

oliver
Member
Registered: 2007-12-12
Posts: 448

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

metak wrote:

@oliver

prepare() {
  sed 's/lib64/lib/g' -i ZRTPCPP-${pkgver}/CMakeLists.txt
}

Does that work for you?

yes - thank you

Offline

#6 2016-02-07 20:56:56

VenomGameworld
Member
Registered: 2009-07-12
Posts: 39

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

@ metak: thanks! Your first suggestion fixed it for me!

@ oliver: you forgot the quotes in your path, maybe that's the reason why it didn't worked at first?
This does it for me:

  cmake .. \
    -DCMAKE_BUILD_TYPE='Release' \
    -DCMAKE_INSTALL_PREFIX='/usr' \
    -DCMAKE_INSTALL_LIBDIR='/usr/lib' \
    -DCMAKE_SKIP_RPATH='TRUE' \
    -DGSETTINGS_COMPILE='FALSE'
  make

Offline

#7 2016-02-08 00:24:00

oliver
Member
Registered: 2007-12-12
Posts: 448

Re: [SOLVED] Package containing "lib64" directory instead of "lib"

VenomGameworld wrote:

@ oliver: you forgot the quotes in your path, maybe that's the reason why it didn't worked at first?

Great catch!  Thanks.

Offline

Board footer

Powered by FluxBB