Mod Perl Problem PLEASE HELP

W

wizard

PLEASE HELP.

Hello, Please help me.
I am installing mod perl on an dual AMD 64-Bit processor machine. I am
using 64 bit gcc for compilation ( The same I have been using for
Apache 2 and Perl 5.8.3). When I compile mod perl , I get the
following error which says:-
relocation of R_X86_64_32 can not be used when making a shared object;
recompile with -fPIC.

Kindly tell me what it means and what can I do with the error. I am
posting below the compilation line with the error.


PLEASE HELP.




x86_64-unknown-linux-gnu-gcc -shared -L/usr/local/lib \
\
mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo
modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo
modperl_handler.lo modperl_gtop.lo modperl_util.lo modperl_io.lo
modperl_io_apache.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo
modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo
modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo
modperl_sys.lo modperl_module.lo modperl_svptr_table.lo
modperl_const.lo modperl_constants.lo modperl_apache_compat.lo
modperl_error.lo modperl_debug.lo modperl_common_util.lo
modperl_common_log.lo modperl_hooks.lo modperl_directives.lo
modperl_flags.lo modperl_xsinit.lo modperl_exports.lo -Wl,-E
-L/usr/local/lib
/usr/local/lib/perl5/5.8.6/x86_64-linux/auto/DynaLoader/DynaLoader.a
-L/usr/local/lib/perl5/5.8.6/x86_64-linux/CORE -lperl -lnsl -ldl -lm
-lcrypt -lutil -lc \
-o mod_perl.so
/opt/crosstool/x86_64-unknown-linux-gnu/gcc-3.4.1-glibc-2.3.3/lib/gcc/x86_64-unknown-linux-gnu/3.4.1/../../../../x86_64-unknown-linux-gnu/bin/ld:
/usr/local/lib/perl5/5.8.6/x86_64-linux/auto/DynaLoader/DynaLoader.a(DynaLoader.o):
relocation R_X86_64_32 can not be used when making a shared object;
recompile with -fPIC
/usr/local/lib/perl5/5.8.6/x86_64-linux/auto/DynaLoader/DynaLoader.a:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [mod_perl.so] Error 1
make[1]: Leaving directory
`/home/staff/install/mod_perl-2.0.1/src/modules/perl'
make: *** [modperl_lib] Error 2
 
B

Brian Wakem

wizard said:
PLEASE HELP.

Hello, Please help me.
I am installing mod perl on an dual AMD 64-Bit processor machine. I am
using 64 bit gcc for compilation ( The same I have been using for
Apache 2 and Perl 5.8.3). When I compile mod perl , I get the
following error which says:-
relocation of R_X86_64_32 can not be used when making a shared object;
recompile with -fPIC.


"recompile with -fPIC" is self explanatory, is it not?
 
W

wizard

Dear Brian Wakem,
Thank you very much for your suggestion. But there is one problem.
I am currently working on a mail server and any change in the existing
perl configuration may change the working of many many binaries that
are using Dynaloader. Any of the binaries can stop working and it will
create a big problem. Is there any way that I can get a workaround of
this problem. I am in a dicy situation whereby I cannot change any
existing configuration with the current Perl.
Please help me bug this problem out. I will be much grateful.
Regards,
Vivek J. Joshi
 
U

usenet

wizard said:
I am in a dicy situation whereby I cannot change any
existing configuration with the current Perl.

I believe you will need to schedule a server maintenance window, my
friend. And you want to do this anyway (especially when using the
dynamic loader - without -fpic, the loader must create a private copy
of the library at runtime for each process - you pretty much kill any
efficiency you get from shared libraries).
 
K

Keith Keller

Thank you very much for your suggestion. But there is one problem.
I am currently working on a mail server and any change in the existing
perl configuration may change the working of many many binaries that
are using Dynaloader. Any of the binaries can stop working and it will
create a big problem. Is there any way that I can get a workaround of
this problem. I am in a dicy situation whereby I cannot change any
existing configuration with the current Perl.

Build and use your own copy of any libraries you need. Check out
perldoc -q lib for help.

--keith
 
W

wizard

Hello Keith Keller, David, and Brian Wakem,
Thanks a lot people. Your suggestions have pumped a lot of confidence
in me. I have a few options in mind:-
1) The server maintainence window as suggested by Mr. David.
2) Build a new copy of libraries as suggested by Mr Keller.
3) Also, I am thinking of installing a new Perl in /opt/perl4modperl
and while installing the new modperl, link the libraries in this
directory.

I am going to try them out all if possible. Kindly suggest me if I am
on the wrong track.
Again, I thank you all very much for your help.
With warm regards,
Vivek J. Joshi
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top