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

Bug #887741 reported by Daniel Schürmann
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
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

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 887741] [NEW] cannot build lp:mixxx #2960 on 32 bit ubuntu

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
>

Revision history for this message
Daniel Schürmann (daschuer) wrote : Re: cannot build lp:mixxx #2960 on 32 bit ubuntu

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?

Revision history for this message
Daniel Schürmann (daschuer) wrote :

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

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 887741] Re: cannot build lp:mixxx #2960 on 32 bit ubuntu

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
>

Revision history for this message
Daniel Schürmann (daschuer) wrote :

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

Revision history for this message
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
>

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: cannot build lp:mixxx #2960 on 32 bit ubuntu

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)
Revision history for this message
Daniel Schürmann (daschuer) wrote :

Yes, Thank you :-)

Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → In Progress
Revision history for this message
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)
Changed in mixxx:
status: In Progress → Incomplete
status: Incomplete → Confirmed
status: Confirmed → In Progress
Revision history for this message
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)
Changed in mixxx:
assignee: RJ Ryan (rryan) → Daniel Schürmann (daschuer)
Revision history for this message
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)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6089

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.