From owner-freebsd-current Thu May 28 04:58:46 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA28346 for freebsd-current-outgoing; Thu, 28 May 1998 04:58:46 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from hda.hda.com (hda-bicnet.bicnet.net [208.220.66.37]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA28326 for ; Thu, 28 May 1998 04:58:42 -0700 (PDT) (envelope-from dufault@hda.hda.com) Received: (from dufault@localhost) by hda.hda.com (8.8.5/8.8.5) id HAA20418; Thu, 28 May 1998 07:34:51 -0400 (EDT) From: Peter Dufault Message-Id: <199805281134.HAA20418@hda.hda.com> Subject: Re: cdrecord trouble on currnet In-Reply-To: <199805271425.QAA00517@trantor.stuyts.nl> from Paul van der Zwan at "May 27, 98 04:25:34 pm" To: paulz@trantor.stuyts.nl (Paul van der Zwan) Date: Thu, 28 May 1998 07:34:50 -0400 (EDT) Cc: freebsd-current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL25 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > > I am getting write errors on my Philips 2600 CD-R using cd-write and burncd.sh > (from /usr/share/examples/worm/ ) so I thought , I'l compile cdrecord and try > that. But I get the following error when truying to do a dummy burn: > > $ sudo cdrecord -dev=0,4,0 -data -dummy /scratch/img/psnl > Cdrecord release 1.6 Copyright (C) 1995-1998 Jörg Schilling > cdrecord: Function not implemented. WARNING: Cannot set RR-scheduler > Bus error (core dumped) > > > This is a freshly compiled port on a current cvsupped today. (I wonder why he is trying to use the round robin scheduler - I expect he wants the FIFO one). Cdrecord has autoconf'd in the P1003.1B scheduler interface. I'm probably going to have to change how I did things, but the program may need fixing also. By default, with nothing defined, the new system calls are setup to be LKM'd in for development and will fail at run time with ENOSYS or if you check for their presense with sysconf(). You can add build time support with the _KPOSIX_PRIORITY_SCHEDULING option in the kernel. See how cdrecord is deciding to use priority scheduling. If it decides that a program that links OK without checking any compile time feature test macros means that priority scheduling is supported, then that should be changed. I've been told some programs are doing this (not specifically cdrecord). If you set _POSIX_C_SOURCE to 199009L with a -D in the makefile and cderecord still tries to use the round robin scheduler then someone has screwed up - either us or cdrecord - so try that too. I wasn't as naive as it might seem by setting this up the way I have (configured for an LKM). These (POSIX required) run time options are a pain to figure out how to support, and eventually there will be a mixture of systems supporting different options. Either everything becomes required, adding to kernel bloat, or programs will fail this way when there is a mixture of systems out there. You will build on one system with all support configured in and then run on another system and the programs won't handle ENOSYS properly. Peter -- Peter Dufault (dufault@hda.com) Realtime development, Machine control, HD Associates, Inc. Safety critical systems, Agency approval To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message