You are not logged in.

#1 2004-07-19 19:39:08

Thikasabrik
Member
Registered: 2004-02-23
Posts: 92

NPTL - Can't do LD_ASSUME_KERNEL=2.4.x due to missing libs

Some of you may be aware that the jack audio connection kit does not play nicely with the NPTL glibc due to problems setting priorities. A workaround for this is, apparently, to set LD_ASSUME_KERNEL to 2.4.19 before starting jack, to use the old threading system. This doesn't work with arch's NPTL glibc - every program that I try to start after setting this env variable complains of missing libs, like libc.so.6 (I think), so I assume that arch differs from other nptl distros in not including the libraries required. Or something. Is there something I can do about this?

Offline

#2 2004-07-19 22:06:44

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: NPTL - Can't do LD_ASSUME_KERNEL=2.4.x due to missing libs

NPTL      base      glibc      2.3.3-1t2      GNU C Library with NPTL (** KERNEL 2.6 ONLY **)

ntpl is essentially a test reposotory and is only set up for 2.6 kernels. according to the arch developers nptl is not compatable with 2.4 kernels .... at least for arch.

if you want better compatablility either fix what needs fixing to the existing packages or move to a 2.6 kernel.


i believe the 2.4/2.6 capatability is mentioned in the news release about the nptl repo.


AKA uknowme

I am not your friend

Offline

#3 2004-07-19 22:38:27

i3839
Member
Registered: 2004-02-04
Posts: 1,185

Re: NPTL - Can't do LD_ASSUME_KERNEL=2.4.x due to missing libs

(He has the 2.6 kernel)

Try the development (CVS) version of Jack, they should have fixed it already. Look at their site for more info, changelogs etc. or anything else indicating that this is the case.

Offline

#4 2004-07-20 18:28:17

Thikasabrik
Member
Registered: 2004-02-23
Posts: 92

Re: NPTL - Can't do LD_ASSUME_KERNEL=2.4.x due to missing libs

Ok - a glance at the jack-devel archives has solved this for me. Here is a patch I found there that works for me. I called it jacknptl.diff ...

 --- client.c.old    2004-04-14 05:38:32.000000000 +0200
 +++ client.c    2004-07-18 11:58:36.675323392 +0200
 @@ -1342,6 +1342,11 @@
  
          pthread_attr_init (attributes);
  
 +        if (pthread_attr_setinheritsched (attributes, PTHREAD_EXPLICIT_SCHED)) {
 +            jack_error ("cannot set inherit attributen");
 +            return -1;
 +        }
 +        
          if (pthread_attr_setschedpolicy (attributes, SCHED_FIFO)) {
              jack_error ("cannot set FIFO scheduling class for RT "
                      "thread");

And here is a modified PKGBUILD that will build jack with this patch...

# $Id: PKGBUILD,v 1.2 2004/07/13 23:17:44 tobias Exp $
# Maintainer: tobias <tobias@archlinux.net>
# Contributor: Robert Emil Berge <robert@rebi.no>

pkgname=jack-audio-connection-kit
pkgver=0.98.1
pkgrel=3t1
pkgdesc="a low-latency audio server"
depends=('libsndfile' 'bash')
makedepends=('doxygen')
install=jack-audio-connection-kit.install
url="http://jackit.sourceforge.net/"
backup=(/etc/conf.d/jack-audio-connection-kit)
source=(http://heanet.dl.sourceforge.net/sourceforge/jackit/$pkgname-$pkgver.tar.gz 
        $pkgname.d $pkgname.conf.d jacknptl.diff )
md5sums=('6ebd659a431e75b841fa5e0c397372ee' '4dcba5381e45bd449def164927854e48'
         '0517b67ef912e2a84b6a15dea2dc2680')

build() {
  cd $startdir/src/$pkgname-$pkgver/libjack
  patch < $startdir/src/jacknptl.diff
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install
  install -D -m 755 ../$pkgname.d $startdir/pkg/etc/rc.d/$pkgname
  install -D -m 644 ../$pkgname.conf.d $startdir/pkg/etc/conf.d/$pkgname
}

In case anyone wants that too.

Offline

Board footer

Powered by FluxBB