Skip to content

Which dependency list to build first?

11 messages · William Dunlap, Rich Shepard, Eric Berger

#
On Wed, 27 Feb 2019, Rainer Krug wrote:

            
Rainer,

Yes. Just did so with the same result: R could not load the shared library.
Because later was removed and could not be rebuilt, there is no later.so to
be queried for dependencies.

I'll look again at later's dependencies and ensure they're all rebuilt.

Regards,

Rich
#
Add the --no-test-load option to the install command and the unloadable .so
file should be left there so you can look at its dependencies with, e.g.,
'R CMD ldd .../libs/later.so'.

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Feb 27, 2019 at 9:40 AM Rich Shepard <rshepard at appl-ecosys.com>
wrote:

  
  
#
On Wed, 27 Feb 2019, William Dunlap wrote:

            
Bill,

Using the syntax 'install.packages("later") --no-test-load' still produces
the same result:

** testing if installed package can be loaded
Error: package or namespace load failed for ?later? in dyn.load(file, DLLpath = DLLpath, ...):
  unable to load shared object '/usr/lib/R/library/later/libs/later.so':
   /usr/lib/R/library/later/libs/later.so: undefined symbol: __atomic_fetch_add_8
Error: loading failed
Execution halted
ERROR: loading failed

The later package was installed so why it's not updating now puzzles me. I'm
running R-3.5.2 on Slackware-14.2.

Regards,

Rich
#
Using the syntax 'install.packages("later") --no-test-load'

The syntax is either
    install.packages("later", type="source", INSTALL_opts="--no-test-load")
from within R (perhaps with repos=NULL if from a local directory) or
    R CMD INSTALL --no-test-load later
from outside of R, where 'later' must be a directory.

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Feb 27, 2019 at 11:14 AM Rich Shepard <rshepard at appl-ecosys.com>
wrote:

  
  
#
On Wed, 27 Feb 2019, William Dunlap wrote:

            
Bill,

Thank you very much. I read ?install.packages and saw all the options but
had no idea what to use.

Boy howdy! Removing the load testing allowed the package to install:

installing to /usr/lib/R/library/later/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
* DONE (later)

Is it worth exploring why testing loading failed here for this package?

Best regards,

Rich
#
The package will not load.  The only reason to do test load is to examine
why the package's .so file cannot be loaded.  We know there is at least one
function or data symbol that it cannot find,  __atomic_fetch_add_8, wihch
may be from boost::atomic.  The ldd command may give some hints about
missing libraries.
Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Feb 27, 2019 at 11:56 AM Rich Shepard <rshepard at appl-ecosys.com>
wrote:

  
  
#
On Wed, 27 Feb 2019, William Dunlap wrote:

            
Bill,

Yes, it does. libR.so is not found:
# ldd later.so
 	linux-gate.so.1 (0xb76df000)
 	libR.so => not found

However, R runs and libR.so is found here:
/usr/lib/R/lib/libR.so
and was last accessed
-rwxr-xr-x 1 root root 3331940 Dec 23 10:00 /usr/lib/R/lib/libR.so*

Should I rebuild and reinstall R-3.5.2?

Thanks again,

Rich
#
Did you use 'R CMD ldd .../later.so', as I recommended?

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Feb 27, 2019 at 12:51 PM Rich Shepard <rshepard at appl-ecosys.com>
wrote:

  
  
#
On Wed, 27 Feb 2019, William Dunlap wrote:

            
Bill,

I ran ldd externally on /usr/lib/R/library/lib/later/later.so and posted the
missing library. Just now I ran the above command and it did not find
later.so:

# R CMD ldd /usr/lib/R/library/later.so
ldd: /usr/lib/R/library/later.so: No such file or directory

Strange. And confusing to me.

Regards,

Rich
#
These two pathnames are different

/usr/lib/R/library/lib/later/later.so
/usr/lib/R/library/later.so

Was that your intention?


On Wed, Feb 27, 2019 at 11:45 PM Rich Shepard <rshepard at appl-ecosys.com>
wrote:

  
  
#
On Thu, 28 Feb 2019, Eric Berger wrote:

            
Eric,

No. I apologize for being imprecise. On this host later.so is located at
only /usr/lib/R/library/later/libs/later.so.

Regards,

Rich