MC/cdrtools interaction

You think you have found a bug? Let us know about it.
Post Reply
toothandnail
Posts: 165
Joined: 20. Sep 2009, 17:30
Location: Oxfordshire, UK

MC/cdrtools interaction

Post by toothandnail »

I use MC a lot. Today I tried to use it to unpack the new Xfce live CD to a memory stick. And hit a strange problem. I got a series of parsing errors from MC, followed by two lines of 'setting screen to UTF.8 using locale settings', and then an empty directory tree. I was able to unpack the iso using Isomaster, but, because I use MC so much, I wanted to see if I could track the problem down.

In order to view iso contents, mc uses isoinfo (which, under Slaix is in cdrtools, a Slackware package). Running isoinfo from the command line gets me the UTF.8 error message (but only once, not twice), and then outputs the contents of the iso without any errors - it seems that the parsing error is in the way mc is interperting the output from isoinfo.

Under Vector Linux, using the same build of mc and cdrkit, no errors reading the contents of any iso. It doesn't seem to be dependant on the mc build - its happening with the standard Slackware version in Salix and also with my own 4.7.4 build.

The error doesn't happen on all isos, but it happens on the new Salix live isos, and once it has happened, trying to view the contents of another iso will often fail as well (it just doesn't repeat the parsing error message).

Is anyone else seeing this problem?

Paul.
User avatar
gapan
Salix Wizard
Posts: 6361
Joined: 6. Jun 2009, 17:40

Re: MC/cdrtools interaction

Post by gapan »

I can see there is a problem with some iso images. I'm getting a "Cannot parse" error.
Image
Image
toothandnail
Posts: 165
Joined: 20. Sep 2009, 17:30
Location: Oxfordshire, UK

Re: MC/cdrtools interaction

Post by toothandnail »

gapan wrote:I can see there is a problem with some iso images. I'm getting a "Cannot parse" error.
That's the one..... If I hit return a few times, MC eventually stops parsing the errors, comes up with the UTF.8 error, then drops me to an empty directory. The odd thing is that it doesn't affect all iso files.

I've generated output from both cdrtools and cdrkit versions of isoinfo. I can't see a difference (other than the lack of the UTF.8 message), but one works and the other doesn't. Very strange.

I'll grab the cdrkit.SlackBuild and try that under Salix. I'll also pass the problem up the line to the MC devs.

Paul.
toothandnail
Posts: 165
Joined: 20. Sep 2009, 17:30
Location: Oxfordshire, UK

Re: MC/cdrtools interaction

Post by toothandnail »

Further to this item. I (finally) built a cdrkit package (1.1.10). Had some difficulty doing it - cmake didn't like the standard version of libcap that comes with Salix (looks like a standard Slackware package). Error was as below:

Code: Select all

CMake Error at wodim/CMakeLists.txt:18 (MESSAGE):
  Error: found a Linux system but no libcap header.  Install libcap-dev.
So I had to build a new libcap package first. After that, I was able to build cdrkit without errors. Tested with the .iso files that were giving problems, it works fine. No 'utf.8' messages, and no parsing errors, just displays the contents of the iso.

:P Off course, I don't yet know whether I'm going to be able to burn iso images with it yet......

Paul.
User avatar
gapan
Salix Wizard
Posts: 6361
Joined: 6. Jun 2009, 17:40

Re: MC/cdrtools interaction

Post by gapan »

Interesting. Did you change anything when rebuilding the libcap package?
Image
Image
toothandnail
Posts: 165
Joined: 20. Sep 2009, 17:30
Location: Oxfordshire, UK

Re: MC/cdrtools interaction

Post by toothandnail »

gapan wrote:Interesting. Did you change anything when rebuilding the libcap package?
Just did a very simple SLKBUILD for it:

Code: Select all

#Packager: Paul Marwick <paul-DOT-marwick-AT-gmail-DOT-com>
pkgname=libcap
pkgver=2.19
pkgrel=1pm
#arch=noarch
source=(http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.19.tar.bz2)
sourcetemplate=http://people.salixos.org/toothandnail/i486/$pkgname/$pkgver/
docs=("readme" "copying" "changelog" "pgp.keys.asc" )

#doinst() {
#
#}

slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"libcap (a library for getting and setting POSIZ.le capabilities)"
"libcap is a library for getting and setting POSIX.le (formerly"
"POSIX 6) draft 15 capabilities"
)

build() {
        cd $startdir/src/$pkgname-$pkgver
        make || return 1
        make install DESTDIR=$startdir/pkg
}
Looking at the original, there seem to have been a few additions to it - a README.Slackware at least. So far as I can see, my build added /usr/include/sys/capability.h. Don't think that was in the original package, though I'll have to dig out the original package and have a look to be sure. I suspect that was what Cmake was complaining about.

I''ve also tracked the MC error - for some reason, the cdrtools version of isoinfo is adding six extra spaces in the filesize column. Strip that white space and the outputs are identical between cdrkit and cdrtools. Well, apart from cdrtools insisting on adding a message regarding changing to utf8 to match locale, which seems a bit unnecessary.

One of the MC devs has taken an interest, so there may be a fix to the parsing in MC sometime soon.

Paul.
Post Reply