[01:12] *** john__ has joined #jsmess [01:13] *** john__ is now known as JohnTalen [08:03] stumped. [08:04] changed this particular 'symbol multiply defined'. a number of times. shows up again. only defined one (i made sure of this). Only 11 references to it in the entire project. [08:05] maybe I can help [08:07] is there a git repository that I can clone? [08:07] not yet no. [08:08] I'll give it some more time. [08:08] I'm sure I"m missing something. [08:08] well [08:08] ok, show me the references [08:08] grep -r the_symbol [08:08] and the error message [08:09] https://pastebin.com/LrRMdYSs [08:09] I don't think you'll be able to determine given my 'evidence'. [08:10] It's clearly on some other symbolic level. [08:10] that does seem pretty straight-forward [08:10] what about the full error message? [08:10] https://pastebin.com/8T3pMga2 [08:11] shit [08:11] it changed! [08:11] lol. [08:11] heh [08:11] Let's call this process not magic, but lessens Psychoticness. :) [08:12] but here is the thing. [08:12] I did in fact change the reference in c64memsc.c. [08:12] what did you change it to? [08:12] Even though it's just an assignment it sees it as a definition. [08:12] It's outside of any C++ objects that may exist. [08:12] But the definition i put in vice.h. [08:13] i just uncommented it. [08:13] this is never ending. [08:13] I'm uncommented all the confounded empty funcitons that return 0, -1 or have nothing but a shell. [08:13] can you show me the section of c64memsc.c containing that line? [08:14] https://pastebin.com/EQyitpch [08:15] As you can see it's an assignment, not a definition. [08:15] well, with the JKL there it does look like one [08:15] Although At some point all thses references were definitions. [08:15] look like one 'what'? [08:16] it does look like a definition, with the JKL [08:16] but I guess that's the author's initials or somesuch [08:16] JKL is my initials.. it goes with the uncomment. [08:16] John Kenneth Lutz [08:16] ok [08:17] well, at least i got past it. But this is not the right way to do it. [08:19] would it be easier to disable parts of the emulator? [08:19] than what? [08:19] (I don't know what the distribution of problems you're getting looks like, or how the code is structured) [08:20] well, if one particular machine type that it could emulate is broken or incomplete, disabling it so that you don't have to compile it seems like it would be an option [08:20] it's mostly 'symbol multiply defined' based on unfinished or incorrect code that gets past gcc. [08:22] btw, Billy Zane has a definite presence. [08:23] the actor? [08:23] yes. [08:23] [08:23] had to say it. [08:23] This code has me going all mechnical. :) [08:24] yeah i'm leaving a trail of JKLs so when I do this again, i just do a diff. [08:25] i'm doing this on an old version of vice. [08:25] hmm. why the old version? [08:25] Of course I have to do a diff on the actual projects and guide the code along. [08:26] because it's based on a project that uses this old version. These goddamned multiply defined variables are all over the place though. tedious. But I'll get there. [08:27] oh, Vice.js is based on an older version of Vice [08:29] yes, indeed. [08:30] it's unfortunate, and questionable why they didn't give the actual project up to github.com. [08:31] it'd be nice to have a flag for emcc to just give all errors and not just stop at one. But that would be what we call normal compiling. And it's never ever that way, is it? lol. [08:32] :) [10:55] Perhaps emcc thinks that a global assignment is a declaration. It certainly acts like it from the linking process. [11:04] oh [11:05] vice.h is included by all of those .c files, right? (c128.c, c64mem.c, etc) [11:09] JohnTalen: make vice.h have "extern int machine_c64_variety;" [11:09] this declares that there is a global called machine_c64_variety, and that it's an int, without actually defining it [11:10] then, in a single cpp file make a global declaration "int machine_c64_variety;" [11:10] that way the linker sees a bunch of .o files that refer to the single declaration of machine_c64_variety, and will be able to do it's job correctly [11:29] the extern might be a good idea, only because of pet peeves of emcc,otherwise theoretically it shouldn't make a difference because int machine_c64_variety is defined in a header files which is being directly included. [11:29] let me give that a try. [11:32] well [11:32] gcc will complain about this as well [11:35] yeah, well, the actual code compiles and links fine in gcc. [11:36] I actually had all the definitions set to extern 2 weeks ago. [11:37] And yes,error: Linking globals named 'machine_c64_variety': symbol multiply defined! [11:37] if I change to extern machine_c64_variety = VICE_MACHINE_C64SC; [11:38] so I will change it back to the way I had it. [11:39] the compiler would've given an error if the extern wasn't there(if it needed it). [12:09] l8r. [12:09] -=*> L8r Daze <*=- [12:10] *** JohnTalen has quit IRC (leaving) [14:26] *** devesine has joined #jsmess [15:04] *** Arkiver2 is now known as arkiver [15:26] *** db48x` has joined #jsmess [15:27] *** db48x has quit IRC (Read error: Operation timed out) [16:24] m/win 14 [18:17] *** bwn has quit IRC (Read error: Operation timed out) [18:41] *** bwn has joined #jsmess [19:58] *** gsathya` has quit IRC (Read error: Operation timed out) [19:58] *** gsathya` has joined #jsmess [22:41] *** i0npulse has quit IRC (Ping timeout: 268 seconds) [22:42] *** i0npulse has joined #jsmess