Hi Martin,

Thanks for looking into this.  Yes, plier has the same issue. I compiled 
R 2.6 using Sun Studio 12 under Solaris 10 (Sparc).

R's configure scripts do not check for libCrun, and this doesn't cause 
any problem, probably because it seems in fact that R is all C and 
Fortran (at least I couldn't find any .cc or .cpp files in the source 
tree).  Of course, since many optional packages contain some C++ code, 
it would make sense for R to setup its configuration for proper C++ 
compilation.  So we either need to convince the R team to include this 
m4 snippet (do any of them subscribe to this list?), or it needs to be 
included in any package with C++ (yuck).

Regards,

Paul
> Hi Paul --
>
> Sorry for the delay in replying to your message.
>
> The C++ code in genefilter is very straight-forward, and this implies
> that your problems compiling it are likely to occur with any package
> containing C++ code. A similarly simple package to try might be plier;
> EBImage or RBGL would be challenging packages. Does plier have similar
> problems?
>
> If plier does have problems then the solution belongs at the R level
> and not at the package level. However, R does get regular use on
> Solaris boxes, presumably sometimes with the default compilers. So it
> might be something more unique to your set up. One possibility is that
> you configured and made R with a different compiler than you are using
> to compile packages. Is that, or other questionable practice, likely?
>
> If it seems that R does not in fact get configured correctly, then
> probably R's configure.ac needs to be updated. This probably requires
> more specific information about the OS and compiler versions that are
> causing problems. Can you provide that information?
>
> Martin
>
> Paul Gordon <gordonp@ucalgary.ca> writes:
>
>   
>> Hi all,
>>
>> Not sure exactly who is maintaining genefilter (the info page lists a
>> group), so I thought I'd post here.  The genefilter package (version
>> 1.16.0)
>> compiles fine under Solaris using the default Sun compiler, but if you
>> actually try to use it you get a nasty error:
>>
>>  ld.so.1: R: fatal: relocation error: file
>> /export/home/gordonp/R/lib/R/library/genefilter/libs/genefilter.so:
>> symbol __1cDstdJbad_allocG__vtbl_: referenced symbol not found
>>
>> This is because under Solaris libCrun.so needs to explicitly linked
>> for the C++ code in genefilter's src directory.  I got around this by
>> creating
>> a GNU configure script (in keeping with the recommended R package
>> approach) that checks if -lCrun is needed.   With configure in the
>> top-level
>> direxctory of the package, it works fine.  Hopefully this can be
>> incorporated into the distribution, as I think it would affect anyone
>> not using gcc on
>> Solaris.  Not sure if the mailing list strips off small text
>> attachments, but the configure.in and src/Makevars.in for autoconf are
>> attached.  I can
>> send them directly to the relevant party if they e-mail me.
>>
>> Regards,
>>
>> Paul
>> PKG_CFLAGS = @CFLAGS@  
>> PKG_LIBS = @LIBS@
>> PKG_CPPFLAGS = @DEFS@
>> AC_INIT("DESCRIPTION")
>>
>> AC_CHECK_LIB(Crun, _fini, [use_libcrun=yes], [use_libcrun=no])
>>
>> AC_MSG_CHECKING([if we need to explicitly link libCrun])
>> if test "x$use_libcrun" = "xyes"
>> then
>>     LIBS="$LIBS -lCrun"
>> fi
>> AC_MSG_RESULT($use_libcrun)
>>
>> AC_CONFIG_FILES([src/Makevars])
>> AC_OUTPUT
>> _______________________________________________
>> Bioc-devel@stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>     
>
>   


	[[alternative HTML version deleted]]

