[SCM] supercollider/master: supernova compile fix on x86

Dan S danstowell+debmm at gmail.com
Wed Dec 26 18:14:51 UTC 2012


2012/12/26 Felipe Sateler <fsateler at debian.org>:
> On Wed, Dec 26, 2012 at 7:10 AM, Dan S <danstowell+debmm at gmail.com> wrote:
>> 2012/12/25 Felipe Sateler <fsateler at debian.org>:
>>> On Fri, Dec 21, 2012 at 3:03 PM,
>>> <danstowell-guest at users.alioth.debian.org> wrote:
>>>> The following commit has been merged in the master branch:
>>>> commit b0855e79951393de8d0e044af3abd679b463a20f
>>>> Author: Dan Stowell <danstowell at users.sourceforge.net>
>>>> Date:   Fri Dec 21 17:42:31 2012 +0000
>>>>
>>>>     supernova compile fix on x86
>>>>
>>>> diff --git a/debian/patches/series b/debian/patches/series
>>>> index 2f7e98b..2ba49f0 100644
>>>> --- a/debian/patches/series
>>>> +++ b/debian/patches/series
>>>> @@ -1,2 +1,3 @@
>>>>  no-inline-ppc-ftbfs.patch
>>>>  perf-counter-include.patch
>>>> +supernova-i686-march-flag.patch
>>>> diff --git a/debian/patches/supernova-i686-march-flag.patch b/debian/patches/supernova-i686-march-flag.patch
>>>> new file mode 100644
>>>> index 0000000..a692303
>>>> --- /dev/null
>>>> +++ b/debian/patches/supernova-i686-march-flag.patch
>>>> @@ -0,0 +1,15 @@
>>>> +Index: supercollider/server/supernova/CMakeLists.txt
>>>> +===================================================================
>>>> +--- supercollider.orig/server/supernova/CMakeLists.txt 2012-12-21 03:44:14.806118662 +0000
>>>> ++++ supercollider/server/supernova/CMakeLists.txt      2012-12-21 03:44:37.562118316 +0000
>>>> +@@ -12,6 +12,10 @@
>>>> +     endif()
>>>> + endif()
>>>> +
>>>> ++if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686")
>>>> ++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
>>>> ++endif()
>>>
>>> This is wrong. Debian is supposed to work from i486 onwards. Why is this needed?
>>
>> I discussed this with upstream and with debian-mentors. I'm afraid it
>> is needed because supernova uses some pentium+ cpu instructions (and
>> they can be emulated but not in a realtime system). Please note that
>> "supernova" is the SIMDified parallel-processing drop-in replacement
>> for "scsynth", and so i486 users would be advised to use the scsynth
>> package, losing no functionality.
>
> Ah, so we need to improve the descriptions of sc-server and
> sc-supernova. This was not at all clear to me. Could you elaborate a
> bit on the relationship between sc-server and sc-supernova? Is
> supernova picked up automatically when installed? Or is some
> configuration necessary?

No it's not picked up automatically, it's intentionally the user's
choice which to use. The user either manually boots their preferred
server from the commandline, or (more usually) executes either
"Server.scsynth" or "Server.supernova" to set the session default from
within sclang.

During an ordinary SuperCollider session, users can logically group
synths into "Group" containers, or "ParGroup" containers. This
reflects the order-or-execution on the server, and the API is the same
for both executables; however, if you're using supernova then items
within a "ParGroup" are parallelised.

HTH
Dan



More information about the pkg-multimedia-maintainers mailing list