Operating System - Linux
1753477 Members
6023 Online
108794 Solutions
New Discussion юеВ

Re: __modsi3 and __divdi3 error

 
Steven_181
Advisor

__modsi3 and __divdi3 error

Hi All,

I have managed to compile my apache1.3.31 in 64 bits on my 11.23 ia64 itanium with
CFLAGS="-mlp64", CPPFLAGS="-mlp64",
LDFLAGS="-lgcc"

The issue is that there are 2 modules that behave funny. All modules do not have error.
The two are mod_imap.so and libproxy.so.

I also tried to compile with option:
LDFLAGS=/opt/hp-gcc-4.1.0/lib/gcc/ia64-hp-hpux11.23/4.1.0/hpux64/libgcc.a -lgcc
but the error still exit.

Below is the error:
1) mod_imap.so

/usr/lib/hpux64/dld.so: Unsatisfied code symbol '__modsi3' in load module '/apps/apache/libexec/mod_imap.so'.
Syntax error on line 219 of /apps/apache/conf/httpd.conf:
Cannot load /apps/apache/libexec/mod_imap.so into server: Unresolved external

2) libproxy.so
/usr/lib/hpux64/dld.so: Unsatisfied code symbol '__divdi3' in load module '/apps/apache/libexec/libproxy.so'.
Syntax error on line 230 of /apps/apache/conf/httpd.conf:
Cannot load /apps/apache/libexec/libproxy.so into server: Unresolved external

Any help is greatly appreciated.
2 REPLIES 2
Stephen Keane
Honored Contributor

Re: __modsi3 and __divdi3 error

I don't know about __modsi3 (there is a __moddi3 ?), but __divdi3 should be defined in libgcc.a

If you copy your libgcc.a into (say) /tmp, then extract the object files from it, you should see that __divdi3 is defined in _divdi3.o

e.g.

cp /libgcc.a /tmp
cd /tmp
ar -x libgcc.a
nm _divdi3.o | grep "__divdi3"
nm _moddi3.o | grep "__moddi3"

should return something like ...

00000000 T __divdi3
00000000 T __moddi3

Dennis Handly
Acclaimed Contributor

Re: __modsi3 and __divdi3 error

I saw a recent thread that I solved that finally may explain your unsat. Where did you put the LDFLAGS macro?

You should NOT be using LDFLAGS for including libs, you should use another macro that you place at the END of the link line.