Summary: | sci-mathematics/rstudio-0.98-1028 with dev-libs/boost-1.56.0 - .../work/rstudio-0.98.1028/src/cpp/core/Assert.cpp:40:10: error: 'boost::core::log' has not been declared | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mark Wright <gienah> |
Component: | [OLD] Development | Assignee: | Mark Wright <gienah> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | PATCH |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 523302 | ||
Bug Blocks: | 522474 | ||
Attachments: |
rstudio-0.98.1062.ebuild containing find sed to fix the problem
bump the pandoc patch for rstudio-0.98.1062 |
Created attachment 385182 [details, diff]
bump the pandoc patch for rstudio-0.98.1062
Comment on attachment 385180 [details]
rstudio-0.98.1062.ebuild containing find sed to fix the problem
--- rstudio-0.98.1028.ebuild 2014-08-27 17:51:02.000000000 +0200
+++ - 2014-09-20 15:32:06.925565405 +0200
@@ -43,7 +43,7 @@
RDEPEND="
>=dev-lang/R-2.11.1
>=dev-libs/boost-1.50
- dev-libs/mathjax
+ >=dev-libs/mathjax-2.3
dev-libs/openssl:0
sys-apps/util-linux
sys-libs/zlib
@@ -95,7 +95,7 @@
epatch "${FILESDIR}"/${PN}-0.98.490-prefs.patch \
"${FILESDIR}"/${PN}-0.98.932-paths.patch \
- "${FILESDIR}"/${PN}-0.98.932-pandoc.patch \
+ "${FILESDIR}"/${PN}-0.98.1062-pandoc.patch \
"${FILESDIR}"/${PN}-0.98.490-linker_flags.patch
# Adding -DDISTRO_SHARE=... to append-flags breaks cmake so using
@@ -106,12 +106,17 @@
src/cpp/session/SessionOptions.cpp || die
# use mathjax from system
- ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax || die
+ ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax-23 || die
# make sure icons and mime stuff are with prefix
sed -i \
-e "s:/usr:${EPREFIX}/usr:g" \
CMakeGlobals.txt src/cpp/desktop/CMakeLists.txt || die
+
+ # specify that namespace core the is in the global namespace and not
+ # relative to some other namespace (like its ::core not ::boost::core)
+ find . \( -name *.cpp -or -name *.hpp \) -exec sed \
+ -e 's@<core::@< ::core::@g' -e 's@\([^:]\)core::@\1::core::@g' -i {} \;
}
src_configure() {
Thanks jer, I should have realised an ebuild patch is more useful. Note 1: The problem was that the C++ core was using core:: everywhere to refer to the namespace ::core, which fails to compile with boost 1.56.0, the fix is to change all the core:: namespace specifications to ::core taking into account the need to keep a space character between < and ::core. The find sed fix by me. Note 2: The bumped ebuild requires >=dev-libs/mathjax-2.3 which is not in portage. Note 3: The bumped ebuild produces this warning: argus rstudio # emerge -av -1 -O sci-mathematics/rstudio These are the packages that would be merged, in order: [ebuild U ~] sci-mathematics/rstudio-0.98.1062::x-portage [0.98.1028::gentoo] 0 KiB Total: 1 package (1 upgrade), Size of downloads: 0 KiB Would you like to merge these packages? [Yes/No] y >>> Verifying ebuild manifests >>> Emerging (1 of 1) sci-mathematics/rstudio-0.98.1062::x-portage >>> Installing (1 of 1) sci-mathematics/rstudio-0.98.1062::x-portage >>> Jobs: 1 of 1 complete Load avg: 1.95, 5.17, 4.31 * Messages for package sci-mathematics/rstudio-0.98.1028: * * Directory symlink(s) may need protection: * * /usr/share/rstudio/resources/mathjax * * Searching all installed packages for files installed via above symlink(s)... * * The above directory symlink(s) are all safe to remove. Removing them now... * >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. !!! existing preserved libs: >>> package: app-emulation/emul-linux-x86-soundlibs-20140508 * - /usr/lib32/libgsm.so.1 * - /usr/lib32/libgsm.so.1.0.13 * used by /usr/lib32/ladspa/gsm_1215.so (media-plugins/swh-plugins-0.4.15-r3) * used by /usr/lib32/libavcodec.so.53.61.100 (media-video/ffmpeg-0.10.15) * used by /usr/lib32/libavcodec.so.55.69.100 (media-video/ffmpeg-2.3.3) Use emerge @preserved-rebuild to rebuild packages using these libraries argus rstudio # Fixed in 0.98.1091 and all versions in portage. |
Created attachment 385180 [details] rstudio-0.98.1062.ebuild containing find sed to fix the problem make[2]: Entering directory `/var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028_build' /usr/bin/cmake -E cmake_progress_report /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028_build/CMakeFiles ** R [ 0%] Building CXX object src/cpp/core/CMakeFiles/rstudio-core.dir/Assert.cpp.o ** R cd /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028_build/src/cpp/core && /usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_ENABLE_ASSERT_HANDLER -D_FORTIFY_SOURCE=2 -DNDEBUG -O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking -pipe -I/var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/include -I/var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028_build/src/cpp/core -Wall -pthread -Wformat -Wformat-security -fstack-protector --param ssp-buffer-size=4 -pie -fPIE -o CMakeFiles/rstudio-core.dir/Assert.cpp.o -c /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/Assert.cpp ** preparing package for lazy loading ** inst ** preparing package for lazy loading <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined <built-in>: note: this is the location of the previous definition ** help ** help *** installing help indices *** installing help indices ** building package indices ** testing if installed package can be loaded ** building package indices ** testing if installed package can be loaded /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/Assert.cpp: In function 'void boost::assertion_failed(const char*, const char*, const char*, long int): /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/Assert.cpp:40:10: error: 'boost::core::log' has not been declared core::log::logWarningMessage(msg, location); ^ /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/Assert.cpp: In function 'void boost::assertion_failed_msg(const char*, const char*, const char*, const char*, long int)': /var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028/src/cpp/core/Assert.cpp:64:10: error: 'boost::core::log' has not been declared core::log::logWarningMessage(message, location); ^ make[2]: *** [src/cpp/core/CMakeFiles/rstudio-core.dir/Assert.cpp.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/sci-mathematics/rstudio-0.98.1028/work/rstudio-0.98.1028_build' make[1]: *** [src/cpp/core/CMakeFiles/rstudio-core.dir/all] Error 2