ABI issue Solaris 9 8/03?
2007-12-25 2:25:00
18/11/2003 recommended and security patch cluster.
Solaris 9 8/03 SPARC
gcc 2.95.3
Solaris /usr/ccs/bin compiler tools
apache 1.3.29/mod_ssl-2.8.16-1.3.29/openssl-0.9.7c/mm-1.3.0
I am using the same build procedure and sources as on Solaris 8 machines,
and I'm building from source, no binary packages. gcc was built from source,
too, on the same box.
All works fine under Solaris 8 (same machine, same sources), but not Solaris 9:
# ./apachectl configtest
Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/mod_mime_magic.so into server: ld.so.1: /usr/local/apache/bin/httpd: fatal: relocation error: file /usr/local/apache/libexec/mod_mime_magic.so: symbol ap_pcalloc: referenced symbol not found
Someone on the apache developer list tried it on another Solaris 9 machine,
using the same compiler, but older OS release:
Solaris 9 12/02 s9s_u2wos_10a SPARC
Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 02 December 2002
and it works fine for him.
Here is the relevant part of truss output for my system,
resolvepath("/usr/local/apache/libexec/mod_mime_magic.so", "/usr/local/apache/libexec/mod_mime_magic.so", 1023) = 43
memcntl(0xFF120000, 3664, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF110000
munmap(0xFF132000, 9020) = 0
munmap(0xFF120000, 15784) = 0
munmap(0xFF140000, 8192) = 0
fstat64(2, 0xFFBFEC58) = 0
write(2, " S y n t a x e r r o r".., 21) = 21
write(2, " 2 0 5", 3) = 3
write(2, " o f ", 4) = 4
and here for his system
resolvepath("/tmp/apache/libexec/mod_mime_magic.so", "/tmp/apache/libexec/mod_mime_magic.so", 1023) = 37
memcntl(0xFF120000, 3652, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
munmap(0xFF250000, 8192) = 0
open("/tmp/apache/libexec/mod_speling.so", O_RDONLY) = 4
fstat(4, 0xFFBFD1EC) = 0
Here is another difference (@@SYSVABI_1.3 stuff):
On my system:
> $ nm /usr/local/apache/bin/httpd | grep alloc
>
> [403] | 0| 0|FILE |LOCL |0 |ABS |alloc.c
> [406] | 518516| 4|OBJT |LOCL |0 |13 |alloc_mutex
> [1675] | 156472| 8|FUNC |GLOB |0 |10 |ap_cleanup_alloc
> [1332] | 156420| 52|FUNC |GLOB |0 |10 |ap_init_alloc
> [1118] | 156772| 120|FUNC |GLOB |0 |10 |ap_palloc
> [1401] | 156892| 40|FUNC |GLOB |0 |10 |ap_pcalloc
> [1495] | 545572| 128|FUNC |GLOB |0 |UNDEF |calloc@@SYSVABI_1.3
> [1562] | 545728| 60|FUNC |GLOB |0 |UNDEF |malloc@@SYSVABI_1.3
> [408] | 155944| 84|FUNC |LOCL |0 |10 |malloc_block
> [1556] | 545704| 992|FUNC |GLOB |0 |UNDEF |realloc@@SYSVABI_1.3
On his:
> $ nm /tmp/apache/bin/httpd | grep alloc
> [397] | 0| 0|FILE |LOCL |0 |ABS |alloc.c
> [402] | 540840| 4|OBJT |LOCL |0 |16 |alloc_mutex
> [1487] | 176780| 8|FUNC |GLOB |0 |9 |ap_cleanup_alloc
> [1296] | 176728| 52|FUNC |GLOB |0 |9 |ap_init_alloc
> [1137] | 177080| 120|FUNC |GLOB |0 |9 |ap_palloc
> [1236] | 177200| 40|FUNC |GLOB |0 |9 |ap_pcalloc
> [1149] | 538188| 0|FUNC |GLOB |0 |UNDEF |calloc
> [1556] | 536940| 0|FUNC |GLOB |0 |UNDEF |malloc
> [417] | 176252| 84|FUNC |LOCL |0 |9 |malloc_block
> [1181] | 538164| 0|FUNC |GLOB |0 |UNDEF |realloc
Any ideas?
Comments
Got something to say?
You must be logged in to post a comment.

