From simon.urbanek at r-project.org  Sat Feb 23 14:50:49 2013
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Sat, 23 Feb 2013 08:50:49 -0500
Subject: [Rd] Issues with installing RBGL package
In-Reply-To: <CAPCKr9VAiGiPxpoNZRROCJcDOA2kxpga5qGhwjxYi8U9bwFmvQ@mail.gmail.com>
References: <CAPCKr9VAiGiPxpoNZRROCJcDOA2kxpga5qGhwjxYi8U9bwFmvQ@mail.gmail.com>
Message-ID: <45F12E90-2B27-4C71-9CFE-F54DEAAFC4FC@r-project.org>

Jason,

that looks like an interaction of clang with the Boost version inside RBGL - as the error shows it re-defines "p" as an enum type which means anything named p will be broken. Try using g++ instead of clang, I would hope that should be more successful.

Cheers,
S


On Feb 22, 2013, at 5:26 PM, jason tyler wrote:

> Hi all,
> 
> I was installing a package *RBGL* of bioconductor. However, I had some
> issues while installing it. I asked the devel group of bioconductor and
> they told me to consult this group. Here is my conversation with the
> bioconductor group related to the problem
> 
> 
> *Me->*
> I was trying to install the RBGL package using the following command
> 
> biocLite("RBGL")
> 
> However, I got the following error
> *
> installing *source* package ?RBGL? ...
> untarring boost include tree...
> ** libs
> /usr/bin/clang++ -I/usr/local/Cellar/r/2.15.1/R.framework/Resources/include
> -DNDEBUG  -I/usr/local/Cellar/readline/6.2.4/include -isystem
> /usr/local/include -I/usr/X11/include   -Irbgl_trimmed_boost_1_49_0 -fPIC
> -Os -w -pipe -march=native -Qunused-arguments -mmacosx-version-min=10.7  -c
> bbc.cpp -o bbc.o
> /usr/bin/clang++ -I/usr/local/Cellar/r/2.15.1/R.framework/Resources/include
> -DNDEBUG  -I/usr/local/Cellar/readline/6.2.4/include -isystem
> /usr/local/include -I/usr/X11/include   -Irbgl_trimmed_boost_1_49_0 -fPIC
> -Os -w -pipe -march=native -Qunused-arguments -mmacosx-version-min=10.7  -c
> cliques.cpp -o cliques.o
> cliques.cpp:26:31: error: redefinition of 'p' as different kind of symbol
>        std::pair<Edge, bool> p;
>                              ^
> rbgl_trimmed_boost_1_49_0/boost/mpl/assert.hpp:149:42: note: previous
> definition is here
>    BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );
>                                         ^
> rbgl_trimmed_boost_1_49_0/boost/mpl/assert.hpp:56:58: note: expanded from
> macro 'BOOST_MPL_AUX_ASSERT_CONSTANT'
> #   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
>                                                         ^
> cliques.cpp:53:19: error: expression is not assignable
>                p = edge(*va1, *va2, g);
>                ~ ^
> cliques.cpp:54:25: error: member reference base type
> 'mpl_::assert_arg_pred_not<boost::detail::is_iterator_traversal<boost::random_access_traversal_tag>>::<anonymous
> enum at
>      rbgl_trimmed_boost_1_49_0/boost/mpl/assert.hpp:149:5>' is not a
> structure or union
>                if ( !p.second ) return FALSE;*
> 
> 
> Any suggestions how to overcome this or what is causing this issue?
> 
> *Vincent Gray(of bioconductor group) -> *
> please provide sessionInfo() and result of gcc -v
> 
> *Me->*
> gcc -v
> Using built-in specs.
> Target: i686-apple-darwin11
> Configured with:
> /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/src/configure
> --disable-checking --enable-werror
> --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2
> --mandir=/share/man --enable-languages=c,objc,c++,obj-c++
> --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/
> --with-slibdir=/usr/lib --build=i686-apple-darwin11
> --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local
> --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11
> --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
> Thread model: posix
> gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
> 
> 
> *sessionInfo() Results*
> 
> R version 2.15.1 (2012-06-22)
> Platform: x86_64-apple-darwin11.4.0 (64-bit)
> 
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> other attached packages:
> [1] BiocInstaller_1.8.3
> 
> loaded via a namespace (and not attached):
> [1] tools_2.15.1
> 
> Thanks
> 
> Regards,
> Jason
> 
> *Vincent Gray -> *
> OK, I didn't read your log too well, so I missed that you are using
> clang++.  Theoretically it will work
> 
> http://blog.llvm.org/2010/05/clang-builds-boost.html
> 
> I am using the gcc supplied in Xcode 4.0.2, with
> 
> bash-3.2$ gcc -v
> Using built-in specs.
> Target: i686-apple-darwin10
> Configured with: /var/tmp/gcc/gcc-5666.3~123/src/configure
> --disable-checking --enable-werror --prefix=/usr --mandir=/share/man
> --enable-languages=c,objc,c++,obj-c++
> --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib
> --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10-
> --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
> --with-gxx-include-dir=/include/c++/4.2.1
> Thread model: posix
> gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
> 
> this has no problem installing RBGL from source.  your R is a little out of
> date but I don't think that's an issue.
> 
> I have minimal experience with clang++ and you may have to take this to
> R-help or R-devel if you are not going to use Xcode- based compilation, as
> that's what we are basing our builds/tests on.  I did try
> 
> bash-3.2$ clang++ -v
> clang version 3.2 (tags/RELEASE_32/final)
> Target: x86_64-apple-darwin10.8.0
> Thread model: posix
> bash-3.2$ clang++ -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names
> -undefined dynamic_lookup -single_module -multiply_defined suppress
> -L/Users/stvjc/ExternalSoft/READLINE-62-DIST/lib -lreadline
> -L//Users/stvjc/ExternalSoft/LIBICONV-64/lib -liconv
> -L/Users/stvjc/ExternalSoft/jpeg-6b -ljpeg -o cliques.so cliques.o
> -F/Users/stvjc/ExternalSoft/R-devel-dist/R.framework/.. -framework R
> -Wl,-framework -Wl,CoreFoundation
> 
> and this aping of the R CMD SHLIB command with clang++ quietly produced a
> .so.  Upon linking this in, example(maxClique) worked.  I am not too
> confident that this proves anything.  But perhaps you need to update
> clang++?
> 
>> sessionInfo()
> R version 2.15.2 Patched (2012-12-18 r61368)
> Platform: x86_64-apple-darwin10.8.0/x86_64 (64-bit)
> 
> locale:
> [1]
> en_US.US-ASCII/en_US.US-ASCII/en_US.US-ASCII/C/en_US.US-ASCII/en_US.US-ASCII
> 
> attached base packages:
> [1] stats     graphics  grDevices datasets  utils     tools     methods
> [8] base
> 
> other attached packages:
> [1] BiocInstaller_1.8.3 weaver_1.24.0       codetools_0.2-8
> [4] digest_0.6.0
> 
> 
> *It's been weeks and I haven't been able to install it. Any suggestions
> will be highly appreciated. Thanks group*
> 
> Regards,
> Jason
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] Issues with installing RBGL package
Simon Urbanek