Forum: Rails Engines development Load issues with engines 1.0.5 - also some path problems

Efe398b3b5436b0a8d4430090e8f86ea?d=identicon&s=25 Subimage (Guest)
on 2006-01-18 11:06
Just upgraded to 1.0.5 from 1.0.2 on my production app. Runs fine here
in development mode on my test boxes but when I push it to the
production server I'm getting an 500 error and the log is telling me
this...

Note that my root directory for the app is
/home/httpd/vhosts/genselect.com/httpdocs ... which is a symlink to
/home/httpd/vhosts/genselect.com/rails/public

---------------------------
WARNING: Couldn't create the engine public file structure for engine
'substruct_engine'; Error follows:
No such file or directory -
/home/httpd/vhosts/genselect.com/public/engine_files (Errno::ENOENT)
/usr/local/lib/ruby/1.8/fileutils.rb:212:in `mkdir'
/usr/local/lib/ruby/1.8/fileutils.rb:212:in `fu_mkdir'
/usr/local/lib/ruby/1.8/fileutils.rb:151:in `mkdir'
/usr/local/lib/ruby/1.8/fileutils.rb:150:in `each'
/usr/local/lib/ruby/1.8/fileutils.rb:150:in `mkdir'
/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/engines/lib/engines.rb:192:in
`copy_engine_files'
/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/engines/lib/engines.rb:131:in
`start_engine'
/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/engines/lib/engines.rb:76:in
`start'
/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/engines/lib/engines.rb:75:in
`each'
/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/engines/lib/engines.rb:75:in
`start'
/home/httpd/vhosts/genselect.com/httpdocs/../config/environment.rb:61
/home/httpd/vhosts/genselect.com/httpdocs/dispatch.fcgi:21:in `require'
/home/httpd/vhosts/genselect.com/httpdocs/dispatch.fcgi:21
finally loading from application:
'/home/httpd/vhosts/genselect.com/httpdocs/../config/../vendor/plugins/substruct/app/controllers/application.rb'
finally loading from application: 'login_system'


Processing Base#index (for 67.169.31.47 at 2006-01-18 01:26:48) [GET]
  Parameters: {}


MissingSourceFile (No such file to load -- login_system):
    /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__'
    /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:214:in
`require'
    /vendor/plugins/engines/lib/dependencies_extensions.rb:73:in
`require_or_load'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:22:in
`depend_on'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:178:in
`require_dependency'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:178:in
`require_dependency'
    /vendor/plugins/substruct/app/controllers/application.rb:1
    /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__'
    /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:214:in
`require'
    /vendor/plugins/engines/lib/dependencies_extensions.rb:73:in
`require_or_load'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:22:in
`depend_on'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:178:in
`require_dependency'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:178:in
`require_dependency'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:134:in
`load_file!'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:97:in
`const_load!'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:80:in
`each'
    /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:80:in
`const_load!'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/dispatcher.rb:71:in
`prepare_application'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/dispatcher.rb:37:in
`dispatch'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/fcgi_handler.rb:141:in
`process_request'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/fcgi_handler.rb:53:in
`process!'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/fcgi_handler.rb:52:in
`each_cgi'
    /usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:597:in
`each'
    /usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:597:in
`each_cgi'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/fcgi_handler.rb:52:in
`process!'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/fcgi_handler.rb:22:in
`process!'
    /home/httpd/vhosts/genselect.com/httpdocs/dispatch.fcgi:24
05d703f649ef1d07e78d7b479fb4c4ac?d=identicon&s=25 James Adam (Guest)
on 2006-01-18 11:57
(Received via mailing list)
On 1/18/06, Subimage <subimage@gmail.com> wrote:
> Note that my root directory for the app is
> /home/httpd/vhosts/genselect.com/httpdocs ... which is a symlink to
> /home/httpd/vhosts/genselect.com/rails/public
>
> ---------------------------
> WARNING: Couldn't create the engine public file structure for engine
> 'substruct_engine'; Error follows:
> No such file or directory -
> /home/httpd/vhosts/genselect.com/public/engine_files (Errno::ENOENT)

This path is generated in the method 'copy_engine_files'
(engines/lib/engines.rb) by:

   File.expand_path(File.join(RAILS_ROOT, "public",
Engines.config(:public_dir)))

... which indicates that your RAILS_ROOT is neither of the paths you
specify at this point.... puzzling. Any ideas? I suspect it might be a
result of the File.expand_path(). You might play around with calling
this line of code in a script/console session to see what different
results you get.

> MissingSourceFile (No such file to load -- login_system):

You've probably typed 'login_system' instead of 'login_engine' :) The
RAILS_ROOT issue is very weird though.

- james
Efe398b3b5436b0a8d4430090e8f86ea?d=identicon&s=25 Subimage (Guest)
on 2006-01-18 19:37
I'll take a look at the path thing. And no, I've not typed it
incorrectly as I'm not using the login_engine. I'm using my own login
system at the moment...

Also, the same code works beautifully if I run via webrick on the
production server in production mode - so it's something to do with
Apache/FCGI configuration that's screwing things up.

> This path is generated in the method 'copy_engine_files'
> (engines/lib/engines.rb) by:
>
>    File.expand_path(File.join(RAILS_ROOT, "public",
> Engines.config(:public_dir)))
>
> ... which indicates that your RAILS_ROOT is neither of the paths you
> specify at this point.... puzzling. Any ideas? I suspect it might be a
> result of the File.expand_path(). You might play around with calling
> this line of code in a script/console session to see what different
> results you get.
>
>> MissingSourceFile (No such file to load -- login_system):
>
> You've probably typed 'login_system' instead of 'login_engine' :) The
> RAILS_ROOT issue is very weird though.
>
> - james
This topic is locked and can not be replied to.