ruby 1.8.4 + mod_ruby = "undefined symbol: pthread_create"?

chris at i13i.com chris at i13i.com
Sun Jan 15 08:16:45 PST 2006


Modify the configure script so if apache to compiled using threads as
there is a way to compile apache using threads to use the -lpthread gcc
extension if not then dont compile in support for it i thought -lpthread
was deprecated and we now use libthr or libkse ?

> Alexander Wittig pí¹e v ne 15. 01. 2006 v 14:07 +0100:
>> 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 at 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
>
> Shared objects does not link threading library on FreeBSD, it's assumed
> that final binary will link in desired threading library. Because Apache
> itself isn't threaded, this never happens.
>
> I'll have to find a way to force lpthread linkage onto a shared object.
>
> --
> Pav Lucistnik <pav at oook.cz>
>               <pav at FreeBSD.org>
>
> May your arrow always find its mark.
>




More information about the freebsd-ports mailing list