albertz / music-player

Music player - endlessly plays your music
http://albertz.github.io/music-player/
BSD 2-Clause "Simplified" License
490 stars 58 forks source link

Document OS compatibility #8

Closed dakrone closed 11 years ago

dakrone commented 11 years ago

The music-player app does not work on OSX 10.6, since it requires the 2.7 version of the Python framework.

This should probably be documented somewhere in the readme.

albertz commented 11 years ago

Well, this is actually a bug in the build of the current binary. There is no real reason it shouldn't work with Python 2.6 - I think. When you checkout the source and run ./compile.py && ./main.py, it probably should work.

dakrone commented 11 years ago

When I try to compile, I get:

∴ ./compile.py mkdir -p build
cc -std=c99 -DHAVE_CONFIG_H -g -I /System/Library/Frameworks/Python.framework/Headers/ -I /usr/include/python2.7 -c ../ffmpeg.c
libtool -dynamic -o ../ffmpeg.so ffmpeg.o -lavutil -lavformat -lavcodec -lswresample -lportaudio -lchromaprint -undefined dynamic_lookup -lc -lstdc++
libtool: can't locate file for: -lstdc++
libtool: file: -lstdc++ is not an object file (not allowed in a library)

Do I need additional libraries in order to compile?

albertz commented 11 years ago

Remove that -lstdc++ from compile.py (I wonder what it is called exactly on 10.6, probably GCC - but if you omit it, it probably should work anyway).

Btw., where/how does the binary say that it requires Python 2.7? I really wonder where I have hardcoded that version because it shouldn't be...

dakrone commented 11 years ago

Sure, here's the full crash report of trying to run the app:

Process:         MusicPlayer [59242]
Path:            /Applications/MusicPlayer.app/Contents/MacOS/MusicPlayer
Identifier:      albertzeyer.MusicPlayer
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  launchd [197]

Date/Time:       2012-11-12 08:46:08.759 -0700
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6

Interval Since Last Report:          17702385 sec
Crashes Since Last Report:           472
Per-App Crashes Since Last Report:   3
Anonymous UUID:                      B9F572D5-B840-4567-840B-ECC0A64864A8

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.7/Python
  Referenced from: /Applications/MusicPlayer.app/Contents/MacOS/MusicPlayer
  Reason: image not found

Binary Images:
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) <63B47435-46CF-3D2D-F7F4-7FE77DEEFE06> /usr/lib/dyld

Model: MacBookPro6,2, BootROM MBP61.0057.B0C, 2 processors, Intel Core i7, 2.66 GHz, 8 GB, SMC 1.58f16
Graphics: NVIDIA GeForce GT 330M, NVIDIA GeForce GT 330M, PCIe, 512 MB
Graphics: Intel HD Graphics, Intel HD Graphics, Built-In, 288 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.10.131.42.4)
Bluetooth: Version 2.4.5f3, 2 service, 12 devices, 1 incoming serial ports
Network Service: AirPort, AirPort, en1
Serial ATA Device: Hitachi HTS725050A9A362, 465.76 GB
Serial ATA Device: MATSHITADVD-R   UJ-898
USB Device: Hub, 0x0424  (SMSC), 0x2514, 0xfa100000 / 2
USB Device: Internal Memory Card Reader, 0x05ac  (Apple Inc.), 0x8403, 0xfa130000 / 5
USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0236, 0xfa120000 / 4
USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 3
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8218, 0xfa113000 / 7
USB Device: Hub, 0x0424  (SMSC), 0x2514, 0xfd100000 / 2
USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8242, 0xfd120000 / 4
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8507, 0xfd110000 / 3

Removing the -lstdc++ from the compile.py script allows me to get by the compilation errors, but running main.py throws all kinds of exceptions: http://p.draines.com/1352735349145ead4f213.txt

albertz commented 11 years ago

I made a few fixes which should resolve the exceptions. I also made a few fixes which should hopefully make the binary work on older MacOSX with older Python versions (Python 2.6 is set as minimum - I think Python 2.5 really will not work).

I uploaded a new binary. Can you try that one?

dakrone commented 11 years ago

Farther! But it still crashes when starting. Here's the stacktrace: https://gist.github.com/d976310279a2e053473a

albertz commented 11 years ago

Should also be fixed now. New binary is uploaded.

dakrone commented 11 years ago

It's still crashing (after opening a last.fm oauth page first at least). Here's the stack trace: https://gist.github.com/6a2995c3b2d241a0fae5

albertz commented 11 years ago

Hm, this again looks like a different crash.

I uploaded a new binary where I have tried something to prevent this particular crash.

dakrone commented 11 years ago

Alright, the MusicPlayer now doesn't crash, however, no GUI shows up at all (even selecting things in the menu to open the player doesn't work)

This shows up in the console log: https://gist.github.com/c8938c1409d22b3c5eb6

albertz commented 11 years ago

Ah, seems I again have called some OSX >10.6 functionality. I removed that (was anyway not really used).

I uploaded a new binary.

dakrone commented 11 years ago

Hey! I'm able to play music now, although the UI looks a little bit different than the screenshot on the website:

http://i.imgur.com/T0fVZ.png

At this point, I'm probably ready to admit that maybe 10.6 support is a bit much to ask for. What do you think?

albertz commented 11 years ago

Hey, that looks good! At least how I guessed it would look.

Does the recently played list work once you have played some more songs?

Does everything else work? E.g. the search, etc.?

albertz commented 11 years ago

I'm closing this now. The Mac binary uses always Python 2.6 now and it all works fine. Older Python versions are not supported. I think Python 2.6 is available since MacOSX 10.6 - so that should work (it also looks like it works from what you wrote and from your screenshot).

Reopen if there are problems related to your MacOSX version.