#jsmess 2017-07-17,Mon

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)

WhoWhatWhen
***john__ has joined #jsmess
john__ is now known as JohnTalen
[01:12]
................................................................................... (idle for 6h50mn)
JohnTalenstumped.
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:03]
db48xmaybe I can help
is there a git repository that I can clone?
[08:05]
JohnTalennot yet no.
I'll give it some more time.
I'm sure I"m missing something.
[08:07]
db48xwell
ok, show me the references
grep -r the_symbol
and the error message
[08:08]
JohnTalenhttps://pastebin.com/LrRMdYSs
I don't think you'll be able to determine given my 'evidence'.
It's clearly on some other symbolic level.
[08:09]
db48xthat does seem pretty straight-forward
what about the full error message?
[08:10]
JohnTalenhttps://pastebin.com/8T3pMga2
shit
it changed!
lol.
[08:10]
db48xheh [08:11]
JohnTalenLet's call this process not magic, but lessens Psychoticness. :)
but here is the thing.
I did in fact change the reference in c64memsc.c.
[08:11]
db48xwhat did you change it to? [08:12]
JohnTalenEven though it's just an assignment it sees it as a definition.
It's outside of any C++ objects that may exist.
But the definition i put in vice.h.
i just uncommented it.
this is never ending.
I'm uncommented all the confounded empty funcitons that return 0, -1 or have nothing but a shell.
[08:12]
db48xcan you show me the section of c64memsc.c containing that line? [08:13]
JohnTalenhttps://pastebin.com/EQyitpch
As you can see it's an assignment, not a definition.
[08:14]
db48xwell, with the JKL there it does look like one [08:15]
JohnTalenAlthough At some point all thses references were definitions.
look like one 'what'?
[08:15]
db48xit does look like a definition, with the JKL
but I guess that's the author's initials or somesuch
[08:16]
JohnTalenJKL is my initials.. it goes with the uncomment.
John Kenneth Lutz
[08:16]
db48xok [08:16]
JohnTalenwell, at least i got past it. But this is not the right way to do it. [08:17]
db48xwould it be easier to disable parts of the emulator? [08:19]
JohnTalenthan what? [08:19]
db48x(I don't know what the distribution of problems you're getting looks like, or how the code is structured)
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:19]
JohnTalenit's mostly 'symbol multiply defined' based on unfinished or incorrect code that gets past gcc.
btw, Billy Zane has a definite presence.
[08:20]
db48xthe actor? [08:23]
JohnTalenyes.
<light tension breaker>
had to say it.
This code has me going all mechnical. :)
yeah i'm leaving a trail of JKLs so when I do this again, i just do a diff.
i'm doing this on an old version of vice.
[08:23]
db48xhmm. why the old version? [08:25]
JohnTalenOf course I have to do a diff on the actual projects and guide the code along.
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:25]
db48xoh, Vice.js is based on an older version of Vice [08:27]
JohnTalenyes, indeed.
it's unfortunate, and questionable why they didn't give the actual project up to github.com.
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:29]
db48x:) [08:32]
............................. (idle for 2h23mn)
JohnTalenPerhaps emcc thinks that a global assignment is a declaration. It certainly acts like it from the linking process. [10:55]
db48xoh
vice.h is included by all of those .c files, right? (c128.c, c64mem.c, etc)
JohnTalen: make vice.h have "extern int machine_c64_variety;"
this declares that there is a global called machine_c64_variety, and that it's an int, without actually defining it
then, in a single cpp file make a global declaration "int machine_c64_variety;"
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:04]
.... (idle for 19mn)
JohnTalenthe 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.
let me give that a try.
[11:29]
db48xwell
gcc will complain about this as well
[11:32]
JohnTalenyeah, well, the actual code compiles and links fine in gcc.
I actually had all the definitions set to extern 2 weeks ago.
And yes,error: Linking globals named 'machine_c64_variety': symbol multiply defined!
if I change to extern machine_c64_variety = VICE_MACHINE_C64SC;
so I will change it back to the way I had it.
the compiler would've given an error if the extern wasn't there(if it needed it).
[11:35]
....... (idle for 30mn)
l8r.
-=*> L8r Daze <*=-
[12:09]
***JohnTalen has quit IRC (leaving) [12:10]
............................ (idle for 2h16mn)
devesine has joined #jsmess [14:26]
........ (idle for 38mn)
Arkiver2 is now known as arkiver [15:04]
..... (idle for 22mn)
db48x` has joined #jsmess
db48x has quit IRC (Read error: Operation timed out)
[15:26]
............ (idle for 57mn)
SketchCowm/win 14 [16:24]
....................... (idle for 1h53mn)
***bwn has quit IRC (Read error: Operation timed out) [18:17]
..... (idle for 24mn)
bwn has joined #jsmess [18:41]
................ (idle for 1h17mn)
gsathya` has quit IRC (Read error: Operation timed out)
gsathya` has joined #jsmess
[19:58]
................................. (idle for 2h43mn)
i0npulse has quit IRC (Ping timeout: 268 seconds)
i0npulse has joined #jsmess
[22:41]

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)