Operating System - Linux
1748182 Members
3525 Online
108759 Solutions
New Discussion юеВ

Re: DBD:Informix installed error for Perl

 
SOLVED
Go to solution
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

Hi Merjin,

Could you kindle let me know how to do the following: I am very new to this issue.

Thanks.

Make Apachy and/or mod_perl force link with libgcc.a and the problem will most likely disappear

Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Hi Steven,

At the time of compiling mod_perl, you need to explicitly link to libgcc.a. To do this, add full path to libgcc.a in Makefile when "ld" being called,

-L/usr/local/lib/libgcc.a or whichever applicable in your case.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
H.Merijn Brand (procura
Honored Contributor

Re: DBD:Informix installed error for Perl

You said you rebuilt perl.

change the Makefile, and add -lgcc to the LDFLAGS

If that doesn't force libgcc, add a dummy call in one of the .c files, like

void _force_libgcc_load ()
{
divsi3 ();
}

HTH, Enjoy, Have FUN! H.Merijn [ who uses Apache nor mod_perl ]
Enjoy, Have FUN! H.Merijn
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

Hi All,

I have tried the following to compile Apache1.3.31 to 64 bit using gcc on my Itanium rx2620.

1) export LDFLAGS='-mlp64'

2) ./configure --with-layout=Apache --prefix=/apps/apache \
--enable-module=most \
--enable-shared=max

3) make

But I get the following errors:

gcc -c -I../os/unix -I../include -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite `../apaci` gen_test_char.c
gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite `../apaci` -mlp64 -o gen_test_char gen_test_char.o -lm -lpthread
ld: Can't find library or mismatched ABI for -lgcc
Fatal error.
collect2: ld returned 1 exit status
*** Error exit code 1

I have the libgcc.a locate in:
/opt/hp-gcc-4.1.0/lib/gcc/ia64-hp-hpux11.23/4.1.0/hpux64/libgcc.a
/opt/hp-gcc-4.1.0/lib/gcc/ia64-hp-hpux11.23/4.1.0/libgcc.a

But I can't seems to get Apache 64 compile.

Any ideas.

Thanks
H.Merijn Brand (procura
Honored Contributor
Solution

Re: DBD:Informix installed error for Perl

The first gcc line did not have the -mlp64 flag, causing it to build a 32bit object

You will need to add -mlp64 to the CCFLAGS, and -lgcc to the LDFLAGS

Enjoy, Have FUN! H.Merijn [ don't forget to express your satisfaction with the answers given ]
Enjoy, Have FUN! H.Merijn
Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Steven,

1) export CFLAGS="-mlp64"

2) export CPPFLAGS="-mlp64" (Precautionary step)

mismatched ABI generally means of bit compatibility.

-Arun

"A ship in the harbor is safe, but that is not what ships are built for"
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

Sorry for bothering all of you.

The compile to 64 bits now works fine.
It's was great!

But when I start apache, I get the following error:

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

I have out of ideas.

Any one knows what next?
H.Merijn Brand (procura
Honored Contributor

Re: DBD:Informix installed error for Perl

edit one of the .c files and add

void _force_libgcc_load ()
{
divsi3 ();
}

That should forc-load libgcc

Maybe more friendly (and easier), find yourself the FULL PATH for libgcc.a and add it to the LDFLAGS

LDFLAGS='/usr/local/pa20_64/lib/gcc/hppa64-hp-hpux11.00/4.0.3/libgcc.a ....'

Let the .... be what was in LDFLAGS before you changed it

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Arunvijai_4
Honored Contributor

Re: DBD:Informix installed error for Perl

Hi Steven,


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

Comment out mod_imap.so in Apache configuration file. Then try to start Apache..

# grep "mod_imap.so" `find /apps/apache/conf -type f`

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
Steven_181
Advisor

Re: DBD:Informix installed error for Perl

Hi Merjin,

Do you mean to set the LDFLAGS='/opt/hp-gcc-4.1.0/lib/gcc/ia64-hp-hpux11.23/4.1.0/hpux64/libgcc.a -lgcc' ?