Skip to content

PR#9295

4 messages · watplatt at us.ibm.com, Duncan Murdoch, Peter Dalgaard +1 more

#
I asked a question that might help me track down what changed between 
2.3.1 that did build and the 2.4.0 version that will not build.  Some of 
the undefined names the linker was complaining about looked like #define 
symbols that were not picked up by configure.  The first thing I was 
hoping for was to find out if this problem looked familiar?  Whether or 
not, I'm willing to try to work on it, but hope I can get reasonable 
answers to honest questions....

Dan

Saw:

IBM employee is unable to make AIX work: so why does he expect us to?

in response to:

From: watplatt at us.ibm.com
To: R-bugs at biostat.ku.dk
Subject: Unable to build
Date: Fri, 13 Oct 2006 21:42:37 +0200 (CEST)

Full_Name: Daniel E. Platt
Version: 2.4.0
OS: AIX 5.3
Submission from: (NULL) (129.34.20.23)


Did a new build of gcc c,c++,gfortran v4.1.1, (re)built R 2.3.1 using
config.site as spec'd in R-admin.pdf in sec C.9 as described by Jagat 
Sheth,
with addition of FC=gfortran (configure tried using f95, which is present 
on the
system, but won't bind with gcc's obj files).


Applying the same to 4.1.1 produces the following:

make[4]: Leaving directory 
`/geno4/watplatt/R/R-2.4.0/src/library/tools/src'
Error in dyn.load(x, as.logical(local), as.logical(now)) : 
        unable to load shared library
'/geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so':
  rtld: 0712-001 Symbol TYPEOF was referenced
      from module /geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so(), 
but a
runtime definition
      of the symbol was not found.
rtld: 0712-001 Symbol Rf_error was referenced
      from module /geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so(), 
but a
runtime definition
      of the symbol was not found.
rtld: 0712-001 Symbol Rf_asLogical was referenced
      from module /geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so(), 
but a
runtime definition
      of the symbol was not found.
rtld: 0712-001 Symbol LENGTH was referenced
      from module /geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so(), 
but a
runtime definition
      of the symbol was not found.
rtld: 0712-001 Symbol STRING_ELT was referenced
      from module /geno4/watplatt/R/R-2.4.0/library/tools/libs/tools.so(), 
bu
Execution halted
make[3]: *** [all] Error 1
make[3]: Leaving directory `/geno4/watplatt/R/R-2.4.0/src/library/tools'
make[2]: *** [R] Error 1
make[2]: Leaving directory `/geno4/watplatt/R/R-2.4.0/src/library'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/geno4/watplatt/R/R-2.4.0/src'
make: *** [R] Error 1

Are there undefined #define's leaking in as code?

Dan




Daniel E. Platt
Bioinformatics and Pattern Discovery
IBM T. J. Watson Research Center
Yorktown Hgts, NY 10598
(914)945-1388
#
On 10/16/2006 3:47 PM, watplatt at us.ibm.com wrote:
Actually, I think your message came through as a bug report, suggesting 
you were expecting someone else to fix it.

Perhaps now that it's clear that you are asking a question, someone will 
be able to help:  but surely you have access to better AIX tech support 
than most people on this list?

Duncan Murdoch

Some of
#
watplatt at us.ibm.com writes:
Well, you should have seen the snide remarks that I decided to keep to
myself.... (Along the lines of "please tell us the fix in time for the
_next_ release")

Anyways, AFAIK those entry points are not supposed to be macros. They
are also undefined symbols in tools.so on Fedora, so your issue would
seem to be with the linker. The culprit is likely changes to the
symbol registration mechanism, or an unforeseen complication of this:

    o   configure now defaults to 'run-time linking' on AIX
        (and AIX < 4.2 is no longer allowed), using -bexpall rather
        than export/import files.  If this works, it allows R to be
        built in the same way as other Unix-alikes, including with R
        as a shared library and with a shared BLAS.

Also, of course, check that you are doing a clean build and that the
previous build is not somehow interfering.