From owner-freebsd-emulation@FreeBSD.ORG Sun Jun 26 18:05:22 2005 Return-Path: X-Original-To: freebsd-emulation@freebsd.org Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69F8E16A41C for ; Sun, 26 Jun 2005 18:05:22 +0000 (GMT) (envelope-from jaco@coocoo.za.net) Received: from riot.premsoft.co.za (mail.accountmate.co.za [196.38.54.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8928243D49 for ; Sun, 26 Jun 2005 18:05:17 +0000 (GMT) (envelope-from jaco@coocoo.za.net) Received: (qmail 86229 invoked by uid 1003); 26 Jun 2005 17:59:38 -0000 Received: from jaco@coocoo.za.net by riot.premsoft.co.za by uid 89 with qmail-scanner-1.22 (clamscan: 0.65. spamassassin: 2.63. Clear:RC:1(127.0.0.1):. Processed in 12.765858 secs); 26 Jun 2005 17:59:38 -0000 Received: from localhost (HELO webmail.premsoft.co.za) (127.0.0.1) by localhost with SMTP; 26 Jun 2005 17:59:24 -0000 Received: from 196.37.144.98 (SquirrelMail authenticated user jaco@coocoo.za.net) by webmail.premsoft.co.za with HTTP; Sun, 26 Jun 2005 19:59:24 +0200 (SAST) Message-ID: <2943.196.37.144.98.1119808764.squirrel@webmail.premsoft.co.za> Date: Sun, 26 Jun 2005 19:59:24 +0200 (SAST) From: jaco@coocoo.za.net To: freebsd-emulation@freebsd.org User-Agent: SquirrelMail/1.4.2 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 Importance: Normal Subject: [Linux] Loading Linux modules in Apache? X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2005 18:05:22 -0000 Hello All, I am trying to load a Linux module in Apache 2.0.53, but I am running into some problems. I am not sure if this is even possible, but I sure hope so. ;) This is the scenario: I have a precompiled linux DSO module for Apache 2. This module loads fine on Linux, but pukes when I try to load it on FreeBSD. First of all a question: Is there any special setting that I must change in order for apache to use be able to see the shared libraries that is in the linux directectory? This directory is located in /usr/compat/linux/. The module is branded as Linux. When I try to load the module in Apache it complains about shared libraries not being found. These libraries exist in /usr/compat/linux/lib and /usr/compat/linux/usr/lib. They also work for the other linux applications that I run, ie, they are found. I also tried to link the libs in /usr/compat/linux/lib to /usr/lib. I KNOW that this can not be the right way to do it, but this sort of worked (no more shared library not found), but then the module groaned about some undefined symbols. I think this is because it finds some OTHER module with the same name as the one it's linked against in linux and then cannot find the stuff it is looking for. Here is the exact error message: Syntax error on line 1108 of /usr/local/etc/apache2/httpd.conf: Cannot load /usr/local/libexec/apache2/mod_V2_mgrequest94.so into server: /usr/local/libexec/apache2/mod_V2_mgrequest94.so: Undefined symbol "__gxx_personality_v0" Here is the output of ldd: root@disco-bear# ldd /usr/local/libexec/apache2/mod_V2_mgrequest94.so /usr/local/libexec/apache2/mod_V2_mgrequest94.so: libpthread.so.0 => /usr/local/lib/libpthread.so.0 (0x281b3000) libstdc++.so.3 => /usr/lib/compat/libstdc++.so.3 (0x28204000) libm.so.6 => /usr/local/lib/libm.so.6 (0x28249000) libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x2826a000) libc.so.6 => /usr/local/lib/libc.so.6 (0x28272000) ld-linux.so.2 (0x2839d000) libm.so.2 => /usr/lib/compat/libm.so.2 (0x283b0000) (some of these are symlinked to /usr/compat/linux/lib) Is there anything special that I must do to be able to load this module in Apache? OS: FreeBSD 5.4-RELEASE Apache: 2.0.53 Linux Base: Redhat 7.2 Thank you in advance for your help. ---Jaco