Subject: pkg/23940: transcode package unusable; needs much work
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <firstname.lastname@example.org>
Date: 01/01/2004 03:49:02
>Synopsis: transcode package unusable; needs much work
>Arrival-Date: Thu Jan 01 03:50:00 UTC 2004
>Originator: Roger Ivie
NetBSD Stench.no.domain 1.6.1 NetBSD 1.6.1 (Stench) #2: Sun Dec 28 18:37:08 PST 2003 rivie@Stench.no.domain:/usr/src/sys/arch/i386/compile/Stench i386
The transcode package as distributed is broken; it will not work.
Building transcode via the package system results in a package that cannot load audio import modules. This is either caused by pth not cleaning up after itself or by transcode not being sufficiently paranoid, depending upon your mindset. The symptom is that transcode reports an inability to find the symbol "sigwait". This appears to be an artifact of the manner in which the pth library initializes itself; transcode reports an error if dlerror returns a non-NULL value and the error appears to be left over from the load of pth. This portion of the problem can be fixed by adding code to the load_module function in src/dl_loader.c. BTW the bug report in pkg/23458 is this particular problem; this paragraph offers a suggested fix, but (for reasons described below) fixing this bug is not sufficient to yield a working transcode package.
The package ALSO does not properly construct the shared libraries necessary to export most data formats. This appears to be because the Makefiles DO NOT create shared libraries of some of the supporting libraries (e.g. libac3 and libvo); this confuses libtool, which bags constructing the affected shared libraries.
NOTE that some of the dependent libraries are system-supplied libraries; e.g., /usr/X11R6/lib/libXv.
I am not sufficiently skilled in the linking arts to suggest a workaround to this particular portion of the problem; and anything I come up with to deal with the included supporting libraries will be insufficient for those libraries supplied by the system.
Build transcode from the package and try to use it. Go ahead. Just try it. You won't get very far.