Hi

There have issues building mixxx on OS X Mavericks with external libraries from 
homebrew: our build configuration uses libstdc++ (gcc) by default, but 
libraries we link to are linked with libc++ (clang). These two libraries are 
incompatible in same binary, and homebrew new seems to compile all new 
libraries with clang and libc++.

BTW, it seems it’s not enough to set -mmacosx-version-min=10.9 in CCFLAGS, 
stdlib=libc++ is also required in LDFLAGS.

With attached patch these options can be set. The libc++ flag can only be set 
when -mmacosx-version-min= is >=10.7 so I check this as well, and use 10.9 as 
default if you pass only stdlib=libc++ omitting explicity setting 
macosx-version-min=10.9.

Examples:
- scons   
  Compile as usual with no new arguments, implicit settings 
macosx-version-min=10.5 and stdlib=libstdc++ 
- scons stdlib=libc++
  Compile with  macosx-version-min=10.9 and stdlib=libc++
- scons stdlib=libc++ macosx-version-min=10.7
  Compile with clang libc++ for minimum OS X version 10.7

After this patch and using Qt4 HEAD (see previous message why Qt5 compile is 
right now broken), I don’t get any of the previous build errors, so the C++ 
linker issue seems to be fixed, but I do get new errors:

duplicate symbol __ZN16PerformanceTimer5startEv in:
    osx64_build/util/performancetimer.o
    osx64_build/util/threadcputimer.o
duplicate symbol __ZNK16PerformanceTimer7elapsedEv in:
    osx64_build/util/performancetimer.o
    osx64_build/util/threadcputimer.o
duplicate symbol __ZN16PerformanceTimer7restartEv in:
    osx64_build/util/performancetimer.o
    osx64_build/util/threadcputimer.o
duplicate symbol __ZN16PerformanceTimer10differenceEPS_ in:
    osx64_build/util/performancetimer.o
    osx64_build/util/threadcputimer.o

No idea where THESE are coming from.

I attach the change in a patch file instead of git branch, because my personal 
fork branch is further away from master than this and it’s easy enough change 
to apply as single patch. If you still wish to get it from a branch and merge 
request say so and I’ll do it that way ...

        *hile*

Attachment: osx-build-fix.diff
Description: Binary data


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to