Re: libperl.so
От | tc lewis |
---|---|
Тема | Re: libperl.so |
Дата | |
Msg-id | Pine.LNX.4.10.10008051710200.9132-100000@magician.bunzy.net обсуждение исходный текст |
Ответ на | Re: libperl.so (Charles Tassell <ctassell@isn.net>) |
Список | pgsql-general |
i removed the perl rpm and installed perl 5.6.0 from source on a redhat 6.2 machine without problems. i went through a lot of extra steps to ensure cleanliness, however, which you may or may not be able to do. here's basically what i did: rpm -e mod_perl rpm -qa | grep piranha | xargs rpm -e rpm -qa | grep php | xargs rpm -e rpm -qa | grep apache | xargs rpm -e rpm -qa | grep postgresql | xargs rpm -e rpm -qa | grep ImageMagick | xargs rpm -e rpm -e perl --nodeps rm -rf /usr/lib/perl5/5* rm -rf /usr/lib/perl5/man rm -rf /usr/lib/perl5/site* rm -rf ~/.cpan cd /usr/local/src mkdir -p packages cd packages wget -c ftp://ftp.perl.org/pub/CPAN/src/perl-5.6.0.tar.gz wget -c ftp://ftp.perl.org/pub/CPAN/src/perl-5.6.0.tar.gz cd .. rm -rf perl-5.6.0 tar zxvf packages/perl-5.6.0.tar.gz chown -R root.root perl-5.6.0 cd perl-5.6.0 rm -f config.sh Policy.sh sh Configure -Dcc=gcc -Dprefix=/usr -Dman3dir=/usr/lib/perl5/man/man3 -de make make test make install-strip cd .. sync the rpm spec does a lot of extra stuff when building perl. most of it is to work around perl's installation scheme in order to allow for buildroot and relocatable mechanisms in the rpm. i decided not to deal with that anymore. the method above won't build a perl shared library for you, only a static one. remove the "-de" from that configure line and it will prompt you on all of its questions, one of which is to build a shared library. i'm sure there's a -D flag you can pass it for that too, but i don't know what it is offhand. consult the perl install docs. all the rpm -e commands at the top are because those packages either have things in a "5.005" directory in /usr/lib/perl5, or are packages that depend on a package with files in such a directory. that's not going to fly from a base perl 5.6.0 installation, since it will now use a "5.6.0" directory. i don't understand why perl does that, but that's beside the point. you can probably get away with just removing the "postgresql-perl" package instead of the whole postgresql distribution, but yeah, uh whatever. you'll figure it out. after installing perl i imagine you could rpm --rebuild those packages from their .src.rpm files and then install them and they would use the correct perl paths, or if not i'm sure a couple well-placed symbolic links would help you. i don't really use any of those packages so it doesn't matter to me. stuff like apache i typically prefer to install from source over using an rpm anyway. anyway, to each his own, i just wanted to chime in and say it's doable. good luck. -tcl. On Sat, 5 Aug 2000, Charles Tassell wrote: > There is also a way to recompile a .a library into a shared > library. Something like: > > ar x library.a > ld -shared -o library.so *.o > > > It's documented somewhere, a web search on "convert shared library" will > probably turn up some detailed documentation. > > > At 11:52 PM 8/4/00, Alex Pilosov wrote: > >On Fri, 4 Aug 2000, Ron Peterson wrote: > > > > > I can't compile the perl module because libperl is not a shared > > > library. So what I'd like to do is simply download the 5.6 perl source, > > > compile, and go. > > > > > > I'm using Red Had 6.1, which has the perl-5.00503-6 rpm installed. Of > > > course there are a jillion other packages which depend on this one. > > > > > > So my question is, what happens if I rpm -e perl, then make, make > > > install the latest 5.6 source? Is my whole world going to fall apart? > >The best idea for you is to install SRPM for 5.005, and then change the > >configuration to build libperl.so, and manually copy libperl.so to > >/usr/lib. > > > >-alex > >
В списке pgsql-general по дате отправления: