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. |