Forum: Ruby on Rails mongrel error on debian sarge

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Eb96620826312516bb4a2d6deeee6688?d=identicon&s=25 Jean-Christophe Michel (Guest)
on 2006-04-28 08:53
(Received via mailing list)
Hi,

I cannot get mongrel working on i686 debian sarge, whereas it works
quite well on another ppc box under debian unstable.
Instead I can use scgi_rails or webbrick without any problem.
Here is the error:

# mongrel_rails start
/usr/lib/ruby/gems/1.8/gems/mongrel-0.3.12.4/lib/mongrel/rails.rb:28:
uninitialized constant Mongrel::HttpHandler (NameError)
         from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
         from
/usr/lib/ruby/gems/1.8/gems/mongrel-0.3.12.4/bin/mongrel_rails:5


Here are the compilation log while updating gem to mongrel 0.3.12.4
(ruby):

Building native extensions.  This could take a while...
Dans le fichier inclus à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:28:21: stdlib.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:32:21: string.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:42:19: stdio.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:64:20: alloca.h : Aucun fichier ou
répertoire de ce type
Dans le fichier inclus à partir de
/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:7,
           à partir de
/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:11,
           à partir de /usr/lib/ruby/1.8/i486-linux/ruby.h:84,
           à partir de http11.c:1:
/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:122:75: limits.h :
Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de
/usr/lib/ruby/1.8/i486-linux/ruby.h:677,
           à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/missing.h:16:24: sys/time.h : Aucun fichier
ou répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/missing.h:25:25: sys/types.h : Aucun
fichier ou répertoire de ce type
In file included from /usr/lib/ruby/1.8/i486-linux/ruby.h:678,
                  from http11.c:1:
/usr/lib/ruby/1.8/i486-linux/intern.h:215: error: erreur de syntaxe
before "fd_set"
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : `struct timeval'
declared inside parameter list
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : its scope is only
this definition or declaration, which is probably not what you want
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : parameter has
incomplete type
/usr/lib/ruby/1.8/i486-linux/intern.h:446: attention : noms de
paramètres (sans type) dans la déclaration de fonction
Dans le fichier inclus à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:687:21: pthread.h : Aucun fichier ou
répertoire de ce type
In file included from http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: error: erreur de syntaxe before
"rb_nativethread_t"
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: attention : type defaults to
`int' in declaration of `rb_nativethread_t'
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: attention : data definition has
no type or storage class
http11.c:3:20: assert.h : Aucun fichier ou répertoire de ce type
http11.c:4:20: string.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de http11.c:5:
http11_parser.h:4:23: sys/types.h : Aucun fichier ou répertoire de ce type
http11.c:6:19: ctype.h : Aucun fichier ou répertoire de ce type
http11.c: Dans la fonction « http_field »:
http11.c:72: attention : implicit declaration of function `toupper'
http11.c: Dans la fonction « header_done »:
http11.c:144: attention : implicit declaration of function `strchr'
http11.c:125: attention : unused variable `host'
http11.c:126: attention : unused variable `port'
http11.c: Dans la fonction « HttpParser_free »:
http11.c:165: attention : implicit declaration of function `free'
http11.c: Dans la fonction « URIClassifier_alloc »:
http11.c:333: attention : implicit declaration of function `assert'
http11.c: Hors de toute fonction :
http11.c:26: attention : `global_interface_value' defined but not used
make: *** [http11.o] Erreur 1
Dans le fichier inclus à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:28:21: stdlib.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:32:21: string.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:42:19: stdio.h : Aucun fichier ou
répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/ruby.h:64:20: alloca.h : Aucun fichier ou
répertoire de ce type
Dans le fichier inclus à partir de
/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:7,
           à partir de
/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:11,
           à partir de /usr/lib/ruby/1.8/i486-linux/ruby.h:84,
           à partir de http11.c:1:
/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:122:75: limits.h :
Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de
/usr/lib/ruby/1.8/i486-linux/ruby.h:677,
           à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/missing.h:16:24: sys/time.h : Aucun fichier
ou répertoire de ce type
/usr/lib/ruby/1.8/i486-linux/missing.h:25:25: sys/types.h : Aucun
fichier ou répertoire de ce type
In file included from /usr/lib/ruby/1.8/i486-linux/ruby.h:678,
                  from http11.c:1:
/usr/lib/ruby/1.8/i486-linux/intern.h:215: error: erreur de syntaxe
before "fd_set"
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : `struct timeval'
declared inside parameter list
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : its scope is only
this definition or declaration, which is probably not what you want
/usr/lib/ruby/1.8/i486-linux/intern.h:216: attention : parameter has
incomplete type
/usr/lib/ruby/1.8/i486-linux/intern.h:446: attention : noms de
paramètres (sans type) dans la déclaration de fonction
Dans le fichier inclus à partir de http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:687:21: pthread.h : Aucun fichier ou
répertoire de ce type
In file included from http11.c:1:
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: error: erreur de syntaxe before
"rb_nativethread_t"
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: attention : type defaults to
`int' in declaration of `rb_nativethread_t'
/usr/lib/ruby/1.8/i486-linux/ruby.h:689: attention : data definition has
no type or storage class
http11.c:3:20: assert.h : Aucun fichier ou répertoire de ce type
http11.c:4:20: string.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de http11.c:5:
http11_parser.h:4:23: sys/types.h : Aucun fichier ou répertoire de ce type
http11.c:6:19: ctype.h : Aucun fichier ou répertoire de ce type
http11.c: Dans la fonction « http_field »:
http11.c:72: attention : implicit declaration of function `toupper'
http11.c: Dans la fonction « header_done »:
http11.c:144: attention : implicit declaration of function `strchr'
http11.c:125: attention : unused variable `host'
http11.c:126: attention : unused variable `port'
http11.c: Dans la fonction « HttpParser_free »:
http11.c:165: attention : implicit declaration of function `free'
http11.c: Dans la fonction « URIClassifier_alloc »:
http11.c:333: attention : implicit declaration of function `assert'
http11.c: Hors de toute fonction :
http11.c:26: attention : `global_interface_value' defined but not used
make: *** [http11.o] Erreur 1
ruby extconf.rb update mongrel
checking for main() in -lc... no
creating Makefile

make
gcc -fPIC -Wall -g -O2  -fPIC  -I. -I/usr/lib/ruby/1.8/i486-linux
-I/usr/lib/ruby/1.8/i486-linux -I.   -c http11.c

make install
gcc -fPIC -Wall -g -O2  -fPIC  -I. -I/usr/lib/ruby/1.8/i486-linux
-I/usr/lib/ruby/1.8/i486-linux -I.   -c http11.c
Successfully installed mongrel-0.3.12.4
Installing RDoc documentation for mongrel-0.3.12.4...
Gems: [mongrel] updated



Here are the installed libs:
# dpkg --get-selections | grep ruby
libbreakpoint-ruby1.8                           install
libbz2-ruby1.8                                  install
libcmd-ruby1.8                                  install
libcmdparse2-ruby                               install
libdaemonize-ruby1.8                            install
libdbd-mysql-ruby1.8                            install
libdbd-odbc-ruby1.8                             install
libdbd-pg-ruby1.8                               install
libdbi-ruby1.8                                  install
libgettext-ruby-util                            install
libgettext-ruby1.8                              install
libldap-ruby1.8                                 install
liblocale-ruby1.8                               install
libmysql-ruby1.8                                install
libodbc-ruby1.8                                 install
libopenssl-ruby1.8                              install
libpgsql-ruby1.8                                install
libreadline-ruby1.8                             install
librmagick-ruby1.8                              install
libruby1.8                                      install
libruby1.8-dbg                                  install
libxml-parser-ruby1.8                           install
libxml-ruby                                     install
libxml-ruby1.8                                  install
ruby                                            install
ruby1.8                                         install
ruby1.8-dev                                     install
ruby1.8-examples                                install
vim-ruby                                        install


--
Jean-Christophe Michel
9b17b318a4e4cc850617920971453408?d=identicon&s=25 Benigno Uria (Guest)
on 2006-04-28 14:36
(Received via mailing list)
Mongrel requires Ruby 1.8.4. Debian Stable install 1.8.2. Did you
install 1.8.4? Run: ruby --version to discover it.

  Try googling install debian ruby 1.8.4 if you didn't to learn how
to do it.

Cheers.

Benigno Uria
Eb96620826312516bb4a2d6deeee6688?d=identicon&s=25 Jean-Christophe Michel (Guest)
on 2006-04-28 16:26
(Received via mailing list)
Benigno Uria wrote:
> Mongrel requires Ruby 1.8.4. Debian Stable install 1.8.2. Did you
> install 1.8.4? Run: ruby --version to discover it.

The sarge box runs
$ ruby -v
ruby 1.8.4 (2005-12-24) [i486-linux]

 >  Try googling install debian ruby 1.8.4 if you didn't to learn how
 > to do it.

Thks, but as I told you I have mongrel running here in dev, so I know
the requirements ;-) The dev box here runs exactly the same package,
ruby 1.8.4 from 2005-12-24, but for ppc.

--
Jean-Christophe Michel
8acba6d057b3f0c2c16cca95ad36881b?d=identicon&s=25 Bakki Kudva (bakki)
on 2006-04-28 18:40
(Received via mailing list)
I am running mongrel on Debian Sarge with ruby.1.8.4 without any
problems.
I used debuild to create  1.8.4 debs from sid sources. Afterwards I did
a
gem install mongrel -t

I prefer using gem to install gems with the -t flag so unit tests are
run which show any problems.

I vaguely remember reading folks running into problems if the orig
ruby was built from sources also. (mine was installed from binary
debs) I think the solution was to remove ALL ruby related packages,
debuild the 1.8.4 version and install the newer debs. You may want to
google on that.
Hope it helps,

-bakki
Eb96620826312516bb4a2d6deeee6688?d=identicon&s=25 Jean-Christophe Michel (Guest)
on 2006-05-03 19:11
(Received via mailing list)
Bakki Kudva wrote:
> I am running mongrel on Debian Sarge with ruby.1.8.4 without any problems.
> I used debuild to create  1.8.4 debs from sid sources. Afterwards I did a
> gem install mongrel -t
>
> I prefer using gem to install gems with the -t flag so unit tests are
> run which show any problems.

Thks.
I upgraded gcc to 4.0.3 (from testing) and then the mongrel http11
compilation went better. Once the compilation log became errorless,
mongrel worked well.
This topic is locked and can not be replied to.