Hi Graham,

        See my comments below.

Joe

On Feb 4, 2010, at 7:42 PM, Graham Dumpleton wrote:

> On 5 February 2010 07:08, Joe Hughes <[email protected]> wrote:
>> Hi Graham,
>> 
>>        I was assigned a Mac Mini Server to do the development on so let me 
>> see if I can answer all your questions.  Here is the sequence
>> 
>> 1.  Downloaded latest Development Tools from Apple
> 
> Why not just use the version of Apache supplied with the operating system?

I did.  I downloaded the Development Tools which as far as I know include gcc 
and other tools, but not Apache.

> 
>> 2.  Downloaded latest Python source from Python.org
> 
> Why not just use the version of Python supplied with the operating system?

I want to use Python3 instead of 2.6.  Python is a new language for me and I 
like looking forward.

> 
>> 3.  Tried to configure but found an issue
> 
> What issue? Show the exact output and error messages you were presented with.

Below is the configuration.  I got

checking size of wchar_t... configure: error: cannot compute sizeof (wchar_t)
See `config.log` for more details.

A little research later I found that if I ran this command

gcc -o conftest -g -O2 -arch i386 -arch ppc -arch x86_64 -arch ppc64 -isysroot 
/ conftest.c

I got

ld:  warning:  in //usr/lib/crt1.10.5.o, missing required architecture ppc64 in 
file
ld: warning: in //usr/lib/libSystemStubs.a, missing required architecture ppc64 
in file
ld: warning: in //usr/lib/libSystem.dylib, missing required architecture ppc64 
in file
Undefined symbols for architecture ppc64:
        "_fclose", referenced from:
                _main in ccj5PURu.o
        "_fopen", referenced from:
                _main in ccj5PURu.o
        "_ferror", referenced from:
                _main in ccj5PURu.o
ld: symbol(s) not for for architecture ppc64
collect2: ld returned 1 exit status
lipo: can't open input file: 
/var/folders/dN/dN-6jI8kGjKNFFJ-eHeW1k+++TI/-Tmp-//ccizIo*z.out (No such file 
or directory)

When I take out the -arch ppc64 I don't have the problem.  When I do a

file /usr/sbin/httpd

I get

/usr/sbin/httpd: Mach-O universal binary with 3 architectures
/usr/sbin/httpd (for architecture x86_64):              Mach-O 64-bit 
executable x86-64
/usr/sbin/httpd (for architecture i386):                Mach-O executable i386
/usr/sbin/httpd (for architecture ppc7400):     Mach-O executable ppc

This is why I removed the ppc64 from the configure for the all option.

> 
>> 4.  Modified configure so it didn't have ppc64 as an architecture in the all 
>> option
>> 5.  Configured with no errors
>> 
>> ./configure --prefix=/usr/local/python-3.1.1 \
>>                    --enable-framework=/usr/local/python3.1.1/frameworks \
>>                    --enable-universalsdk=/ MACOSX_DEPLOYMENT_TARGET=10.6 \
>>                    --with-universal-archs=all
> 
> This is wrong, as documented in:
> 
>  http://code.google.com/p/modwsgi/wiki/InstallationOnMacOSX
> 
> on Snow Leopard you should have used:
> 
> ./configure --prefix=/usr/local/python-3.1.1 \
>                    --enable-framework=/usr/local/python3.1.1/frameworks \
>                    --enable-universalsdk=/ MACOSX_DEPLOYMENT_TARGET=10.6 \
>                    --with-universal-archs=3-way
> 
> Note how '3-way' is used instead of 'all'.
> 
> If you had done the right thing, you probably wouldn't have needed to
> hack Python configure script.

I tried --with-universal-archs=3-way and got an invalid option error.  I did 
the ./configure --help and I got 32-bit, 64-bit or all as options.

> 
>> 6.  Make with no errors
>> 7.  Make install with no errors
>> 8.  Linked python3.1.1 binary to /usr/local/bin/python3
>> 9.  Downloaded latest mod_wsgi
>> 10.  Configured with no errors
>> 
>> ./configure --with-python=/usr/local/bin/python3
>> 
>> 11.  Make with no errors
>> 12.  Make install with no errors
>> 13.  Added
>> 
>> LoadModule wsgi_module libexec/apache2/mod_wsgi.so
>> 
>> to httpd.conf
>> 14.  Checked apachectl -t and no errors
>> 15.  Stopped and then started Apache
>> 16.  Loaded the files onto the mac server
>> 17.  Used the wrong URL which gave me an error with Apache/2.2.13 (Unix) 
>> mod_wsgi/3.1 Python/3.1.1
>>        which tells me that mod_wsgi is working
>> 18.  Got the right URL and got what I was expecting
>> 
>> Thus except for the python configure bug (The Mac Mini reports ppc, i386, 
>> and x86_64 for httpd) everything looks good.
> 
> So, I take it that it is now working okay and you didn't actually
> investigate the reason for the original problem? That is, run
> 'apachectl -t' for original failing installation so could see if was a
> runtime symbol lookup problem as expected it may be based on limited
> information supplied.

It is working on the Mac Mini Server.  On my personal mac I still have the 
issue.  This is the error I get from apachectl -t

httpd: Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load 
/usr/libexec/apache2/mod_wsgi.so into server: 
dlopen(/usr/libexec/apache2/mod_wsgi.so, 10): Symbol not found: _PyBool_Type\n  
Referenced from: /usr/libexec/apache2/mod_wsgi.so\n  Expected in: flat 
namespace\n in /usr/libexec/apache2/mod_wsgi.so

> 
> Graham
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/modwsgi?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to