{"action":"created","issue":{"url":"https://api.github.com/repos/liballeg/allegro5/issues/823","repository_url":"https://api.github.com/repos/liballeg/allegro5","labels_url":"https://api.github.com/repos/liballeg/allegro5/issues/823/labels{/name}","comments_url":"https://api.github.com/repos/liballeg/allegro5/issues/823/comments","events_url":"https://api.github.com/repos/liballeg/allegro5/issues/823/events","html_url":"https://github.com/liballeg/allegro5/pull/823","id":257260824,"number":823,"title":"DUMB 2.0 and 0.9.3 support (2.0 tagged! Final review, will then squash)","user":{"login":"SimonN","id":674969,"avatar_url":"https://avatars0.githubusercontent.com/u/674969?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonN","html_url":"https://github.com/SimonN","followers_url":"https://api.github.com/users/SimonN/followers","following_url":"https://api.github.com/users/SimonN/following{/other_user}","gists_url":"https://api.github.com/users/SimonN/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonN/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonN/subscriptions","organizations_url":"https://api.github.com/users/SimonN/orgs","repos_url":"https://api.github.com/users/SimonN/repos","events_url":"https://api.github.com/users/SimonN/events{/privacy}","received_events_url":"https://api.github.com/users/SimonN/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2017-09-13T05:19:34Z","updated_at":"2017-09-28T06:00:34Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/liballeg/allegro5/pulls/823","html_url":"https://github.com/liballeg/allegro5/pull/823","diff_url":"https://github.com/liballeg/allegro5/pull/823.diff","patch_url":"https://github.com/liballeg/allegro5/pull/823.patch"},"body":"Specifying `-lm` on Arch Linux is necessary for DUMB support: Otherwise, cmake concludes that DUMB is not available. I used the DUMB 1.0-1 binary package from the Arch repo. This Arch package points to [kode54's fork of DUMB](https://github.com/kode54/dumb) with version 1.0 as suggested by the DUMB homepage, **not to version 0.9.3 that A5 officially supports.**\r\n\r\nI didn't test whether this is required on other systems, or whether it breaks the build on other systems.\r\n\r\n**Still no successful playback:** I've merely fixed A5's build for me. I can load a module with Allegro 5, but then my application will immediately crash within DUMB. Crashlog follows. I haven't debugged this crash yet! The fault could be in DUMB, in the DUMB Arch package, in A5, in my code, in a faulty module, ...\r\n\r\nI'll understand if you won't merge this PR before we have seen successful playback with DUMB 1.0 and A5. According to @SiegeLord, DUMB 1.0 made breaking changes. Still, I'm opening this PR to share my findings, allowing others to shed more light on this.\r\n\r\n```\r\n#0  0x0000000000000000 in ?? ()\r\n#1  0x00007ffff3dd1962 in ?? () from /usr/lib/libdumb.so\r\n#2  0x00007ffff3dd2d15 in dumb_read_it_quick () from /usr/lib/libdumb.so\r\n#3  0x00007ffff3dd0996 in dumb_read_it () from /usr/lib/libdumb.so\r\n#4  0x00007ffff78d5d74 in mod_stream_init (f=0x555556284600, buffer_count=3,\r\n    samples=2048, loader=0x7ffff3dd0990 <dumb_read_it>)\r\n    at /home/simon/c/notown/allegro5/addons/acodec/modaudio.c:213\r\n#5  0x00007ffff78d625c in _al_load_it_audio_stream (filename=<optimized out>,\r\n    buffer_count=3, samples=2048)\r\n    at /home/simon/c/notown/allegro5/addons/acodec/modaudio.c:391\r\n```\r\n\r\nFor reference, here's an excerpt from cmake's error log when DUMB's libraries don't specify `-lm`:\r\n\r\n```\r\nRun Build Command:\"/usr/bin/make\" \"cmTC_5d751/fast\"\r\n/usr/bin/make -f CMakeFiles/cmTC_5d751.dir/build.make CMakeFiles/cmTC_5d751.dir/build\r\nmake[1]: Entering directory '/home/simon/c/notown/allegro5/simon/CMakeFiles/CMakeTmp'\r\nBuilding C object CMakeFiles/cmTC_5d751.dir/src.c.o\r\n/usr/bin/cc   -msse -W -Wall -Wpointer-arith -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -DDUMB_COMPILES   -o CMakeFiles/cmTC_5d751.dir/src.c.o   -c /home/simon/c/notown/allegro5/simon/CMakeFiles/CMakeTmp/src.c\r\nLinking C executable cmTC_5d751\r\n/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5d751.dir/link.txt --verbose=1\r\n/usr/bin/cc  -msse -W -Wall -Wpointer-arith -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -DDUMB_COMPILES    -rdynamic CMakeFiles/cmTC_5d751.dir/src.c.o  -o cmTC_5d751 /usr/lib/libdumb.so \r\n/usr/lib/libdumb.so: undefined reference to `__pow_finite'\r\n/usr/lib/libdumb.so: undefined reference to `__log_finite'\r\n/usr/lib/libdumb.so: undefined reference to `__exp_finite'\r\n/usr/lib/libdumb.so: undefined reference to `sin'\r\n/usr/lib/libdumb.so: undefined reference to `__log2_finite'\r\n/usr/lib/libdumb.so: undefined reference to `cos'\r\ncollect2: error: ld returned 1 exit status\r\nmake[1]: *** [CMakeFiles/cmTC_5d751.dir/build.make:99: cmTC_5d751] Error 1\r\nmake[1]: Leaving directory '/home/simon/c/notown/allegro5/simon/CMakeFiles/CMakeTmp'\r\nmake: *** [Makefile:126: cmTC_5d751/fast] Error 2\r\n\r\nSource file was:\r\n\r\n            #include <dumb.h>\r\n            int main(void)\r\n            {\r\n                dumb_register_stdfiles();\r\n                return 0;\r\n            }\r\n```"},"comment":{"url":"https://api.github.com/repos/liballeg/allegro5/issues/comments/332735984","html_url":"https://github.com/liballeg/allegro5/pull/823#issuecomment-332735984","issue_url":"https://api.github.com/repos/liballeg/allegro5/issues/823","id":332735984,"user":{"login":"beoran","id":71289,"avatar_url":"https://avatars0.githubusercontent.com/u/71289?v=4","gravatar_id":"","url":"https://api.github.com/users/beoran","html_url":"https://github.com/beoran","followers_url":"https://api.github.com/users/beoran/followers","following_url":"https://api.github.com/users/beoran/following{/other_user}","gists_url":"https://api.github.com/users/beoran/gists{/gist_id}","starred_url":"https://api.github.com/users/beoran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beoran/subscriptions","organizations_url":"https://api.github.com/users/beoran/orgs","repos_url":"https://api.github.com/users/beoran/repos","events_url":"https://api.github.com/users/beoran/events{/privacy}","received_events_url":"https://api.github.com/users/beoran/received_events","type":"User","site_admin":false},"created_at":"2017-09-28T06:00:34Z","updated_at":"2017-09-28T06:00:34Z","author_association":"CONTRIBUTOR","body":"@SiegeLord On the subject of squashing, I see that now Github has a convenient looking \"squash and merge\" button for Allegro developers with sufficinet privileged. Do you think it is OK to actually use this button once all reviews and tests are done? It saves the contributor the effort of having to do a manual squash."}}
{"actor":{"display_login":"beoran"}}