Karim Belabas on Wed, 28 Jan 2004 16:35:33 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: FreeBSD and Pari


* <allomber@math.u-bordeaux.fr> [2004-01-28 15:03]:
> On Wed, Jan 28, 2004 at 01:42:37PM +0100, Karim Belabas wrote:
> > I have received the following report. Any comments ?
> > 
> > ( the workaround is still there in unstable 2-2-7. I have asked for details
> > about the compilation "crash" )
> > 
> > ========================================================================
> > I just compiled Pari on FreeBSD. There's a workaround for FreeBSD               
> > (version 2.2.5) in the source file pari-2.1.5/src/gp/highlvl.c. But with        
> > recent version of FreeBSD (>=4.x), this workaround is I think not needed
> > any more and crashes the compilation.                                           
> I looked up the dlopen manpage for those versions (that FreeBSD
> conveniently provide online) and both were quite similar, did not
> mention DL_DFLT_NAME, but state that

Sorry, I should have mentioned that DL_DFLT_NAME is set in paricfg.h
to libparixxx.so

> Now, it seems the code has changed to
> 
> #if defined(__FreeBSD__) || defined(__CYGWIN__)
>   if (! *lib) lib = DL_DFLT_NAME;
> #else
>   if (! *lib) lib = NULL;
> #endif
> 
> So, is it neccessary on cygwin ?

I am responsible for this change. It was necessary in practice (not because
the man pages said so).

> Alternatively we can do
> 
> #ifndef DL_DFLT_NAME
> #define DL_DFLT_NAME NULL
> #endif
>   if (! *lib) lib = DL_DFLT_NAME;
> 
> which should cover all case.

This would be equivalent to the current code. Besides that, we should
certainly move this define to Configure land, and set DL_DFLT_NAME to NULL or
the current value libparixxx.so in paricfg.h.

    Karim.
-- 
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425   Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud              http://www.math.u-psud.fr/~belabas/ 
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]