You are not logged in.

#1 2007-04-24 12:42:01

[vEX]
Member
From: Sweden
Registered: 2006-11-23
Posts: 450

Making PyPanel work with Arch64

I was a bit bored and thought I'd try get PyPanel working, I already ran it through gdb some months ago and discovered why it would segfault on Arch64:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47160048180000 (LWP 8168)]
0x00002ae44e8c0cbf in __imlib_amd64_blend_rgba_to_rgb_cmod ()
from /usr/lib/libImlib2.so.1

Hence the problem is not with PyPanel, but with libImlib2.so.1, which is owned by the imlib2 package.

So I figured I'd google and see what I could find, and what do you know, I stumble across the solution almost right away. The folks over at the Debian mailing list already identified the bug and a way to solve it: http://www.mail-archive.com/debian-bugs … 65634.html.

Now all I needed to do was to update abs, copy the PKGBUILD and modify it, and while at it I moved from 1.2.2 to 1.3.0. PyPanel is now running on Arch64 for me. (I've no idea if the MMX-optimizations are working or not though since I don't have a i686 machine to test them on, I do know they won't work on x86_64 though)

# $Id: PKGBUILD,v 1.8 2006/06/30 12:22:18 tpowa Exp $
# Maintainer: arjan <arjan@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=imlib2
pkgver=1.3.0
pkgrel=1
pkgdesc="Imlib2 is the successor to Imlib. It is NOT a newer version -- Imlib 2 can be installed alongside Imlib 1.x"
arch=(i686 x86_64)
url="http://sourceforge.net/projects/enlightenment"
depends=('libtiff' 'libungif' 'bzip2' 'freetype2' 'libxext' 'libpng' 'libid3tag')
source=(http://download.sourceforge.net/sourceforge/enlightenment/$pkgname-$pkgver.tar.gz)
md5sums=('00b724fc6d2dcfa3045bb6a554bb2c8a')

build() {
  cd $startdir/src/$pkgname-$pkgver
  
  # Enable x86 MMX optimizations for i686 (32-bit assembler code not compatible with x86_64)
  [ "${CARCH}" == "i686" ] && EXTRAOPTS="--enable-mmx"
  # Disable AMD64 optimizations due to bug in assembler code
  [ "${CARCH}" == "x86_64" ] && EXTRAOPTS="--disable-amd64"
  
  ./configure --prefix=/usr --sysconfdir=/etc/imlib2 ${EXTRAOPTS}
  make || return 1
  make DESTDIR=$startdir/pkg install
  find $startdir/pkg -name '*.la' -exec rm {} \;
}

Also put the info on Flyspray: http://bugs.archlinux.org/task/6367.


PC: Antec P182B | Asus P8Z77-V PRO | Intel i5 3570k | 16GB DDR3 | GeForce 450GTS | 4TB HDD | Pioneer BDR-207D | Asus Xonar DX | Altec Lansing CS21 | Eizo EV2736W-BK | Arch Linux x86_64
HTPC: Antec NSK2480 | ASUS M3A78-EM (AMD 780G) | AMD Athlon X3 425 | 8GB DDR2 | GeForce G210 | 2TB HDD | Arch Linux x86_64
Server: Raspberry Pi (model B) | 512MB RAM | 750GB HDD | Arch Linux ARM

Offline

Board footer

Powered by FluxBB