Skip to content

plier source compilation error related to dylib

7 messages · Simon Urbanek, S Kong

#
Hello, I was trying to install BioConductor plier package under R64  
of Simon's.  ( Quad G5 + 10.4.6 + Xcode 2.2.1 + powerpc-apple-darwin8- 
gcc-4.0.1) The plier package is an expression index calculation  
algorithm for  Affymetrix microarray
In the end, I gave up with the BioConductor plier package and started  
with Affymetrix plier source code to build .so.
But errors were that dylib could not be found for libgfortran. 
0.dylib,  ibgcc_s.1.0.dylib, and libreadline.5.dylib.
Those dylib are located at /usr/local/lib64/R/lib/
Could anyone help me with this? Thanks!!!

% R64 CMD SHLIB affyplier.cpp plieralg.cpp plier_impl.cpp rwrapper.cpp
g++ -bundle -flat_namespace -undefined suppress -m64 -L/usr/local/lib  
-L/usr/local/lib64/R/lib -o affyplier.so affyplier.o plieralg.o  
plier_impl.o rwrapper.o   -L/usr/local/lib64/R/lib -lR
ld64 warning: in affyplier.o, file does not contain requested  
architecture
ld64 warning: indirect library libgfortran.0.dylib could not be  
loaded: file not found: libgfortran.0.dylib
ld64 warning: indirect library libgcc_s.1.0.dylib could not be  
loaded: file not found: libgcc_s.1.0.dylib
ld64 warning: indirect library libreadline.5.dylib could not be  
loaded: file not found: libreadline.5.dylib
#
On Apr 20, 2006, at 12:47 PM, S Kong wrote:

            
^^^- this is the actual error - it seems that something went wrong  
during the compilation, but you omitted that part, so we can't see  
what that was. Please send me the full output of the build process.

Cheers,
Simon
#
Dear Simon

This is what I get from the screen. Is there a way to specify the  
library directory

[Quad:~/Desktop/pliersrc] skong% ls
affy_ptr.h      affyheapsort.h  affyplier.cpp   affyplier.h      
error.h         iaffyplier.h    plier_impl.cpp  plieralg.cpp     
plieralg.h      rwrapper.cpp
[Quad:~/Desktop/pliersrc] skong% R64 CMD SHLIB affyplier.cpp  
plieralg.cpp plier_impl.cpp rwrapper.cpp
g++ -no-cpp-precomp -I/usr/local/lib64/R/include  -I/usr/local/ 
include   -fno-common  -arch ppc64 -m64 -mcpu=G5 -mtune=G5 -mpowerpc- 
gpopt -force_cpusubtype_ALL -c affyplier.cpp -o affyplier.o
g++ -no-cpp-precomp -I/usr/local/lib64/R/include  -I/usr/local/ 
include   -fno-common  -arch ppc64 -m64 -mcpu=G5 -mtune=G5 -mpowerpc- 
gpopt -force_cpusubtype_ALL -c plieralg.cpp -o plieralg.o
plieralg.cpp:30:20: error: malloc.h: No such file or directory
make: *** [plieralg.o] Error 1
[Quad:~/Desktop/pliersrc] skong%

Then I modified the plieralg.cpp

from
#include <malloc.h>

to
#include <stdlib.h>

After changing one line,

[Quad:~/Desktop/pliersrc] skong% R64 CMD SHLIB affyplier.cpp  
plieralg.cpp plier_impl.cpp rwrapper.cpp
g++ -no-cpp-precomp -I/usr/local/lib64/R/include  -I/usr/local/ 
include   -fno-common  -arch ppc64 -m64 -mcpu=G5 -mtune=G5 -mpowerpc- 
gpopt -force_cpusubtype_ALL -c plieralg.cpp -o plieralg.o
g++ -no-cpp-precomp -I/usr/local/lib64/R/include  -I/usr/local/ 
include   -fno-common  -arch ppc64 -m64 -mcpu=G5 -mtune=G5 -mpowerpc- 
gpopt -force_cpusubtype_ALL -c plier_impl.cpp -o plier_impl.o
g++ -no-cpp-precomp -I/usr/local/lib64/R/include  -I/usr/local/ 
include   -fno-common  -arch ppc64 -m64 -mcpu=G5 -mtune=G5 -mpowerpc- 
gpopt -force_cpusubtype_ALL -c rwrapper.cpp -o rwrapper.o
g++ -bundle -flat_namespace -undefined suppress -m64 -L/usr/local/lib  
-L/usr/local/lib64/R/lib -o affyplier.so affyplier.o plieralg.o  
plier_impl.o rwrapper.o   -L/usr/local/lib64/R/lib -lR
ld64 warning: indirect library libgfortran.0.dylib could not be  
loaded: file not found: libgfortran.0.dylib
ld64 warning: indirect library libgcc_s.1.0.dylib could not be  
loaded: file not found: libgcc_s.1.0.dylib
ld64 warning: indirect library libreadline.5.dylib could not be  
loaded: file not found: libreadline.5.dylib
[Quad:~/Desktop/pliersrc] skong%


Also I attached the codes I used.

Thank you very much for the helps!!!
-S


?
On Apr 20, 2006, at 12:59 PM, Simon Urbanek wrote:

            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20060420/82bacb5d/attachment-0002.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pliersrc.zip
Type: application/zip
Size: 25821 bytes
Desc: not available
Url : https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20060420/82bacb5d/attachment-0001.zip 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20060420/82bacb5d/attachment-0003.html
#
On Apr 20, 2006, at 2:25 PM, S Kong wrote:

            
Yes, that is already better :). However, those should be just  
warnings, not errors - does affyplier.so exist? Once R is started,  
the DYLIB_LIBRARY_PATH is set and dyld should find the libraries.

If not, then it really depends on your compilers - check libR.dylib  
and the others in /usr/local/lib64/R/lib with otool64 -L to see where  
they are actually expected. If in doubt, send me the output of
otool64 -L /usr/local/lib64/R/lib/*
and
otool64 -L /usr/local/lib/libg*

Cheers,
Simon
#
Dear Simon

It seems there is the affyplier.so in the directory.
When I start R64 and try to dyn.load
 > dyn.load("/Research/GEO_CEL/pliersrc/affyplier.so")
Segmentation fault

DYLIB_LIBRARY_PATH was set in .tcshrc as
DYLIB_LIBRARY_PATH=/usr/local/lib64/R/lib

Thank you very much for the helps!!!
-S

[Quad:~/Desktop/pliersrc] skong% ls
affy_ptr.h      affyplier.h     error.h         plier_impl.o     
plieralg.o
affyheapsort.h  affyplier.o     iaffyplier.h    plieralg.cpp     
rwrapper.cpp
affyplier.cpp   affyplier.so    plier_impl.cpp  plieralg.h       
rwrapper.o
[Quad:~/Desktop/pliersrc] skong% otool64 -L /usr/local/lib64/R/lib/*
otool64: can't map file: /usr/local/lib64/R/lib/R ((os/kern) invalid  
argument)
/usr/local/lib64/R/lib/libR.dylib:
         libR.dylib (compatibility version 2.2.0, current version 2.2.1)
         /System/Library/Frameworks/vecLib.framework/Versions/A/ 
vecLib (compatibility version 1.0.0, current version 176.1.0)
         libgfortran.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         libgcc_s.1.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
         libreadline.5.dylib (compatibility version 5.0.0, current  
version 5.0.0)
/usr/local/lib64/R/lib/libgcc_s.1.0.dylib:
         libgcc_s.dylib (compatibility version 1.0.0, current version  
1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
/usr/local/lib64/R/lib/libgcc_s.dylib:
         libgcc_s.dylib (compatibility version 1.0.0, current version  
1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
/usr/local/lib64/R/lib/libgfortran.0.0.0.dylib:
         libgfortran.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
         libgcc_s.1.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
/usr/local/lib64/R/lib/libgfortran.0.dylib:
         libgfortran.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
         libgcc_s.1.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
/usr/local/lib64/R/lib/libgfortran.dylib:
         libgfortran.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
         libgcc_s.1.0.dylib (compatibility version 1.0.0, current  
version 1.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
/usr/local/lib64/R/lib/libreadline.5.0.dylib:
         libreadline.5.dylib (compatibility version 5.0.0, current  
version 5.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
/usr/local/lib64/R/lib/libreadline.5.dylib:
         libreadline.5.dylib (compatibility version 5.0.0, current  
version 5.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
/usr/local/lib64/R/lib/libreadline.dylib:
         libreadline.5.dylib (compatibility version 5.0.0, current  
version 5.0.0)
         /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current  
version 92.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.2)
[Quad:~/Desktop/pliersrc] skong% otool64 -L /usr/local/lib/libg*
/usr/local/lib/libgcc_s.1.0.dylib: is not an object file
/usr/local/lib/libgcc_s.dylib: is not an object file
/usr/local/lib/libgdraw.1.0.8.dylib: is not an object file
/usr/local/lib/libgdraw.1.dylib: is not an object file
/usr/local/lib/libgdraw.dylib: is not an object file
/usr/local/lib/libgdraw.la: is not an object file
/usr/local/lib/libgfortran.0.0.0.dylib: is not an object file
/usr/local/lib/libgfortran.0.dylib: is not an object file
/usr/local/lib/libgfortran.dylib: is not an object file
Archive : /usr/local/lib/libgfortranbegin.a
/usr/local/lib/libgfortranbegin.a(fmain.o): is not an object file
/usr/local/lib/libggobi.0.0.0.dylib: is not an object file
/usr/local/lib/libggobi.0.dylib: is not an object file
/usr/local/lib/libggobi.dylib: is not an object file
/usr/local/lib/libggobi.la: is not an object file
/usr/local/lib/libgunicode.2.0.2.dylib: is not an object file
/usr/local/lib/libgunicode.2.dylib: is not an object file
/usr/local/lib/libgunicode.dylib: is not an object file
/usr/local/lib/libgunicode.la: is not an object file
[Quad:~/Desktop/pliersrc] skong%
On Apr 20, 2006, at 4:51 PM, Simon Urbanek wrote:

            
#
On Apr 21, 2006, at 2:43 PM, S Kong wrote:

            
I thought so - what you saw were just warnings, not errors - nothing  
really wrong with that.
Ah, that's more interesting - chances are that it's a problem in the  
package itself. Please run
R64 -d gdb
in gdb type "run", then load the library to see what happens
once you have the crash, type "bt" to see where is crashed.

Cheers,
Simon
#
Dear Simon

Does  "/Users/skong/libR.dylib" (file not found).  mean that there's  
missing symbolic link to libR.dylib ?

Thank you very much,
-S

[Quad:~] skong% R64 -d gdb
GNU gdb 6.1-20040303 (Apple version gdb-437) (Sun Dec 25 08:31:29 GMT  
2005)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "powerpc-apple-darwin"...
warning: Unable to read symbols for "/Users/skong/libR.dylib" (file  
not found).
Reading symbols for shared libraries ... done

(gdb) run
Starting program: /usr/local/lib64/R/bin/exec/R
Reading symbols for shared libraries .+......+... done

R : Copyright 2005, The R Foundation for Statistical Computing
Version 2.2.1  (2005-12-20 r36812)
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
 > dyn.load("/Research/GEO_CEL/pliersrc/affyplier.so")

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000646c6fc0
0x000000008fe1adc0 in __dyld___cxa_end_catch ()
(gdb) bt
#0  0x000000008fe1adc0 in __dyld___cxa_end_catch ()
#1  0x000000008fe0aa60 in __dyld_dlopen ()
#2  0x00000000008da7c0 in dlopen ()
#3  0x0000000000657680 in loadLibrary ()
#4  0x0000000000408ca0 in AddDLL ()
#5  0x0000000000409dc0 in do_dynload ()
#6  0x000000000050807c in do_internal ()
#7  0x00000000004b3d18 in Rf_eval ()
#8  0x00000000004b47dc in Rf_applyClosure ()
#9  0x00000000004b4114 in Rf_eval ()
#10 0x00000000004eba48 in Rf_ReplIteration ()
#11 0x00000000004ebc80 in R_ReplConsole ()
#12 0x00000000004ecc58 in run_Rmainloop ()
#13 0x00000000004ecc90 in Rf_mainloop ()
#14 0x0000000000001e74 in main ()
(gdb)

------------------------------------------------------------------------ 
--------------------------------------------
On Apr 21, 2006, at 3:00 PM, Simon Urbanek wrote: