From octave-maintainers-request at bevo dot che dot wisc dot edu Tue May 19 13:10:49 1998 Subject: Re: Question From: "John W. Eaton" To: Chuck Robey cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Tue, 19 May 1998 13:08:48 -0500 (CDT) On 19-May-1998, Chuck Robey wrote: | I've not dropped this. I just found that if I add the qualifier | "string" to the variables like in line 198 above (and several after) it | no longer gets the SIGBUS. I still am getting a SIGBUS at line 211, | which I modified: | | 210 char *hd = getenv ("HOME"); | 211 string Vhome_directory = hd ? hd : "I have no home!"; By doing that, you are creating a local variable called Vhome_directory that shadows the global one. That's definitely not what should happen. Try changing it to Vhome_directory = hd ? string (hd) : string ("I have no home!"); If that fails to compile, do it like this instead: if (hd) Vhome_directory = string (hd); else Vhome_directory = string ("I have no home!"); There may be other places where you need to make similar changes. Can you please let me know where, so I can change my sources? I think this problem is probably a bug in the compiler you are using, but I'm willing to modify the Octave sources to work around the bug. Thanks, jwe