cannot build lp:mixxx on 32 bit linux (soundtouch-1.6.0)

Bug #887741 reported by Daniel Schürmann on 2011-11-08
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Low
Daniel Schürmann

Bug Description

It fails compiling Soundtouch.
Its due to gcc sets __i386__ which enables SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS in STTypes.h by default.
This overrides the "optimize" settings from optimize.py
I thing msvc defines _M_X86 instead.

Related branches

Yup, currently an issue with trunk. I'm working on fixing it now.

Thanks,
RJ

2011/11/8 Daniel Schürmann <email address hidden>

> Public bug reported:
>
> It fails compiling Soundtouch.
> Its due to gcc sets __i386__ which enables
> SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS in STTypes.h by default.
> This overrides the "optimize" settings from optimize.py
> I thing msvc defines _M_X86 instead.
>
> ** Affects: mixxx
> Importance: Undecided
> Status: New
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/887741
>
> Title:
> cannot build lp:mixxx #2960 on 32 bit ubuntu
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/887741/+subscriptions
>

It looks like Soundtouch 1.6 cannot be compiled with optimize<2 (without sse support).
The cpu_detection_file has to be compiled in any case.
Can we make optimize=2 default?

Daniel Schürmann (daschuer) wrote :

I am able to compile wit optimize=1 and the attached patch

In this case it's not soundtouch's fault -- we had applied some patches for
x64 support but it turns out that SoundTouch has updated how it detects
CPUs now and we don't need it. The latest trunk should fix it.

2011/11/8 Daniel Schürmann <email address hidden>

> It looks like Soundtouch 1.6 cannot be compiled with optimize<2 (without
> sse support).
> The cpu_detection_file has to be compiled in any case.
> Can we make optimize=2 default?
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/887741
>
> Title:
> cannot build lp:mixxx #2960 on 32 bit ubuntu
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/887741/+subscriptions
>

Daniel Schürmann (daschuer) wrote :

typo: I am able to compile wit optimize=2 and the attached patch

RJ Skerry-Ryan (rryan) wrote :

Please test with the latest trunk -- it should build with or without
optimize enabled.

2011/11/8 Daniel Schürmann <email address hidden>

> typo: I am able to compile wit optimize=2 and the attached patch
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/887741
>
> Title:
> cannot build lp:mixxx #2960 on 32 bit ubuntu
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/887741/+subscriptions
>

Did that fix the problem? It looks like your daschuers_trunk branch is now building successfully so I assume so.

Changed in mixxx:
importance: Undecided → Low
status: New → In Progress
assignee: nobody → RJ Ryan (rryan)
Daniel Schürmann (daschuer) wrote :

Yes, Thank you :-)

Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → In Progress
Daniel Schürmann (daschuer) wrote :

I am sorry, the problem was not completely solved.
Scons tricked me with its comand line memory feature.

With the attached patch it should work now. I have tested it on Linux x86 only.

I have commented out the line:
#define SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS 1
from STTypes.h and put it in again by depends.py if necessary.

The same patch was made for the ubuntu libsoundtouch-dev 1.6.0-2 package. But they disable the x86 optimizations at all.
So it is a good idea that mixxx uses its own soundtouch build on ubuntu as well.

summary: - cannot build lp:mixxx #2960 on 32 bit ubuntu
+ cannot build lp:mixxx on 32 bit linux (soundtouch-1.6.0)
sean sunner (seansunner) on 2012-02-24
Changed in mixxx:
status: In Progress → Incomplete
status: Incomplete → Confirmed
status: Confirmed → In Progress
Daniel Schürmann (daschuer) wrote :

This is still an issue.

* Checkout lp:mixxx on linux 32 bit
* scons without any options
* result
scons: *** [lib/soundtouch-1.6.0/sse_optimized.o] Error 1
scons: building terminated because of errors.

 I would like to have the patch in 1.11. Is it possible?

RJ Skerry-Ryan (rryan) on 2012-04-22
Changed in mixxx:
assignee: RJ Ryan (rryan) → Daniel Schürmann (daschuer)
RJ Skerry-Ryan (rryan) wrote :

Sorry for letting this patch languish for so long! It's in trunk now.

Changed in mixxx:
status: In Progress → Fix Committed
milestone: none → 1.11.0
RJ Skerry-Ryan (rryan) on 2013-05-09
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers