#jsmess 2017-06-30,Fri

↑back Search

Time Nickname Message
00:05 🔗 JohnTalen closer.
00:05 🔗 JohnTalen https://pastebin.com/rMaNexTN
00:13 🔗 JohnTalen closer.
00:13 🔗 JohnTalen ps2mouse conflicting.
00:13 🔗 JohnTalen which means recompiling everything lol.
01:08 🔗 bwn has quit IRC (Read error: Connection reset by peer)
01:14 🔗 JohnTalen 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 🔗 bai what's the symbol?
01:16 🔗 JohnTalen _mouse_enabled_
01:17 🔗 JohnTalen getting much closer though.
01:17 🔗 JohnTalen i am at the last step. but it's all the substeps that I possibly have to go through.
01:18 🔗 JohnTalen bai: want me to send you a google drive location?
01:19 🔗 JohnTalen i've only used grep, but grep should definitely catch it.
01:20 🔗 bwn has joined #jsmess
01:22 🔗 JohnTalen i would only say that SDL could have _mouse_enabled. I'll have to check.
01:24 🔗 JohnTalen gotta take a break. argh.
01:27 🔗 JohnTalen i'ts 222megs. I kept the .o .i .bc intact.
01:29 🔗 JohnTalen just need an email.
01:29 🔗 JohnTalen bbiaf
01:32 🔗 bai 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 🔗 JohnTalen yeah it is.
01:32 🔗 bai most of the sdl functions are prefixed
01:32 🔗 JohnTalen I had only thought SDL may define it.
01:32 🔗 bai ok
01:32 🔗 bai yeah
01:32 🔗 JohnTalen ok great.
01:32 🔗 bai that's what I was wondering as well
01:33 🔗 bai but shouldn't be the case
01:33 🔗 JohnTalen i can taste the js! lol.
01:33 🔗 JohnTalen i'll check emscripten then.
01:35 🔗 JohnTalen aparently not there either.
01:37 🔗 JohnTalen 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 🔗 JohnTalen error: Linking globals named '_mouse_enabled': symbol multiply defined!
01:41 🔗 JohnTalen this shouldn't be rocket science. maybe it's just telling me tomorrow.
01:42 🔗 JohnTalen shit. for some reason it showed up in my target.
01:43 🔗 JohnTalen oh no. that's ps2mouse_enabled;
01:45 🔗 JohnTalen i'll have to fine comb tooth this tomorrow.
02:29 🔗 JohnTalen 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 🔗 bai cool
02:35 🔗 JohnTalen yah.
02:37 🔗 JohnTalen 2017 and errors are a one bucket linked list. go figure.
02:49 🔗 JohnTalen closer.
04:40 🔗 Lord_Nigh 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 🔗 Lord_Nigh 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 🔗 JohnTalen 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 🔗 JohnTalen 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 🔗 JohnTalen The goal is not have the change the whole project to stay gnu compliant.
19:57 🔗 JohnTalen My only attempt will be to upgrade to the latest clang. it's really a shot in the dark.
19:58 🔗 JohnTalen i am using clang 3.8.1-24
19:59 🔗 Vito` JohnTalen: did you see the last comment here: https://bugs.llvm.org/show_bug.cgi?id=5960#c10
20:00 🔗 Vito` but also it does look like in some platforms that VICE removes inlining
20:01 🔗 Vito` for example, --enable-inline in the configure script can be set to 'no'
20:02 🔗 Vito` and in macosx, which would use clang to compile, at least one library gets all its "inline"s sed'd out
20:02 🔗 Vito` lots of ifdefs about inlining also
20:08 🔗 JohnTalen Vito`: great thanks. I found this: https://stackoverflow.com/questions/12747198/compiling-error-when-std-gnu99-and-inline-function-is-used
20:08 🔗 JohnTalen I will give these a try. Much appreciated.
20:45 🔗 JohnTalen enable inline can only be set to 'set' in this script.
20:45 🔗 JohnTalen and inlining is different than 'multiply specified'.
21:28 🔗 JohnTalen 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 🔗 JohnTalen 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 🔗 JohnTalen i guess i'll try gnu_inlnie.
21:35 🔗 JohnTalen i guess i'll try gnu_inline.
21:37 🔗 JohnTalen Vito`: it says to add it the glibc errors. Is this suggesting to recompile glib.
21:38 🔗 JohnTalen glib is almost impossible to upgrade on linux systems. it's vital for so many things.
21:38 🔗 JohnTalen Vito`: ^ .=?
21:40 🔗 Vito` I assume you're not actually running an antique version of Linux with an antique glibc
21:40 🔗 Vito` My understanding of the problem is that inlining in some cases duplicates definitions
21:41 🔗 JohnTalen 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 🔗 Vito` 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 🔗 Vito` 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 🔗 JohnTalen ok
21:48 🔗 JohnTalen i think the name confliction is the _class appendage. I'll just change the name. easy enough.
21:50 🔗 JohnTalen nah, 234 changes isn't worth it... yet
21:54 🔗 JohnTalen away she goes.
21:58 🔗 JohnTalen nope __attribute__ ((__gnu_inline__)) didn't work.
22:01 🔗 JohnTalen okay, i'm changing the name.
22:41 🔗 JohnTalen 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 🔗 JohnTalen i made the changes to the global variable name, compiling as I speak.
22:43 🔗 JohnTalen --emit-llvm breaks my configure. Vito` any ideas?
22:43 🔗 JohnTalen It's not critical, thought you'd might know.
22:44 🔗 JohnTalen i'm using save-temps which does work, but doesn't output the nice .i .bc files.
22:44 🔗 JohnTalen well, it's not the actual variable name. still throws up on it.
22:45 🔗 JohnTalen wow, this isn't easy.
22:45 🔗 JohnTalen compiling js...
22:45 🔗 JohnTalen error: Linking globals named 'machine_c64_variety': symbol multiply defined!
22:45 🔗 JohnTalen it is multiply defined but within reason.
22:46 🔗 JohnTalen i'll just force extern.
23:03 🔗 JohnTalen okay, i just defined it in one .h file and *that* is better.
23:29 🔗 Swizzle has joined #jsmess
23:40 🔗 JohnTalen so bizarre, the multiple defined variable. it's like... old files. hm.
23:46 🔗 JohnTalen i know it's not the temp files nor the variable declarations. i fixed. this. wtf.

irclogger-viewer