On Thu, Apr 08, 2010 at 13:06:18 (CEST), Adrian Knoth wrote:

> On Tue, Apr 06, 2010 at 07:29:51AM +0200, Reinhard Tartler wrote:
>> >>>> Can someone fluent in C/C++ please look at this?  Perhaps you, Adrian,
>> >>>> since you seem most knowledgeable in JACK around here?
>> I think I qualify.
> I'm not sure if I do. ;) Never used the debian symbol files...
>> Another source of problem is that presence of machine optimization. In
>> your buildlog I see symbols that indicate sse2 enabled functions. Has
>> anyone made sure that jackd2 really works on non-sse2 enabled machines?
> I haven't checked, yet, but I have a Debian 486 machine around, so I
> could try it. ;) Or I disassemble the library and check for SSE
> instructions.
> As long as nobody is calling -msse2 with the appropriate arch/cpu
> definition, no SSE2 enabled code would be compiled.

There seem to be some suspicious symbols that indicate sse2 specifics in
Jonas posted symbols listing.

>> What symbols are supposed to be exposed by libjack? I suppose only
>> globals and functions defined in these files are part of this:
>> /usr/include/jack
>> /usr/include/jack/intclient.h
>> /usr/include/jack/jack.h
>> /usr/include/jack/ringbuffer.h
>> /usr/include/jack/statistics.h
>> /usr/include/jack/thread.h
>> /usr/include/jack/timestamps.h
>> /usr/include/jack/transport.h
>> /usr/include/jack/types.h
>> /usr/include/jack/midiport.h
> Exactly. That's the list each client application relies on.
>> But is there perhaps a more canonical list? 
> There is doxygen output available:
>    http://jackaudio.org/files/docs/html/index.html
> Don't know if this qualifies as "more canonical", but this file also
> refers to the above header files as "the full API"

Well, I think this counts as canonical list. 

>> Moreover, I see some functions marked as JACK_DEPRECATED in jack.h.
>> Are they still used by applications and does jack2 still provide them?
> The deprecated functions are still provided and even used by
> jackd{1,2}'s example clients. ;)
> This surely needs fixing, but that's upstream's responsibility. I'll
> file a ticket and provide some patches.


> Is there more I could do?

I think as long upstream not even makes efford to hide symbols not
defined in the JACK API as published at
http://jackaudio.org/files/docs/html/index.html, I don't think it makes
sense to think about symbol files. Ideally, every line in the symbol
file corresponds directly to an API function or global, but this is much
work that I don't think can be sensibly finished before squeeze release.

Next steps (just opinion):

 - revert the symbol files change
 - upload to experimental ASAP
 - test-rebuild applications against jack2
 - in paralell: review the license issues
 - upload to unstable if all OK

Reinhard Tartler, KeyID 945348A4

pkg-multimedia-maintainers mailing list

Reply via email to