Gerhard Niklasch on Sat, 16 Jun 2001 18:14:13 +0200 (MEST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Can't build Math::PARI |
In response to: > Message-ID: <20010615180527.B5710@math.ohio-state.edu> > Date: Fri, 15 Jun 2001 18:05:27 -0400 > From: Ilya Zakharevich <ilya@math.ohio-state.edu> > To: "Karim.Belabas" <Karim.Belabas@math.u-psud.fr> > Cc: pari-users list <pari-users@list.cr.yp.to> > References: <5DDF144C9176D211BE8F00805FC1A0D3051D74A3@duro.lucasfilm.com> <Pine.SOL.3.95.1010615134904.28337A-100000@geo> > > On Fri, Jun 15, 2001 at 02:22:31PM +0200, Karim.Belabas wrote: (...) > > b) The shared library Pari.so eventually produced is incorrect: > > > > ld.so.1: /home/belabas/bin/solaris/perl: elf error: > > blib/arch/auto/Math/Pari/Pari.so: bad ELF type: ET_NONE at > > /usr/local/lib/perl5/5.00503/sun4-solaris/DynaLoader.pm line 169. > > Again, I never saw this. Probably a result of your patches? ;-) Any questions related to Solaris and Sun compiler patchlevels are best directed to yours truly off-list. ET_NONE means exactly what it says, something has been generated which has the correct ELF signature in the first bytes, but then an ELF type of `none', i.e. not an executable (32 or 64bit) nor a core file... Turn on -V -v in the compile and link stage flags and record the entire output of the make run, this should provide a clue what commandline had been invoked to generate that Pari.so. > I may use some of your patches. BTW, is -lsunmath needed any more? If we want to invoke exp2() explicitly, then yes, exp2() is in libsunmath.so but not in libm.so. Do we need exp2() or can we work around that? It seems Makefile.PL correctly records the absence of the library and defines NOEXP2, so this should not be a problem (if it also suppresses -lsunmath at the link stage). (See man -s 3m intro for the list of functions in the bundled Solaris libm and in the unbundled libsunmath.) (To the gallery - libsunmath.so.1 is not bundled with Solaris, it comes with the Sun compilers - Forte Developer, formerly known as Sun WorkShop. Chances are that if you don't have the Sun com- pilers installed, you won't have libsunmath, unless you received it redistributed under Sun's runtime libraries licence along with some other software built with it.) To Katherine - check which make command you actually invoke when you type `make' at the root prompt. (which make - would that be /usr/ccs/bin/make, /usr/xpg4/bin/make, or GNU make installed somewhere in /usr/local/bin or /opt/gnu/bin or some such place?) However, it seems something at the configure stage has put a (mis-spelt?) dependency into the primary makefile. It is looking for libPARI/Makefile because there's a dependency somewhere which states that this is required, but it doesn't exist, at least not under this path name relative to the current working directory at the time in question. OTOH, it claims to have written a `Makefile for Math::Pari' a moment earlier. Ilya: that message came from Makefile.PL, so does that mean that libPARI/Makefile should have been created at that point? (And the directory libPARI itself?) I guess make test does want libPARI.a around, so that part of the dependences looks plausible... To Katherine again - also check what directory you're in, and whether it is NFS mounted, and if it is, whether you actually possess root rights through the NFS mount. If the NFS server maps you to nobody, you'll probably run into permission problems. Cheers, Gerhard