Kivy рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ SDL2_mixer
рд░рд┐рд▓реАрдЬ 2.0.2 рдореЗрдВ рдХреБрдЫ рдЭрдВрдбреЗ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП/рдирд╛рдо рдмрджрд▓ рджрд┐рдП рдЧрдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ MIX_INIT_MODPLUG
рдФрд░ MIX_INIT_FLUIDSYNTH
рдХреЛ SDL_mixer.h
рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдореИрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░рд╛рд░ рд▓реЗрдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рд╣рдо рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЗрди рдЭрдВрдбреЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрджрд┐ рд╡реЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=armv8-a -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -march=armv8-a -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -march=armv8-a -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fPIC -Ikivy/include -I/usr/include/SDL2 -I/usr/local/include/SDL2 -I/usr/include/SDL2 -I/usr/include/SDL2 -I/usr/include/python3.6m -c kivy/core/audio/audio_sdl2.c -o build/temp.linux-aarch64-3.6/kivy/core/audio/audio_sdl2.o
kivy/core/audio/audio_sdl2.c: In function '__pyx_f_4kivy_4core_5audio_10audio_sdl2_mix_init':
kivy/core/audio/audio_sdl2.c:1647:63: error: 'MIX_INIT_MODPLUG' undeclared (first use in this function); did you mean 'MIX_INIT_MOD'?
__pyx_v_want_flags = (__pyx_v_want_flags | ((MIX_INIT_MOD | MIX_INIT_MODPLUG) | MIX_INIT_FLUIDSYNTH));
^~~~~~~~~~~~~~~~
MIX_INIT_MOD
kivy/core/audio/audio_sdl2.c:1647:63: note: each undeclared identifier is reported only once for each function it appears in
kivy/core/audio/audio_sdl2.c:1647:83: error: 'MIX_INIT_FLUIDSYNTH' undeclared (first use in this function); did you mean 'MIX_INIT_MID'?
__pyx_v_want_flags = (__pyx_v_want_flags | ((MIX_INIT_MOD | MIX_INIT_MODPLUG) | MIX_INIT_FLUIDSYNTH));
^~~~~~~~~~~~~~~~~~~
MIX_INIT_MID
kivy/core/audio/audio_sdl2.c: In function '__pyx_pf_4kivy_4core_5audio_10audio_sdl2_9MusicSDL2_extensions':
kivy/core/audio/audio_sdl2.c:4936:69: error: 'MIX_INIT_MODPLUG' undeclared (first use in this function); did you mean 'MIX_INIT_MOD'?
__pyx_t_2 = ((__pyx_v_4kivy_4core_5audio_10audio_sdl2_mix_flags & MIX_INIT_MODPLUG) != 0);
^~~~~~~~~~~~~~~~
MIX_INIT_MOD
error: command 'gcc' failed with exit status 1
рдпрд╣ SDL_mixer.h
рдореЗрдВ v2.0.2 рдореЗрдВ рдирдИ рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ:
typedef enum
{
MIX_INIT_FLAC = 0x00000001,
MIX_INIT_MOD = 0x00000002,
MIX_INIT_MP3 = 0x00000008,
MIX_INIT_OGG = 0x00000010,
MIX_INIT_MID = 0x00000020
} MIX_InitFlags;
рдФрд░ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛:
typedef enum
{
MIX_INIT_FLAC = 0x00000001,
MIX_INIT_MOD = 0x00000002,
MIX_INIT_MODPLUG = 0x00000004,
MIX_INIT_MP3 = 0x00000008,
MIX_INIT_OGG = 0x00000010,
MIX_INIT_FLUIDSYNTH = 0x00000020
} MIX_InitFlags;
рдореБрдЭреЗ 100% рдпрдХреАрди рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рджреНрд░рд╡рд╕рдВрд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдкреИрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрд╕реЗ рдорд░реНрдЬ рдХрд░ рджреЗрдВрдЧреЗред
рдЖрдк рдирдИ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд╣рд╛рдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ? рдХреГрдкрдпрд╛ рдореЗрд░реЗ рд╕рд╛рде рдирдВрдЧреЗ рд╣реЛред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдирдпрд╛ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдпрд╣рд╛рдВ рдПрдХ рджрд░рд╛рд░ рд▓реЗ рд▓реА рд╣реИ: https://github.com/kivy/kivy/pull/5459
ArchLinux Kivy рдкреИрдХреЗрдЬ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рд╕рдВрдХрд▓рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ:
рдЕрдЬрдЧрд░-рдХреАрд╡реА 1.10.0 рдкреИрдХреЗрдЬ sdl2_mixer 2.0.2 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдкреИрдЪ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдХрд┐рд╡реА рдХреЛ рдПрдХ рдкрд╛рдпрдерди 3 рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред txt рдлрд╝рд╛рдЗрд▓ рдпреБрдХреНрдд:
рд╕рд╛рдЗрдерди == 0.25.2
рдХрд┐рд╡реА == 1.10.0
рдФрд░ рдЙрд╕реА error: тАШMIX_INIT_MODPLUGтАЩ undeclared (first use in this function); did you mean тАШMIX_INIT_MODтАЩ?
рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж: sudo pacman -S python-kivy
рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрде рдЬреЛрдбрд╝рдирд╛ рдЬрд╣рд╛рдВ рдХрд┐рд╡реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
PYTHONPATH=/usr/lib/python3.6/site-packages/:/usr/local/lib/python3.6/site-packages/ python3 main.py
, Kivy рдореЙрдбреНрдпреВрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рддреЛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЖрд░реНрдХ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрджрд┐ рдореИрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдкреНрд░рджрд░реНрд╢рди рд╕реЗ 1.10.0 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рднрдпрд╛рдирдХ рд╣реИред
рджрд░рдЕрд╕рд▓, рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ makepkg -s && makepkg --skipinteg
рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкрд╛рдпрдерди-рдХреАрд╡реА рдЖрд░реНрдХ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛, рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
PKGBUILD рдореЗрдВ рдкреИрдЪ рд▓рдЧрд╛рдиреЗ рд╕реЗ x86_64 рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдорд╛рд╕реНрдЯрд░ рдХрд┐рд╡реА рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ
рдПрдЖрд░рдПрдо рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╕ рд╕рдВрдмрдВрдзрд┐рдд PKGBUILD рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
https://archlinuxarm.org/packages/arm/python-kivy
https://archlinuxarm.org/packages/arm/sdl_mixer
рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рдПрдЖрд░рдПрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдПрд▓ рдореЗрдВ 'рдЖрд░реНрдо' рдХреЛ рдмрджрд▓реЗрдВ:
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 1 - armv6
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 2 - armv7
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 - armv8
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ ARM рдХреЗ рд▓рд┐рдП ArchLinux рдореЗрдВ sdl_mixer рдХрд╛ рдкреИрдХреЗрдЬ 1.2.12-5 рд╣реИ, рдЗрд╕реЗ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
#5459 . рджреНрд╡рд╛рд░рд╛ рдмрдВрдж
рдпрд╣ рдЕрднреА рднреА MacOS High Sierra рдкрд░ рдореМрдЬреВрдж рд╣реИ
@duaneking
рдпрджрд┐ рдЖрдк рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ pip install https://github.com/kivy/kivy/archive/master.zip (рджреЗрдЦреЗрдВ https://kivy.org/docs/installation/installation-osx.html) рддреЛ рдпрд╣ рд╣рд╛рдИ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╕рд┐рдПрд░рд╛.
рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ; рдореИрдВ рдЕрдм рдЧреИрд░-рдХрд┐рд╡рд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдЪрдПрд╕ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕рдореБрджрд╛рдп рдЗрд╕реЗ рдЬрд╣рд╛рдЬ/рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЦреБрдж рдХреЛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреНрдпрд╛ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЗрд╕ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд┐рд╡реА рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЪреВрдВрдХрд┐ рдЙрдмрдВрдЯреВ 18.04 рдЕрднреА рдЬрд╛рд░реА рд╣реБрдЖ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ 95% рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред
рдХрд┐рд╡реА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╡рд░реНрдЬрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╣рд╛рдИ рд╕рд┐рдПрд░рд╛ рдкрд░ рдХрд╛рдо рд╣реБрдЖред рдзрдиреНрдпрд╡рд╛рдж рдлреИрдВрдЯрд╛рд╕реНрдЯреЗрдЪрд┐рдЯ!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рдЕрднреА рднреА MacOS High Sierra рдкрд░ рдореМрдЬреВрдж рд╣реИ