From: Julian Fondren Date: 1999-01-18T05:15:31-06:00 Subject: [ruby-talk:00199] Re: auto-loaded script? > Could you tell me what exactly happened, i.e, show me your main.c, > compilation messages from make, error messages from Ruby, please. > > At first, I thought that was because rb_load_file() does not evaluate > nor expand path. You have to get the full path of the loading file by > yourself. For example, > > char path[256]; > > : > snprintf(path, 256, "%s/.rubyrc", getenv("HOME")); > rb_load_file(path); > : > > But error was happened in Ruby file. I don't get what is happening. > > matz. main.c (aside from the commented portion at the top) is =begin main.c #include "ruby.h" #ifdef DJGPP unsigned int _stklen = 0x100000; #endif #ifdef __human68k__ int _stacksize = 131072; #endif int main(argc, argv, envp) int argc; char **argv, **envp; { #if defined(NT) NtInitialize(&argc, &argv); #endif ruby_init(); ruby_options(argc, argv); rb_load_file("/usr/local/lib/ruby/rubyinit.rb"); ruby_run(); } =end main.c /usr/local/lib/rubyinit.rb is =begin /usr/local/lib/rubyinit.rb ## ruby init file require "#{ENV['HOME']}/rubyrc.rb" =end /usr/local/lib/rubyinit.rb and the error is =begin error util.c:137: warning: mktemp() possibly used unsafely; consider using mkstemp() /home/julian/rubyrc:3: Unitialized constant Readline (NameError) from /usr/local/lib/ruby/rubyinit.rb:3 *** Error code 1 Stop in /usr/local/tmp/ruby-1.2.1. =end now, other than the silliness of putting a period on a statement which gives a path (yuk), there is that this error is regarding a script in the home directory of the compiling person, and that this script is something that should NOT even be accessed by make or the compile! The earlier error that /home/julian/.rubyrc did not exist (a false statement) was due to a syntatic error in /usr/local/lib/ruby/rubyinit.rb -- but that file should not have been read either - both are supposed to be read when ruby starts up for the first time after I finish compiling it. btw.. the syntax error was require "#{ENV['HOME']/.rubyrc}" see it? :-) I think that the reading of those files may be due to miniruby's role in compilation.. but that is mainly a guess. I hope this helps.