You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Octavian Rasnita <or...@gmail.com> on 2007/07/13 17:48:40 UTC
Can't install mod_perl
Hi,
I am trying hard to install mod_perl under SuSE X86_64 but I cannot do it.
It gives the error below on the "make" step. I have searched for this error
on the net, and I found only that perl could be badly installed, or Apache.
I installed perl using the /lib64 /usr/lib64 and /usr/local/lib64
directories and not the default (/lib /usr/lib and /usr/local/lib).
I have also chose to install it with 64 bit support.
The problem is that I don't know how to be sure that Apache is installed
with 64 bit support.
I have also tried by installing Active Perl for Linux X86_64 which I guess
it was compiled correctly, but it gave the same error on the "make" step for
mod_perl.
First I installed perl using default libraries (from /lib, /usr/lib...) and
I wasn't able to compile DBD::mysql. After using /lib64, /usr/lib64... I was
able to compile DBD::mysql, so I think perl is installed correctly.
This is why I think Apache is not installed as it should, but I don't know
how to install it with 64 bit support.
Please tell me, have you succeeded to install mod_perl under a X86_64
machine? If yes, please advice what should I do.
If you didn't, do you know if a 32 bit Linux OS can be installed under a 64
bit machine? Is it adviceable to do this for a production machine?
If it helps, here is the result of `uname -a`:
Linux duahp 2.6.16.13-4-smp #1 SMP Wed May 3 04:53:23 UTC 2006 x86_64 x86_64
x86_64 GNU/Linux
Thank you very much.
Here is the error:
duahp:/usr/local/src/mod_perl-2.0.3 # make
cd "src/modules/perl" && make
make[1]: Entering directory `/usr/local/src/mod_perl-2.0.3/src/modules/perl'
rm -f mod_perl.so
gcc -shared \
\
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 mod
perl_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_xsini
t.lo modperl_exports.lo -Wl,-E
/usr/local/perl_588/lib/CORE/libperl.a -lnsl -ldl -lm -lcrypt -lutil -lpthread
-lc \
-o mod_perl.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
/usr/local/perl_588/lib/CORE/libperl.a(gv.o): relocatio
n R_X86_64_32S against `a local symbol' can not be used when making a shared
object; recompile with -fPIC
/usr/local/perl_588/lib/CORE/libperl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [mod_perl.so] Error 1
make[1]: Leaving directory `/usr/local/src/mod_perl-2.0.3/src/modules/perl'
make: *** [modperl_lib] Error 2
duahp:/usr/local/src/mod_perl-2.0.3 #
Ready ssh2: AES-12 21, 39 52 Rows, 132 Cols VT100
Octavian
Re: Can't install mod_perl
Posted by Octavian Rasnita <or...@gmail.com>.
From: "Fred Moyer" <fr...@redhotpenguin.com>
>
> Getting a good build of perl under x86_64 can be a bit tricky, when you
> compile perl you need to make sure that the default directories to search
> includes /usr/lib64. It took me a few tries to get it right, I posted my
> experiences here - http://use.perl.org/~Phred/journal/31581
>
> Here's another good link I found on the subject -
> http://mail-archives.apache.org/mod_mbox/perl-modperl/200505.mbox/%3CCC898C3BA202E8EF9DC31532@sachmo%3E
>
> I'd say take another few tries at it and make sure to pay extra close
> attention to the default search path when compiling perl - it can be done!
>
Thank you for these links. I will try again.
Now at least I know for sure that I did something wrong. I have used the
paths to /lib64, /usr/lib64, and even to the empty dir /usr/local/lib64, but
I removed the paths to /lib, /usr/lib and /usr/local/lib, which I think it
is not ok.
Octavian
Re: Can't install mod_perl
Posted by Fred Moyer <fr...@redhotpenguin.com>.
[sorry my email client dropped the list from the thread, my bad]
> From: "Fred Moyer" <fr...@redhotpenguin.com>
>
>> On Fri, 13 Jul 2007 10:26 am, Octavian Rasnita wrote:
>>> From: "Geoffrey Young" <ge...@modperlcookbook.org>
>>>>> /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
>>>>> /usr/local/perl_588/lib/CORE/libperl.a(gv.o): relocatio
>>>>> n R_X86_64_32S against `a local symbol' can not be used when making a
>>>>> shared object; recompile with -fPIC
>>>>
>>>> the first google match for "recompile with -fPIC" and mod_perl gives
>>>> what looks to be the answer.
>>>>
>>>> archives++
>>>>
>>>> --Geoff
>>>
>>> I have already compiled perl with -fpic and then with -fPIC, but it
>>> still
>>> gives the same error when compiling mod_perl.
>>
>> Are you sure that you are compiling mod_perl with the fpic enabled perl
>> and not your system perl? I ran into this exact same issue on x86_64
>> and
>> fpic worked here. Its been a while since I did that but I don't
>> remember
>> there being any other gotchas.
>
> I did:
>
> $ which perl
> /usr/bin/perl
> $ ls -l /usr/bin/perl
so you replaced your system perl with a version that you compiled, you
probably want to avoid doing that since other programs on your system
might depend on that specific compilation. Instead use -DPrefix to
specify a different location for the new perl you compile, and then
/path/to/my/perl Makefile.PL to compile mod_perl
> And it shown a link to the perl I've just installed using -fPIC.
>
> And I've starting compiling mod_perl using:
>
> $ perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>
> Then on "make" it gave that error.
Getting a good build of perl under x86_64 can be a bit tricky, when you
compile perl you need to make sure that the default directories to search
includes /usr/lib64. It took me a few tries to get it right, I posted my
experiences here - http://use.perl.org/~Phred/journal/31581
Here's another good link I found on the subject -
http://mail-archives.apache.org/mod_mbox/perl-modperl/200505.mbox/%3CCC898C3BA202E8EF9DC31532@sachmo%3E
I'd say take another few tries at it and make sure to pay extra close
attention to the default search path when compiling perl - it can be done!
>
> I have also tried using Active State's Active Perl binary for X86_64, with
> the same results.
>
> (I had previously renamed the folder /usr/lib/perl5 to /usr/lib/old_perl5
> for beeing sure that the system perl won't be found).
>
> If I'd knew that Apache, Perl and MySQL will run well on a 32 bit OS on a
> 64
> bit machine, I'd install a 32 bit OS, but I heard that a 32 bit OS runs
> slower on a 64 bit processor, even slower than on a 32 bit processor.
>
> I don't know what to do.
>
> Octavian
>
>
Re: Can't install mod_perl
Posted by Octavian Rasnita <or...@gmail.com>.
From: "Geoffrey Young" <ge...@modperlcookbook.org>
>
>> /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
>> /usr/local/perl_588/lib/CORE/libperl.a(gv.o): relocatio
>> n R_X86_64_32S against `a local symbol' can not be used when making a
>> shared object; recompile with -fPIC
>
> the first google match for "recompile with -fPIC" and mod_perl gives
> what looks to be the answer.
>
> archives++
>
> --Geoff
I have already compiled perl with -fpic and then with -fPIC, but it still
gives the same error when compiling mod_perl.
Octavian
Re: Can't install mod_perl
Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
> /usr/local/perl_588/lib/CORE/libperl.a(gv.o): relocatio
> n R_X86_64_32S against `a local symbol' can not be used when making a
> shared object; recompile with -fPIC
the first google match for "recompile with -fPIC" and mod_perl gives
what looks to be the answer.
archives++
--Geoff
Re: Can't install mod_perl
Posted by Colin Wetherbee <cw...@denterprises.org>.
Raymond Wan wrote:
> I'm not an expert on this, but looked into this briefly as I was worried
> about the level of support. From asking around, it seems that you can
> install 32-bit Linux on a 64-bit machine, but of course, you lose all
> the benefits of the 64 bits (access to larger disks and more memory per
> process). As an example, when I purchased my 64-bit machine, I was
> given the option to have Windows XP 32-bit or Windows XP 64-bit
> pre-installed for me. So yes, I guess a 32-bit OS can be installed.
This is getting off-topic, but to put this issue to rest, I can confirm
that both 32-bit Debian and 32-bit Windows XP run on 64-bit AMD processors.
In the end, though, it's a bit silly to run a 32-bit OS on a 64-bit
processor, since you're wasting all that extra, fancy 64-bit stuff.
Colin
Re: Can't install mod_perl
Posted by Raymond Wan <rw...@kuicr.kyoto-u.ac.jp>.
Hi Octavian,
Octavian Rasnita wrote:
> Please tell me, have you succeeded to install mod_perl under a X86_64
> machine? If yes, please advice what should I do.
Yes, I have, and haven't noticed any problems. I installed Debian
stable (AMD64 version): http://www.debian.org/ports/amd64/ . The
installation was generally straight-forward, but I encounter other
problems such as Adobe Flash not being available, etc. But as for
Apache 2/mod_perl 2...things are fine.
> If you didn't, do you know if a 32 bit Linux OS can be installed under
> a 64 bit machine? Is it adviceable to do this for a production machine?
I'm not an expert on this, but looked into this briefly as I was worried
about the level of support. From asking around, it seems that you can
install 32-bit Linux on a 64-bit machine, but of course, you lose all
the benefits of the 64 bits (access to larger disks and more memory per
process). As an example, when I purchased my 64-bit machine, I was
given the option to have Windows XP 32-bit or Windows XP 64-bit
pre-installed for me. So yes, I guess a 32-bit OS can be installed.
In the end, I decided against it and have a 64-bit OS. Otherwise, I'm
wasting the extra money if I'm not using the extra hardware. Back when
I was deciding, software like OpenOffice was unavailable for
64-bits...that has since changed and now, I don't have many complaints
other than minor things like Adobe Flash, etc.
Good luck with your mod_perl problem...sorry I couldn't give advice
related to it, but it seems others have already...
Ray