Full_Name: Eric van Gyzen Version: 2.1.0 OS: FreeBSD 5.4 Submission from: (NULL) (152.3.22.33) R-2.1.0 fails to compile on the newest release of FreeBSD, complaining about undefined references to __builtin_alloca. On FreeBSD, alloca() is declared in stdlib.h, not alloca.h as the R sources expect. Therefore, HAVE_DECL_ALLOCA does not get set, so the R sources declare alloca() after it has already been #defined by stdlib.h. A possible fix is to modify the configure script to look for the declaration of alloca() in stdlib.h (perhaps after it fails to find it in alloca.h). This was previously reported in PR#7881.
On Mon, 23 May 2005 vangyzen@stat.duke.edu wrote:> Full_Name: Eric van Gyzen > Version: 2.1.0 > OS: FreeBSD 5.4 > Submission from: (NULL) (152.3.22.33) > > > R-2.1.0 fails to compile on the newest release of FreeBSD, complaining about > undefined references to __builtin_alloca. On FreeBSD, alloca() is declared in > stdlib.h, not alloca.h as the R sources expect. Therefore, HAVE_DECL_ALLOCA > does not get set, so the R sources declare alloca() after it has already been > #defined by stdlib.h. > > A possible fix is to modify the configure script to look for the declaration of > alloca() in stdlib.h (perhaps after it fails to find it in alloca.h).It is already supposed to, so it is not finding the declaration there either. If you look up the definition of AC_CHECK_DECLS([alloca], , , [#include <alloca.h>]) it searches in stdlib.h. Can you please send us the appropriate part of config.log? It may be that this is failing because alloca.h is not found (but AC_FUNC_ALLOCA is making the same assumptions). Perhaps the easiest way out is to override the setting on FreeBSD: can you please confirm that manually changing #define HAVE_DECL_ALLOCA 1 in config.h works?> This was previously reported in PR#7881.So please don't open a new report on the subject! -- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Prof. Ripley: I apologize for my lack of response. I just moved halfway across the US and have had little to no connectivity for the past two weeks. :( Thanks to you and Rainer Hurling for fixing this. Eric Prof Brian Ripley wrote:> On Mon, 23 May 2005 vangyzen at stat.duke.edu wrote: > >> Full_Name: Eric van Gyzen >> Version: 2.1.0 >> OS: FreeBSD 5.4 >> Submission from: (NULL) (152.3.22.33) >> >> >> R-2.1.0 fails to compile on the newest release of FreeBSD, complaining >> about >> undefined references to __builtin_alloca. On FreeBSD, alloca() is >> declared in >> stdlib.h, not alloca.h as the R sources expect. Therefore, >> HAVE_DECL_ALLOCA >> does not get set, so the R sources declare alloca() after it has >> already been >> #defined by stdlib.h. >> >> A possible fix is to modify the configure script to look for the >> declaration of >> alloca() in stdlib.h (perhaps after it fails to find it in alloca.h). > > > It is already supposed to, so it is not finding the declaration there > either. If you look up the definition of > > AC_CHECK_DECLS([alloca], , , [#include <alloca.h>]) > > it searches in stdlib.h. Can you please send us the appropriate part of > config.log? It may be that this is failing because alloca.h is not found > (but AC_FUNC_ALLOCA is making the same assumptions). > > Perhaps the easiest way out is to override the setting on FreeBSD: can > you please confirm that manually changing > > #define HAVE_DECL_ALLOCA 1 > > in config.h works? > >> This was previously reported in PR#7881. > > > So please don't open a new report on the subject! >