You are not logged in.
I'm the maintainer for xvnkb (a vietnamese input method) but I've got a problem in making an Arch package for it:
Here is the PKGBUILD:
# Maintainer: Truong Xuan Tinh <tinh.truong@evolus.vn>
# Contributor: kyanh <kyanh@gmail.com>
pkgname=xvnkb
pkgver=0.2.9a
pkgrel=3
pkgdesc="Vietnamese Keyboard"
arch=('i686')
license=('GPL')
url=("http://xvnkb.sf.net/")
source=(http://xvnkb.sourceforge.net/$pkgname-$pkgver.tar.bz2)
depends=('glibc' 'freetype2' 'libxft' 'libxrender')
provides=('xvnkb')
md5sums=('cd242c03831c31cc5b294aa9870a0dc4')
build() {
cd $srcdir/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make DESTDIR=$pkgdir install || return 1
}
Here is full output of the build process:
==> Making package: xvnkb 0.2.9a-3 i686 (Tue Feb 17 12:29:42 ICT 2009)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
-> Downloading xvnkb-0.2.9a.tar.bz2...
--2009-02-17 12:29:43-- http://xvnkb.sourceforge.net/xvnkb-0.2.9a.tar.bz2
Resolving xvnkb.sourceforge.net... 216.34.181.96
Connecting to xvnkb.sourceforge.net|216.34.181.96|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 76429 (75K) [application/x-bzip2]
Saving to: `xvnkb-0.2.9a.tar.bz2.part'
100%[===================================================================================================================>] 76,429 52.3K/s in 1.4s
2009-02-17 12:29:46 (52.3 KB/s) - `xvnkb-0.2.9a.tar.bz2.part' saved [76429/76429]
==> Validating source files with md5sums...
xvnkb-0.2.9a.tar.bz2 ... Passed
==> Extracting Sources...
-> bsdtar -x -f xvnkb-0.2.9a.tar.bz2
==> Entering fakeroot environment...
==> Starting build()...
Configuration for xvnkb 0.2.9a on Linux
Type "./configure --help" for more information
Checking uchar... no
Checking ushort... yes
Checking uint... yes
Checking ulong... yes
Checking dynamic linking loader... yes
Checking X11 lib... /usr/X11R6
Checking pkg-config... yes
Checking Xft... yes
Compile options:
Enable XFT: yes
Enable spell checking: yes
Enable extended keystroke: no
Enable ABC liked Telex keystroke: no
done.
Type "make" to compile
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c xvnkb.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c visckey.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c property.c
cc -march=i686 -mtune=generic -O2 -pipe -shared -fpic -Wl,-soname,xvnkb.so.0.2.9a xvnkb.o visckey.o property.o -o xvnkb.so.0.2.9a -L/usr/X11R6/lib -ldl
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c data.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c flash.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c main.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c event.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c mainwin.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c menu.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c hotkey.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c systray.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c mode.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c session.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c xconfig.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c xresource.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c label.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c button.c
cc -fpic -march=i686 -mtune=generic -O2 -pipe -fomit-frame-pointer -D_REENTRANT -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -Wall -I/usr/X11R6/include -c msgbox.c
cc -march=i686 -mtune=generic -O2 -pipe data.o flash.o main.o event.o mainwin.o menu.o hotkey.o systray.o mode.o property.o session.o xconfig.o xresource.o label.o button.o msgbox.o -o xvnkb -L/usr/X11R6/lib -lX11 -ldl -lXft -lXrender -lfontconfig -lfreetype -lz -lX11
make[1]: Entering directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
Create Makefile.dep ... done
make[2]: Entering directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c xvnkb_ctrl.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c data.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c mode.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c property.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c xconfig.c
cc -march=i686 -mtune=generic -O2 -pipe -o xvnkb_ctrl xvnkb_ctrl.o data.o mode.o property.o xconfig.o -L/usr/X11R6/lib -lX11
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c xvnkb_setup.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c xresource.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c event.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c button.c
cc -march=i686 -mtune=generic -O2 -pipe -DUSE_XFT -I/usr/include/freetype2 -DVERSION=\"0.2.9a\" -DXVNKB_TOOL -Wall -I/usr/X11R6/include -c msgbox.c
cc -march=i686 -mtune=generic -O2 -pipe -o xvnkb_setup xvnkb_setup.o data.o xresource.o event.o button.o msgbox.o -L/usr/X11R6/lib -lX11 -lXft -lXrender -lfontconfig -lfreetype -lz -lX11
make[2]: Leaving directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
make[1]: Leaving directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
make[1]: Entering directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/tinh/abs/xvnkb/src/xvnkb-0.2.9a/tools'
Copy xvnkb => /usr/local/bin ... cp: cannot create regular file `/usr/local/bin/xvnkb': Permission denied
Copy xvnkb.so.0.2.9a => /usr/local/lib ... cp: cannot create regular file `/usr/local/lib/xvnkb.so.0.2.9a': Permission denied
Copy xvnkb_localeconf.sh => /usr/local/bin ... cp: cannot create regular file `/usr/local/bin/xvnkb_localeconf.sh': Permission denied
Initialize xvnkb core ... cp: cannot create regular file `/lib/xvnkb.so.0.2.9a': Permission denied
chattr: No such file or directory while trying to stat /lib/xvnkb.so.0.2.9a
./xvnkb_install: line 67: /etc/ld.so.preload: Permission denied
done
If you want to input Vietnamese Unicode, please run
# /usr/local/bin/xvnkb_localeconf.sh en_US.utf8.UTF-8
and set your LANG to en_US.utf8.UTF-8.
See xvnkb documents for more information.
You can use xvnkb now! If you are using X, please restart your Window Manager.
It will load xvnkb core control automatically for you and affect to all
applications. Right now, xvnkb core control can affect to new starting
applications only. Run "xvnkb" to control status.
==> Tidying install...
-> Compressing man pages...
-> Stripping debugging symbols from binaries and libraries...
==> Creating package...
-> Generating .PKGINFO file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: xvnkb 0.2.9a-3 i686 (Tue Feb 17 12:29:58 ICT 2009)
And here is the error output (a part of the log output above):
Copy xvnkb => /usr/local/bin ... cp: cannot create regular file `/usr/local/bin/xvnkb': Permission denied
Copy xvnkb.so.0.2.9a => /usr/local/lib ... cp: cannot create regular file `/usr/local/lib/xvnkb.so.0.2.9a': Permission denied
Copy xvnkb_localeconf.sh => /usr/local/bin ... cp: cannot create regular file `/usr/local/bin/xvnkb_localeconf.sh': Permission denied
Initialize xvnkb core ... cp: cannot create regular file `/lib/xvnkb.so.0.2.9a': Permission denied
chattr: No such file or directory while trying to stat /lib/xvnkb.so.0.2.9a
./xvnkb_install: line 67: /etc/ld.so.preload: Permission denied
It seems that the application try to execute a custom script in 'make install'.
Any help are appreciated.
Last edited by tinhtruong (2009-02-18 02:17:18)
Offline
It seems that the application try to execute a custom script in 'make install'.
Any help are appreciated.
Instead of hacking their xvnkb_install script, I would just install with these lines (based on ebuild). Keep in mind that I don't really have a way of testing whether the program will work properly.
install -Dm755 xvnkb "$pkgdir/usr/bin/xvnkb"
install -Dm755 tools/xvnkb_ctrl "$pkgdir/usr/bin/xvnkb_ctrl"
install -Dm755 xvnkb.so.$pkgver "$pkgdir/usr/lib/xvnkb.so.$pkgver"
ln -sf xvnkb.so.$pkgver "$pkgdir/usr/lib/xvnkb.so"
and xvnkb.install (not sure if this is necessary on Arch, but the ebuild gives this message):
post_install() {
echo ">>> The following command needs to be run before starting X:"
echo ">>> $ export LD_PRELOAD=/usr/lib/xvnkb.so"
}
post_upgrade() {
post_install $1
}
and just a couple small notes:
- provides=('xvnkb') is unnecessary here
- glibc/freetype2/libxrender dependencies are unnecessary since they are all included in libxft
- url shouldn't have parentheses since it's not an array:
url="http://xvnkb.sf.net/"
Last edited by tdy (2009-02-17 07:47:24)
Offline
Thanks tdy,
I have updated the PKGBUILD and the xvnkb.install file to the AUR.
But I have a small problem. When xvnkb is running, the CPU usage of xvnkb and X is too high.
xvnkb is not running:
xvnkb is running
I don't know what may cause this problem.
Any help are appreciated.
Offline
Well, I can't really help you with the cpu issue. One thing to note is that xvnkb was last updated 4 years ago, so maybe it's buggy.. I don't know.
Last edited by tdy (2009-02-17 15:12:01)
Offline