Date: Sun, 15 Jan 2006 14:07:24 +0100 From: Alexander Wittig <alexander@wittig.name> To: ports@freebsd.org Cc: Pav Lucistnik <pav@FreeBSD.org> Subject: ruby 1.8.4 + mod_ruby = "undefined symbol: pthread_create"? Message-ID: <43CA490C.7010201@wittig.name>
next in thread | raw e-mail | index | archive | help
Hi all Thanks Pav for importing ruby 1.8.4 into the ports tree. Looks like things are going fairly well, my production systems still work after portupgrade -a :-) However there has been one problem with mod_ruby: It does not load any more with apache20. I reinstalled everything (www/mod_ruby, textproc/eruby, lang/ruby18) but it still doesn't work. Error message from apache: [root@hotzenplotz:/data/apache/wittig.name/alex]apachectl -DSSL -k restart Syntax error on line 122 of /usr/local/etc/apache2/httpd.conf: Cannot load /usr/local/libexec/apache2/mod_ruby.so into server: /usr/local/lib/libruby18.so.18: Undefined symbol "pthread_create" This only happens on FBSD 6, FBSD 4 is not affected. I assume this is because apache is not built with -pthreads while rubylib is (at least on FBSD >= 5). The workaround I use is to load libpthread into apache from httpd.conf: LoadFile /usr/lib/libpthread.so LoadModule ruby_module libexec/apache2/mod_ruby.so After this the module loads and rhtml files are parsed correctly. I did not test the threading though, because I don't have any ruby code using it. Could one of the pthreads gurus comment on this procedure? Is this a clean solution or just an ugly, error-prone hack? If the first: There should be a note included in www/mod_ruby/pkg_message and http.conf.mod_ruby should probably include the LoadFile, too. If the latter: What has to be done to make things work again? I do not recall having this problem with ruby 1.8.2. Alexander
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43CA490C.7010201>