[00:05] closer. [00:05] https://pastebin.com/rMaNexTN [00:13] closer. [00:13] ps2mouse conflicting. [00:13] which means recompiling everything lol. [01:08] *** bwn has quit IRC (Read error: Connection reset by peer) [01:14] i could use a spare mind. I'm getting symbol multiply defined. But I checked the entire project with grep and it is extern everywhere but mouse.c. [01:15] what's the symbol? [01:16] _mouse_enabled_ [01:17] getting much closer though. [01:17] i am at the last step. but it's all the substeps that I possibly have to go through. [01:18] bai: want me to send you a google drive location? [01:19] i've only used grep, but grep should definitely catch it. [01:20] *** bwn has joined #jsmess [01:22] i would only say that SDL could have _mouse_enabled. I'll have to check. [01:24] gotta take a break. argh. [01:27] i'ts 222megs. I kept the .o .i .bc intact. [01:29] just need an email. [01:29] bbiaf [01:32] oh sorry, had to take care of some stuff for dinner. hmm. that sounds like a symbol that's defined in the app, rather than a library... [01:32] yeah it is. [01:32] most of the sdl functions are prefixed [01:32] I had only thought SDL may define it. [01:32] ok [01:32] yeah [01:32] ok great. [01:32] that's what I was wondering as well [01:33] but shouldn't be the case [01:33] i can taste the js! lol. [01:33] i'll check emscripten then. [01:35] aparently not there either. [01:37] there was a 'int _mouse_enabled=0;' in the ps2mouse.c file but i put an extern in front of it. clang doesn't complain. but emcc is. [01:40] error: Linking globals named '_mouse_enabled': symbol multiply defined! [01:41] this shouldn't be rocket science. maybe it's just telling me tomorrow. [01:42] shit. for some reason it showed up in my target. [01:43] oh no. that's ps2mouse_enabled; [01:45] i'll have to fine comb tooth this tomorrow. [02:29] got past it. i removed the extern and just included the original in the ps2mouse.c definition. Now I have another one on mouse_resource_init. Slowly, but surely. [02:34] cool [02:35] yah. [02:37] 2017 and errors are a one bucket linked list. go figure. [02:49] closer. [04:40] if there's any issues with jsmess which the MAME team needs to know about, they're on freenode #mame and #mame-dev [04:40] and a few devs are here too [05:52] *** JohnTalen has quit IRC (Read error: Operation timed out) [09:22] *** davidar has quit IRC (Quit: Connection closed for inactivity) [10:02] *** davidar has joined #jsmess [18:19] *** DopefishJ has joined #jsmess [18:21] *** DFJustin has quit IRC (Ping timeout: 260 seconds) [19:48] *** JohnTalen has joined #jsmess [19:49] Anyone familiar with this clang bug https://stackoverflow.com/questions/7276828/how-to-stop-clang-from-duplicating-functions-in-standard-c-header-files ? [19:50] It's big in vice and now I'm at a defintinition I can't 'wish away'. I tried -std gnu89 to no avail. Still get 'multiply applied'. [19:52] The goal is not have the change the whole project to stay gnu compliant. [19:57] My only attempt will be to upgrade to the latest clang. it's really a shot in the dark. [19:58] i am using clang 3.8.1-24 [19:59] JohnTalen: did you see the last comment here: https://bugs.llvm.org/show_bug.cgi?id=5960#c10 [20:00] but also it does look like in some platforms that VICE removes inlining [20:01] for example, --enable-inline in the configure script can be set to 'no' [20:02] and in macosx, which would use clang to compile, at least one library gets all its "inline"s sed'd out [20:02] lots of ifdefs about inlining also [20:08] Vito`: great thanks. I found this: https://stackoverflow.com/questions/12747198/compiling-error-when-std-gnu99-and-inline-function-is-used [20:08] I will give these a try. Much appreciated. [20:45] enable inline can only be set to 'set' in this script. [20:45] and inlining is different than 'multiply specified'. [21:28] this is obviously a compiler bug. machine_class is not multiply defined. all the other bugs I fixed I more or less commented out because of non specification (like scpu and c64dtv). [21:30] so i tried '-std=gnu89 -fgnu89-online' and they do *not work*. I'd hate to attempt to compile clang from source since this clang release is only a year old. [21:35] i guess i'll try gnu_inlnie. [21:35] i guess i'll try gnu_inline. [21:37] Vito`: it says to add it the glibc errors. Is this suggesting to recompile glib. [21:38] glib is almost impossible to upgrade on linux systems. it's vital for so many things. [21:38] Vito`: ^ .=? [21:40] I assume you're not actually running an antique version of Linux with an antique glibc [21:40] My understanding of the problem is that inlining in some cases duplicates definitions [21:41] Linux la-flamouge 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u1 (2017-06-18) x86_64 GNU/Linux [21:42] the last comment on that page suggests adding __attribute__ ((__gnu_inline__)) to whatever headers you're experiencing the problem with might change the semantics of inlining enough that it won't happen [21:43] also, if you're reading the configure file literally, it's not checking to be "set" it's checking whether it's set, as in, whether it's enabled, which is the default [21:46] ok [21:48] i think the name confliction is the _class appendage. I'll just change the name. easy enough. [21:50] nah, 234 changes isn't worth it... yet [21:54] away she goes. [21:58] nope __attribute__ ((__gnu_inline__)) didn't work. [22:01] okay, i'm changing the name. [22:41] i had it compiling to .i and .bc before which is nice but not anymore. at least it's generating .o LLVM bitcode which is the ultimate goal. [22:41] i made the changes to the global variable name, compiling as I speak. [22:43] --emit-llvm breaks my configure. Vito` any ideas? [22:43] It's not critical, thought you'd might know. [22:44] i'm using save-temps which does work, but doesn't output the nice .i .bc files. [22:44] well, it's not the actual variable name. still throws up on it. [22:45] wow, this isn't easy. [22:45] compiling js... [22:45] error: Linking globals named 'machine_c64_variety': symbol multiply defined! [22:45] it is multiply defined but within reason. [22:46] i'll just force extern. [23:03] okay, i just defined it in one .h file and *that* is better. [23:29] *** Swizzle has joined #jsmess [23:40] so bizarre, the multiple defined variable. it's like... old files. hm. [23:46] i know it's not the temp files nor the variable declarations. i fixed. this. wtf.