[Rd] Fortran underscore problem persists on Linux x86/64 (PR#11206)
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Sun Apr 20 13:31:50 CEST 2008
Prof Brian Ripley wrote:
> On Sun, 20 Apr 2008, Thibaut Jombart wrote:
>
>> Prof Brian Ripley wrote:
>>
>>> And your machine is? -- you haven't given the 'at a minimum'
>>> information asked for in the posting guide.
>>>
>>> Neither example is reproducible on my Fedora 8 x86_64 systems (nor
>>> in the case of tripack, on CRAN's). It will need someone with an
>>> affected system to debug this. One possibility is that they are
>>> using double underscores, where the code does not look right to me
>>> -- but few systems do and this code is the same as in 2.6.2.
>>>
>>> For the record, 'iniaqua' is a not a valid Fortran entry point, and
>>> all these issues will go away if you register your package's symbols.
>>>
>>> What does nm -g report on the affected DSOs?
>>>
>>>
>> My mistake, I thought sessionInfo() would be enough. My system is an
>> Ubuntu Dapper Drake (6.06.2 LTS, 64 bits version). R installed from
>> the sources, same for the packages, using install.packages (one
>> warning for tripack: an unmatched right brace in a manpage). My
>> fortran and C compilers are respectively g77 and gcc:
>>> g77 -dumpversion
>> GNU Fortran (GCC) 3.4.6 (Ubuntu 3.4.6-1ubuntu2)
>>
>>> gcc --version
>> gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
>
> Thanks, for code-compilation problems we need that level of detail.
>
> Your problem appears to be that you are mixing gcc4 and g77 (not
> recommended), and g77 does use extra underscores, I believe. I have
>
> /* Define if your Fortran compiler appends an extra_underscore to
> external
> names containing an underscore. */
> /* #undef HAVE_F77_EXTRA_UNDERSCORE */
>
> /* Define if your Fortran compiler appends an underscore to external
> names. */
> #define HAVE_F77_UNDERSCORE 1
>
> in src/include/config.h. If the first of these is defined, please try
> commenting it out and rebuilding R.
>
> I've found an old Solaris box that still has g77 on, and I can
> reproduce this there. I will patch the sources after further testing,
> but altering src/include/config.h worked for me.
>
> I was certainly not expecting Ubuntu 7.07 to be using g77, so we need
> the same details from Thomas Petzoldt.
Is this perhaps an installation issue (missing gfortran)?
more `R RHOME`/etc/Makeconf
should tell you which compilers R itself was built with. In my
experience, it just doesn't work to mix v.3.x and 4.x compilers (Brian
might correct me on that though).
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-devel
mailing list