[BioC] Compiling graph on solaris

Mark Cowley m.cowley0 at gmail.com
Tue Sep 22 03:25:07 CEST 2009


Dear Hervé,
Thanks for looking into this for me, i really appreciate it.

www.bioconductor.org seems to be down at the moment, but i'll report  
back if i have success

I'm using GNU ld and gcc
$ which ld
/opt/csw/bin/ld
$ ld -v
GNU ld version 2.17
$ gcc -v
Reading specs from /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ 
ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6

Mark
-----------------------------------------------------
Mark Cowley, PhD

Peter Wills Bioinformatics Centre
Garvan Institute of Medical Research, Sydney, Australia
-----------------------------------------------------

On 19/09/2009, at 4:05 AM, Hervé Pagès wrote:

> Hi Mark,
>
> I've applied a fix (sent to me off-list by Martin Morgan, thanks
> Martin) that should make the mechanism used for the renaming of
> graph.(so/dll) to BioC_graph.(so/dll) much more portable.
>
> This fix should take about 24 hours to propagate to the public
> package repositories. Then you will be able to reinstall graph
> using biocLite(). The fixed versions are 1.22.3 (release) and
> 1.23.5 (devel).
>
> Please let us know how it works for you.
>
> Cheers,
> H.
>
>
> Hervé Pagès wrote:
>> Hi Mark,
>> The graph package is doing something quite non-standard by adding
>> explicitly -o BioC_graph.so to the gcc arguments in order to take
>> control over the name given to the shared object (otherwise, by
>> default, this object would be called graph.so).
>> This was achieved by adding a Makevars file to the package with
>> the following line in it:
>>  PKG_LIBS=-o BioC_graph.so
>> At compilation time the value of PKG_LIBS is inserted in the
>> gcc command *after* -o graph.so, and, so far, the trick worked
>> fine on many platforms, because ld on these platforms was using
>> the last -o setting.
>> Your ld command seems to behave differently though. What's its
>> version? Is it GNU ld? We have GNU ld v2.19 on our Linux build
>> machine.
>> I don't know what the solution is but any additional information
>> you can provide about your ld/gcc could help. Also you could check
>> your ld man page for any hint.
>> Cheers,
>> H.
>> Mark Cowley wrote:
>>> Dear list,
>>> I just upgraded to R 2.9.2, on solaris 10, and stumbled across a   
>>> problem with graph.
>>> The package installed with 1 warning, but no errors. When I load  
>>> it, I  get the following error:
>>> > library(graph)
>>> Error in library.dynam(lib, package, package.lib) :
>>>   shared library 'BioC_graph' not found
>>> Error: package/namespace load failed for 'graph'
>>>
>>> This is using the version of graph that biocLite downloaded for me
>>>    Using R version 2.9.2, biocinstall version 2.4.12.
>>>    Installing Bioconductor version 2.4 packages:
>>>
>>> I looked more closely at the install output, and spotted the  
>>> problem,  but don't know how to fix it:
>>> $ R CMD INSTALL -l /usr/local/R/library graph
>>> * Installing *source* package 'graph' ...
>>> ** libs
>>> gcc -std=gnu99 -I/usr/local/R-2.9.2/lib/R/include  -I/usr/local/  
>>> include    -fpic  -I/usr/local/include -c graph.c -o graph.o
>>> gcc -std=gnu99 -G -L/usr/local/lib -o graph.so graph.o -o   
>>> BioC_graph.so -L/usr/local/R-2.9.2/lib/R/lib -lR
>>> ld: warning: option -o appears more than once, first setting taken
>>> ** R
>>> ** data
>>> ** inst
>>> ** preparing package for lazy loading
>>> ** help
>>> *** installing help indices
>>>  >>> Building/Updating help pages for package 'graph'
>>>      Formats: text html latex example
>>> Note: ignoring empty \keyword entries in file 'graphRendering.Rd'
>>> Note: removing empty section \details in file 'graphRendering.Rd'
>>> Note: removing empty section \examples in file 'graphRendering.Rd'
>>> Note: removing empty section \seealso in file 'graphRendering.Rd'
>>> ** building package indices ...
>>> * DONE (graph)
>>>
>>> The ld warning indicates that there are two -o statements, it  
>>> chooses  the first, therefore ignore the '-o BioC_graph.so'.
>>>
>>> some googling found this message in the Bioconductor change logs (http://fgc.lsi.umich.edu/cgi-bin/blosxom3.cgi/2009/04/25 
>>>  ):
>>> graph
>>> Renamed graph.(so/dll) BioC_graph.(so/dll) to avoid conflicts  
>>> with  graphviz.
>>> googling also showed that the build logs on OSX seem to tolerate  
>>> two - o arguments (-o graph.so and -o BioC_graph.so)
>>>
>>> i'd appreciate any help
>>>
>>> cheers,
>>> Mark
>>>
>>> sessionInfo()
>>> R version 2.9.2 (2009-08-24)
>>> i386-pc-solaris2.10
>>>
>>> locale:
>>> C
>>>
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>
>>> loaded via a namespace (and not attached):
>>> [1] tcltk_2.9.2 tools_2.9.2
>>>
>>>
>>>
>>>    [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>
> -- 
> Hervé Pagès
>
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M2-B876
> P.O. Box 19024
> Seattle, WA 98109-1024
>
> E-mail: hpages at fhcrc.org
> Phone:  (206) 667-5791
> Fax:    (206) 667-1319
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list