Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
05-02-2012, 03:18 PM
|
#1
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Rep:
|
Slackbuild for rstudio
Hi,
I tried to upgrade rstudio (0.95.265) but it failed to build. The latest git version (0.96.111) built fine. I thought some one might benefit from the script.
Thanks to Alien's SlackBuild Toolkit!
Dependencies:
Code:
Needs: apache-ant, jdk,
R-2.11.1 built with shared libraries (configure with --enable-R-shlib),
CMake-2.6, Pango-1.14, Boost-1.42, Qt-4.8
Script will download all necessary files that are not mentioned in the 'Needs' section.
Code:
#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012 Eric Hameleers, Eindhoven, Netherlands
# Copyright 2012 Leon Brokken <leon.brokken@med.lu.se>
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Leon Brokken <leon.brokken@med.lu.se>
# For: rstudio
# Descr: RStudio is an IDE for R
# URL: http://rstudio.org/
# Needs: apache-ant, openjdk
# R-2.11.1 built with shared libraries (configure with --enable-R-shlib)
# CMake-2.6, Pango-1.14, Boost-1.42, Qt-4.8
# Changelog:
# 0.96.111-1: 02/May/2012 by Leon Brokken <leon.brokken@med.lu.se>
# * Initial build.
#
# Run 'sh rstudio.SlackBuild' to build a Slackware package.
# The package (.tgz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------
# Set initial variables:
PRGNAM=rstudio
VERSION=${VERSION:-0.96}
BUILD=${BUILD:-1}
# 'make' can run jobs in parallel for added speed. The number should be higher
# than the number of cores/virtual CPU's in your system:
NUMJOBS=${NUMJOBS:" -j4 "}
# The TAG is a unique identifier for all your Slackware packages.
# Use your initials as the value for TAG for instance.
TAG=${TAG:-_ljs}
# This covers most filenames you'd want as documentation. Change if needed.
DOCS="COPYING README*"
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Input URL: https://github.com/rstudio/rstudio/zipball/master
SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.zip"
SRCURL="https://github.com/${PRGNAM}/${PRGNAM}/zipball/master"
##
## --- with a little luck, you won't have to edit below this point --- ##
##
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
case "$ARCH" in
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
x86_64) SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
;;
*) SLKCFLAGS="-O2"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
esac
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
# remove old log files
# Source file availability:
if ! [ -f ${SOURCE} ]; then
echo "Source '$(basename ${SOURCE})' not available yet..."
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
if ! [ "x${SRCURL}" == "x" ]; then
echo "Will download file to $(dirname $SOURCE)"
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
exit 1
fi
else
echo "File '$(basename ${SOURCE})' not available... aborting the build."
exit 1
fi
fi
if [ "$P1" == "--download" ]; then
echo "Download complete."
exit 0
fi
# --- PACKAGE BUILDING ---
echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"
# Explode the package framework:
if [ -f $SRCDIR/_$PRGNAM.tar.gz ]; then
cd $PKG
explodepkg $SRCDIR/_$PRGNAM.tar.gz
cd -
fi
cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
if $(file ${SOURCE} | grep -qi ": 7-zip"); then
7za x ${SOURCE}
elif $(file ${SOURCE} | grep -qi ": zip"); then
unzip ${SOURCE}
else
tar -xvf ${SOURCE}
fi
# extracted sources have random 'version' number
cd `echo ${PRGNAM}-*`
chown -R root:root .
chmod -R u+w,go+r-w,a+X-s .
# additional files need to be downloaded
cd dependencies/common
./install-dictionaries
./install-gwt
# ./install-boost # already installed as part of Slackware
cd -
echo Building ...
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr/local/lib/rstudio \
-DRSTUDIO_TARGET=Desktop \
-DCMAKE_BUILD_TYPE=Release \
..
# Following variables are not used during generation of Makefile
# -DMAN_INSTALL_DIR=/usr/man \
# -DSYSCONF_INSTALL_DIR=/etc \
# -DLIB_SUFFIX=${LIBDIRSUFFIX} \
# make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
make DESTDIR=$PKG install 2>&1 | tee $OUTPUT/install-${PRGNAM}.log
cd -
# Add this to the doinst.sh:
mkdir -p $PKG/install
cat <<EOINS >> $PKG/install/doinst.sh
# Update the desktop database:
if [ -x usr/bin/update-desktop-database ]; then
chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null 2>&1
fi
# Update hicolor theme cache:
if [ -d usr/share/icons/hicolor ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
fi
# Update the mime database:
if [ -x usr/bin/update-mime-database ]; then
chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
# Add symbolic links:
cd /usr/local/bin ; rm -rf rstudio
cd /usr/local/bin ; ln -sf /usr/local/lib/rstudio/bin/rstudio rstudio
EOINS
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Compress the man page(s):
if [ -d $PKG/usr/man ]; then
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
# Compress info pages and remove the package's dir file:
if [ -d $PKG/usr/info ]; then
rm -f $PKG/usr/info/dir
gzip -9f $PKG/usr/info/*.info*
# If any info files are present, consider adding this to a doinst.sh:
# chroot . install-info /usr/info/XXXXX.info.gz /usr/info/dir 2> /dev/null
fi
# Strip binaries (if any):
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
if [ -f $SRCDIR/doinst.sh ]; then
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
fi
# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}
A slack-desc file can be copied from below in post #5.
Last edited by BroX; 05-04-2012 at 10:42 AM.
Reason: added dependencies in `Needs:` section of script; removed some DOCS
|
|
|
05-03-2012, 08:54 AM
|
#2
|
Member
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 826
|
Just how did you found the git version? :S
Ah, never mind, I found it in your script.
Well, this script fails for me...:
Quote:
-- Generating done
CMake Warning: The variable, 'LIB_SUFFIX', specified manually, was not used during the generation.
CMake Warning: The variable, 'MAN_INSTALL_DIR', specified manually, was not used during the generation.
CMake Warning: The variable, 'SYSCONF_INSTALL_DIR', specified manually, was not used during the generation.
-- Build files have been written to: /tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/build
Scanning dependencies of target gwt_build
/bin/sh: ant: command not found
make[2]: *** [gwt_build] Error 127
make[1]: *** [src/gwt/CMakeFiles/gwt_build.dir/all] Error 2
make: *** [all] Error 2
/bin/sh: ant: command not found
make[2]: *** [gwt_build] Error 127
make[1]: *** [src/gwt/CMakeFiles/gwt_build.dir/all] Error 2
make: *** [all] Error 2
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de
cp: cannot stat `ABOUT*': No such file or directory
cp: cannot stat `AUTHORS': No such file or directory
cp: cannot stat `BUGS': No such file or directory
cp: cannot stat `ChangeLog*': No such file or directory
cp: cannot stat `CREDITS': No such file or directory
cp: cannot stat `FAQ': No such file or directory
cp: cannot stat `GPL*': No such file or directory
cp: cannot stat `HACKING': No such file or directory
cp: cannot stat `LICENSE': No such file or directory
cp: cannot stat `MAINTAINERS': No such file or directory
cp: cannot stat `NEWS': No such file or directory
cp: cannot stat `TODO': No such file or directory
cat: /home/expander/Downloads/slack-desc: No such file or directory
./rstudio.SlackBuild FAILED at line 244
|
Last edited by Bindestreck; 05-03-2012 at 09:29 AM.
|
|
|
05-03-2012, 09:28 AM
|
#3
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Another way is to clone it directly:
Code:
git clone git://github.com/rstudio/rstudio.git
|
|
|
05-03-2012, 09:44 AM
|
#4
|
Member
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 826
|
So, I installed "apache-ant", and now another fail:
Code:
javac:
[mkdir] Created dir: /tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/bin
BUILD FAILED
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/build.xml:145: The following error occurred while executing this line:
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/build.xml:88: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib64/java"
Total time: 3 seconds
make[2]: *** [gwt_build] Error 1
make[1]: *** [src/gwt/CMakeFiles/gwt_build.dir/all] Error 2
make: *** [all] Error 2
Unable to locate tools.jar. Expected to find it in /usr/lib64/java/lib/tools.jar
Buildfile: /tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/build.xml
desktop:
ext:
[jscomp] None of the files changed. Compilation skipped.
[jscomp] None of the files changed. Compilation skipped.
javac:
BUILD FAILED
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/build.xml:145: The following error occurred while executing this line:
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de/src/gwt/build.xml:88: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib64/java"
Total time: 0 seconds
make[2]: *** [gwt_build] Error 1
make[1]: *** [src/gwt/CMakeFiles/gwt_build.dir/all] Error 2
make: *** [all] Error 2
/tmp/build/tmp-rstudio/rstudio-rstudio-78eb4de
cp: cannot stat `ABOUT*': No such file or directory
cp: cannot stat `AUTHORS': No such file or directory
cp: cannot stat `BUGS': No such file or directory
cp: cannot stat `ChangeLog*': No such file or directory
cp: cannot stat `CREDITS': No such file or directory
cp: cannot stat `FAQ': No such file or directory
cp: cannot stat `GPL*': No such file or directory
cp: cannot stat `HACKING': No such file or directory
cp: cannot stat `LICENSE': No such file or directory
cp: cannot stat `MAINTAINERS': No such file or directory
cp: cannot stat `NEWS': No such file or directory
cp: cannot stat `TODO': No such file or directory
cat: /home/expander/Downloads/slack-desc: No such file or directory
./rstudio.SlackBuild FAILED at line 244
Holy mother man, your script was supposed to care of all "necessary" files... such a BIG lie!
|
|
|
05-03-2012, 10:15 AM
|
#5
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Quote:
Originally Posted by eXpander_
Holy mother man, your script was supposed to care of all "necessary" files... such a BIG lie!
|
Bummer!
Well, what I meant was it downloads the three dependencies indicated by the INSTALL file...
But I think your problem is the lack of java development kit (jdk)? If so, I suggest you remove jre (or openjre, or equivalent) and install openjdk which AlienBob has kindly prepared for you.
Then try again.
And before you complain about not finding the slack-desc file , here it is:
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
rstudio: rstudio (RStudio is an IDE for R)
rstudio:
rstudio: RStudio(tm) is a free and open source integrated development
rstudio: environment (IDE) for R. You can run it on your desktop (Windows,
rstudio: Mac, or Linux) or even over the web using RStudio Server.
rstudio:
rstudio:
rstudio:
rstudio:
rstudio:
rstudio: Home: http://rstudio.org/
Edit: removed some missing DOCS from the script.
Last edited by BroX; 05-03-2012 at 10:33 AM.
Reason: removed some missing DOCS from the script
|
|
|
05-03-2012, 10:50 AM
|
#6
|
Member
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 826
|
Ok, thanks. Everything compiled fine, however, no binary files were installed...
Code:
bash-4.2$ cat rstudio-0.96.111-x86_64-1_ljs
PACKAGE NAME: rstudio-0.96.111-x86_64-1_ljs
COMPRESSED PACKAGE SIZE: 20K
UNCOMPRESSED PACKAGE SIZE: 60K
PACKAGE LOCATION: rstudio-0.96.111-x86_64-1_ljs.tgz
PACKAGE DESCRIPTION:
rstudio: rstudio (RStudio is an IDE for R)
rstudio:
rstudio: RStudio(tm) is a free and open source integrated development
rstudio: environment (IDE) for R. You can run it on your desktop (Windows,
rstudio: Mac, or Linux) or even over the web using RStudio Server.
rstudio:
rstudio:
rstudio:
rstudio:
rstudio:
rstudio: Home: http://rstudio.org/
FILE LIST:
./
install/
install/doinst.sh
install/slack-desc
usr/
usr/doc/
usr/doc/rstudio-0.96.111/
usr/doc/rstudio-0.96.111/COPYING
usr/doc/rstudio-0.96.111/rstudio.SlackBuild
usr/doc/rstudio-0.96.111/README.md
Is this normal?
|
|
|
05-03-2012, 11:03 AM
|
#7
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
No, that's not right.
For some reason that I don't understand the slackbuilds that I create with Alien's slackbuild toolkit do not exit on error.
Could you look at /tmp/install-rstudio.log to see what errors it throws at you?
Last edited by BroX; 05-03-2012 at 11:25 AM.
|
|
|
05-03-2012, 11:44 AM
|
#8
|
Member
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 826
|
log file:
Code:
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::copyToActiveDevice()':
RGraphicsDevice.cpp:(.text+0x2cc): undefined reference to `GEdeviceNumber'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::createGD() [clone .part.11]':
RGraphicsDevice.cpp:(.text+0x305): undefined reference to `R_CheckDeviceAvailable'
RGraphicsDevice.cpp:(.text+0x31a): undefined reference to `R_NilValue'
RGraphicsDevice.cpp:(.text+0x321): undefined reference to `R_interrupts_suspended'
RGraphicsDevice.cpp:(.text+0x59a): undefined reference to `GEcreateDevDesc'
RGraphicsDevice.cpp:(.text+0x5b0): undefined reference to `GEaddDevice2'
RGraphicsDevice.cpp:(.text+0x5cb): undefined reference to `Rf_ndevNumber'
RGraphicsDevice.cpp:(.text+0x5d2): undefined reference to `Rf_selectDevice'
RGraphicsDevice.cpp:(.text+0x5d9): undefined reference to `R_interrupts_pending'
RGraphicsDevice.cpp:(.text+0x62e): undefined reference to `Rf_error'
RGraphicsDevice.cpp:(.text+0x641): undefined reference to `Rf_onintr'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::createGD()':
RGraphicsDevice.cpp:(.text+0x688): undefined reference to `Rf_warning'
RGraphicsDevice.cpp:(.text+0x68f): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::resyncDisplayList()':
RGraphicsDevice.cpp:(.text+0x888): undefined reference to `GEplayDisplayList'
RGraphicsDevice.cpp:(.text+0xa08): undefined reference to `Rprintf'
RGraphicsDevice.cpp:(.text+0xa2c): undefined reference to `Rf_ndevNumber'
RGraphicsDevice.cpp:(.text+0xa33): undefined reference to `Rf_killDevice'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::initialize(core::FilePath const&, boost::function<bool (double*, double*)> const&)':
RGraphicsDevice.cpp:(.text+0xe78): undefined reference to `Rf_xDevtoUsr'
RGraphicsDevice.cpp:(.text+0xeae): undefined reference to `Rf_yDevtoUsr'
RGraphicsDevice.cpp:(.text+0xedf): undefined reference to `Rf_xDevtoNDC'
RGraphicsDevice.cpp:(.text+0xefd): undefined reference to `Rf_yDevtoNDC'
RGraphicsDevice.cpp:(.text+0x1624): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::makeActive()':
RGraphicsDevice.cpp:(.text+0x181f): undefined reference to `Rf_ndevNumber'
RGraphicsDevice.cpp:(.text+0x1826): undefined reference to `Rf_selectDevice'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::rs_activateGD()':
RGraphicsDevice.cpp:(.text+0x1a5a): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::restoreSnapshot(core::FilePath const&)':
RGraphicsDevice.cpp:(.text+0x1b3b): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::saveSnapshot(core::FilePath const&, core::FilePath const&)':
RGraphicsDevice.cpp:(.text+0x1ccb): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::close()':
RGraphicsDevice.cpp:(.text+0x20f): undefined reference to `Rf_killDevice'
../r/librstudio-r.a(RGraphicsDevice.cpp.o): In function `r::session::graphics::device::(anonymous namespace)::copyToActiveDevice()':
RGraphicsDevice.cpp:(.text+0x2d7): undefined reference to `GEcopyDisplayList'
../r/librstudio-r.a(RGraphicsPlotManager.cpp.o): In function `r::session::graphics::PlotManager::onDeviceNewPage(SEXPREC*)':
RGraphicsPlotManager.cpp:(.text+0x170f): undefined reference to `R_NilValue'
RGraphicsPlotManager.cpp:(.text+0x18db): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManager.cpp.o): In function `r::session::graphics::PlotManager::savePlotAsFile(boost::function<core::Error ()> const&)':
RGraphicsPlotManager.cpp:(.text+0x1c60): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsUtils.cpp.o): In function `r::session::graphics::RestorePreviousGraphicsDeviceScope::~RestorePreviousGraphicsDeviceScope()':
RGraphicsUtils.cpp:(.text+0x44): undefined reference to `Rf_ndevNumber'
RGraphicsUtils.cpp:(.text+0x4b): undefined reference to `Rf_selectDevice'
../r/librstudio-r.a(RGraphicsUtils.cpp.o): In function `r::session::graphics::RestorePreviousGraphicsDeviceScope::RestorePreviousGraphicsDeviceScope()':
RGraphicsUtils.cpp:(.text+0x18f): undefined reference to `Rf_NoDevices'
RGraphicsUtils.cpp:(.text+0x1a9): undefined reference to `GEcurrentDevice'
../r/librstudio-r.a(RGraphicsUtils.cpp.o): In function `r::session::graphics::reportError(core::Error const&)':
RGraphicsUtils.cpp:(.text+0x2ba): undefined reference to `REprintf'
../r/librstudio-r.a(RGraphicsUtils.cpp.o): In function `r::session::graphics::validateRequirements(std::string*)':
RGraphicsUtils.cpp:(.text+0x3c8): undefined reference to `R_GE_getVersion'
../r/librstudio-r.a(RSessionState.cpp.o): In function `r::session::state::(anonymous namespace)::reportError(std::string const&, std::string const&, core::Error const&, core::ErrorLocation const&, boost::function<void (char const*)> const&)':
RSessionState.cpp:(.text+0x3f0): undefined reference to `REprintf'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::hasManipulator() const':
RGraphicsPlot.cpp:(.text+0x603): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::loadManipulatorIfNecessary() const':
RGraphicsPlot.cpp:(.text+0x644): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::manipulatorSEXP() const':
RGraphicsPlot.cpp:(.text+0x7b1): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::saveManipulator(std::string const&) const':
RGraphicsPlot.cpp:(.text+0x824): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::saveManipulator() const':
RGraphicsPlot.cpp:(.text+0x913): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::renderFromDisplaySnapshot(SEXPREC*)':
RGraphicsPlot.cpp:(.text+0x193c): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::session::graphics::Plot::manipulatorAsJson(json_spirit::Value_impl<json_spirit::Config_map<std::string> >*) const':
RGraphicsPlot.cpp:(.text+0x1ddf): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlot.cpp.o): In function `r::exec::RFunction::RFunction<SEXPREC*, std::string>(std::string const&, SEXPREC* const&, std::string const&)':
RGraphicsPlot.cpp:(.text._ZN1r4exec9RFunctionC2IP7SEXPRECSsEERKSsRKT_RKT0_[_ZN1r4exec9RFunctionC5IP7SEXPRECSsEERKSsRKT_RKT0_]+0x6c): undefined reference to `R_UnboundValue'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::get(std::string const&) const':
RGraphicsPlotManipulator.cpp:(.text+0x35b): undefined reference to `R_NilValue'
RGraphicsPlotManipulator.cpp:(.text+0x3f2): undefined reference to `R_UnboundValue'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::getUserVisibleValuesList() const':
RGraphicsPlotManipulator.cpp:(.text+0x70a): undefined reference to `R_NilValue'
RGraphicsPlotManipulator.cpp:(.text+0x795): undefined reference to `R_UnboundValue'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::load(core::FilePath const&)':
RGraphicsPlotManipulator.cpp:(.text+0xb11): undefined reference to `R_UnboundValue'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::save(core::FilePath const&) const':
RGraphicsPlotManipulator.cpp:(.text+0xe76): undefined reference to `R_UnboundValue'
RGraphicsPlotManipulator.cpp:(.text+0xf1d): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::getControlAsJson(SEXPREC*) const':
RGraphicsPlotManipulator.cpp:(.text+0x1504): undefined reference to `VECTOR_ELT'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::getControlsAsJson() const':
RGraphicsPlotManipulator.cpp:(.text+0x1a32): undefined reference to `R_NilValue'
RGraphicsPlotManipulator.cpp:(.text+0x1c7c): undefined reference to `VECTOR_ELT'
../r/librstudio-r.a(RGraphicsPlotManipulator.cpp.o): In function `r::session::graphics::PlotManipulator::asJson(json_spirit::Value_impl<json_spirit::Config_map<std::string> >*) const':
RGraphicsPlotManipulator.cpp:(.text+0x213b): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::hasActiveManipulator() const':
RGraphicsPlotManipulatorManager.cpp:(.text+0x1a4): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::activeManipulator() const':
RGraphicsPlotManipulatorManager.cpp:(.text+0x1f4): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::PlotManipulatorManager()':
RGraphicsPlotManipulatorManager.cpp:(.text+0x4d7): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::(anonymous namespace)::rs_activeManipulator()':
RGraphicsPlotManipulatorManager.cpp:(.text+0x5ad): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o):RGraphicsPlotManipulatorManager.cpp:(.text+0x64a): more undefined references to `R_NilValue' follow
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::(anonymous namespace)::safeExecuteManipulator(SEXPREC*)':
RGraphicsPlotManipulatorManager.cpp:(.text+0x965): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::executeAndAttachManipulator(SEXPREC*)':
RGraphicsPlotManipulatorManager.cpp:(.text+0xca0): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::(anonymous namespace)::rs_executeAndAttachManipulator(SEXPREC*)':
RGraphicsPlotManipulatorManager.cpp:(.text+0xd1f): undefined reference to `R_NilValue'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::trackingMouseClicks(SEXPREC*) const':
RGraphicsPlotManipulatorManager.cpp:(.text+0xf77): undefined reference to `R_UnboundValue'
RGraphicsPlotManipulatorManager.cpp:(.text+0x1036): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::manipulatorPlotClicked(int, int)':
RGraphicsPlotManipulatorManager.cpp:(.text+0x1419): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::(anonymous namespace)::setManipulatorJsonValue(SEXPREC*, std::pair<std::string, json_spirit::Value_impl<json_spirit::Config_map<std::string> > > const&)':
RGraphicsPlotManipulatorManager.cpp:(.text+0x16f5): undefined reference to `R_UnboundValue'
RGraphicsPlotManipulatorManager.cpp:(.text+0x1816): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RGraphicsPlotManipulatorManager.cpp.o): In function `r::session::graphics::PlotManipulatorManager::setPlotManipulatorValues(std::map<std::string, json_spirit::Value_impl<json_spirit::Config_map<std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, json_spirit::Value_impl<json_spirit::Config_map<std::string> > > > > const&)':
RGraphicsPlotManipulatorManager.cpp:(.text+0x1d1b): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RSearchPath.cpp.o): In function `r::session::search_path::save(core::FilePath const&)':
RSearchPath.cpp:(.text+0x2b8): undefined reference to `R_SaveGlobalEnvToFile'
RSearchPath.cpp:(.text+0x669): undefined reference to `R_GlobalEnv'
RSearchPath.cpp:(.text+0x671): undefined reference to `ENCLOS'
RSearchPath.cpp:(.text+0x678): undefined reference to `R_BaseEnv'
RSearchPath.cpp:(.text+0x696): undefined reference to `ENCLOS'
RSearchPath.cpp:(.text+0x6e1): undefined reference to `Rf_install'
RSearchPath.cpp:(.text+0x6ee): undefined reference to `Rf_getAttrib'
RSearchPath.cpp:(.text+0x70d): undefined reference to `Rf_isString'
RSearchPath.cpp:(.text+0x7a0): undefined reference to `R_GlobalEnv'
RSearchPath.cpp:(.text+0x883): undefined reference to `Rf_length'
../r/librstudio-r.a(RSearchPath.cpp.o): In function `r::session::search_path::restore(core::FilePath const&)':
RSearchPath.cpp:(.text+0xd93): undefined reference to `R_GlobalEnv'
RSearchPath.cpp:(.text+0x10df): undefined reference to `R_GlobalEnv'
RSearchPath.cpp:(.text+0x1aad): undefined reference to `R_GlobalEnv'
RSearchPath.cpp:(.text+0x1c43): undefined reference to `R_GlobalEnv'
../r/librstudio-r.a(RSearchPath.cpp.o): In function `r::session::search_path::(anonymous namespace)::reportRestoreError(std::string const&, core::Error const&, core::ErrorLocation const&)':
RSearchPath.cpp:(.text.unlikely+0x1b3): undefined reference to `REprintf'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RCairoGraphicsHandler.cpp.o): In function `r::session::graphics::handler::cairo::cap(_DevDesc*)':
RCairoGraphicsHandler.cpp:(.text+0x133): undefined reference to `R_NilValue'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RCairoGraphicsHandler.cpp.o): In function `r::session::graphics::handler::cairo::raster(unsigned int*, int, int, double, double, double, double, double, Rboolean, R_GE_gcontext*, _DevDesc*)':
RCairoGraphicsHandler.cpp:(.text+0x3eb): undefined reference to `vmaxget'
RCairoGraphicsHandler.cpp:(.text+0x41c): undefined reference to `R_alloc'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RCairoGraphicsHandler.cpp.o): In function `r::session::graphics::handler::cairo::metricInfo(int, R_GE_gcontext*, double*, double*, double*, _DevDesc*)':
RCairoGraphicsHandler.cpp:(.text+0x96d): undefined reference to `mbcslocale'
RCairoGraphicsHandler.cpp:(.text+0x990): undefined reference to `Rf_ucstoutf8'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RCairoGraphicsHandler.cpp.o): In function `r::session::graphics::handler::cairo::initializeWithFile(core::FilePath const&, int, int, bool, r::session::graphics::handler::DeviceContext*)':
RCairoGraphicsHandler.cpp:(.text+0xdac): undefined reference to `Rf_warning'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RCairoGraphicsHandler.cpp.o): In function `r::session::graphics::handler::cairo::raster(unsigned int*, int, int, double, double, double, double, double, Rboolean, R_GE_gcontext*, _DevDesc*)':
RCairoGraphicsHandler.cpp:(.text+0x5f3): undefined reference to `vmaxset'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::cap(_DevDesc*)':
RShadowPngGraphicsHandler.cpp:(.text+0x13): undefined reference to `R_NilValue'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::(anonymous namespace)::PreserveCurrentDeviceScope::~PreserveCurrentDeviceScope()':
RShadowPngGraphicsHandler.cpp:(.text+0x30): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x37): undefined reference to `Rf_selectDevice'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::onBeforeExecute(r::session::graphics::handler::DeviceContext*)':
RShadowPngGraphicsHandler.cpp:(.text+0x55): undefined reference to `Rf_NoDevices'
RShadowPngGraphicsHandler.cpp:(.text+0x61): undefined reference to `GEcurrentDevice'
RShadowPngGraphicsHandler.cpp:(.text+0x7f): undefined reference to `Rf_ndevNumber'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::initializeWithFile(core::FilePath const&, int, int, bool, r::session::graphics::handler::DeviceContext*)':
RShadowPngGraphicsHandler.cpp:(.text+0x202): undefined reference to `R_TempDir'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::(anonymous namespace)::shadowDevOff(r::session::graphics::handler::DeviceContext*) [clone .isra.83]':
RShadowPngGraphicsHandler.cpp:(.text+0x776): undefined reference to `Rf_desc2GEDesc'
RShadowPngGraphicsHandler.cpp:(.text+0x781): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x790): undefined reference to `GEkillDevice'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::(anonymous namespace)::shadowDevDesc(r::session::graphics::handler::DeviceContext*, _DevDesc**)':
RShadowPngGraphicsHandler.cpp:(.text+0x97a): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x998): undefined reference to `Rf_NoDevices'
RShadowPngGraphicsHandler.cpp:(.text+0xc96): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0xc9d): undefined reference to `Rf_selectDevice'
RShadowPngGraphicsHandler.cpp:(.text+0xcb1): undefined reference to `GEcurrentDevice'
RShadowPngGraphicsHandler.cpp:(.text+0xcf3): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0xcfa): undefined reference to `Rf_selectDevice'
RShadowPngGraphicsHandler.cpp:(.text+0xe41): undefined reference to `GEcurrentDevice'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::(anonymous namespace)::shadowDevSync(r::session::graphics::handler::DeviceContext*)':
RShadowPngGraphicsHandler.cpp:(.text+0x17d1): undefined reference to `Rf_desc2GEDesc'
RShadowPngGraphicsHandler.cpp:(.text+0x17d9): undefined reference to `GEdeviceNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x17e8): undefined reference to `Rf_NoDevices'
RShadowPngGraphicsHandler.cpp:(.text+0x17f1): undefined reference to `GEcurrentDevice'
RShadowPngGraphicsHandler.cpp:(.text+0x1870): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x1877): undefined reference to `Rf_selectDevice'
RShadowPngGraphicsHandler.cpp:(.text+0x188e): undefined reference to `Rf_ndevNumber'
RShadowPngGraphicsHandler.cpp:(.text+0x1895): undefined reference to `Rf_selectDevice'
RShadowPngGraphicsHandler.cpp:(.text+0x189c): undefined reference to `GEcopyDisplayList'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RShadowPngGraphicsHandler.cpp.o): In function `r::session::graphics::handler::shadow::onBeforeExecute(r::session::graphics::handler::DeviceContext*)':
RShadowPngGraphicsHandler.cpp:(.text+0x87): undefined reference to `Rf_selectDevice'
../r/librstudio-r.a(RRoutines.cpp.o): In function `r::routines::registerAll()':
RRoutines.cpp:(.text+0xd5): undefined reference to `R_getEmbeddingDllInfo'
RRoutines.cpp:(.text+0xe8): undefined reference to `R_registerRoutines'
../r/librstudio-r.a(REmbeddedPosix.cpp.o): In function `r::session::runEmbeddedR(core::FilePath const&, core::FilePath const&, bool, SA_TYPE, r::session::Callbacks const&, r::session::InternalCallbacks*)':
REmbeddedPosix.cpp:(.text+0x50): undefined reference to `R_SignalHandlers'
REmbeddedPosix.cpp:(.text+0x57): undefined reference to `ptr_R_ShowMessage'
REmbeddedPosix.cpp:(.text+0x6e): undefined reference to `R_running_as_main_program'
REmbeddedPosix.cpp:(.text+0x90): undefined reference to `Rf_initialize_R'
REmbeddedPosix.cpp:(.text+0x9a): undefined reference to `R_DefParams'
REmbeddedPosix.cpp:(.text+0xdb): undefined reference to `R_SetParams'
REmbeddedPosix.cpp:(.text+0xe2): undefined reference to `R_Interactive'
REmbeddedPosix.cpp:(.text+0xf3): undefined reference to `R_Consolefile'
REmbeddedPosix.cpp:(.text+0x101): undefined reference to `R_Outputfile'
REmbeddedPosix.cpp:(.text+0x10f): undefined reference to `ptr_R_ReadConsole'
REmbeddedPosix.cpp:(.text+0x119): undefined reference to `ptr_R_WriteConsole'
REmbeddedPosix.cpp:(.text+0x12b): undefined reference to `ptr_R_WriteConsoleEx'
REmbeddedPosix.cpp:(.text+0x139): undefined reference to `ptr_R_EditFile'
REmbeddedPosix.cpp:(.text+0x147): undefined reference to `ptr_R_Busy'
REmbeddedPosix.cpp:(.text+0x15c): undefined reference to `ptr_R_ChooseFile'
REmbeddedPosix.cpp:(.text+0x16a): undefined reference to `ptr_R_ShowFiles'
REmbeddedPosix.cpp:(.text+0x178): undefined reference to `ptr_R_loadhistory'
REmbeddedPosix.cpp:(.text+0x186): undefined reference to `ptr_R_savehistory'
REmbeddedPosix.cpp:(.text+0x194): undefined reference to `ptr_R_addhistory'
REmbeddedPosix.cpp:(.text+0x19e): undefined reference to `ptr_R_Suicide'
REmbeddedPosix.cpp:(.text+0x1b3): undefined reference to `ptr_R_CleanUp'
REmbeddedPosix.cpp:(.text+0x1c7): undefined reference to `Rf_mainloop'
../r/librstudio-r.a(REmbeddedPosix.cpp.o): In function `r::session::event_loop::initializePolledEventHandler(void (*)())':
REmbeddedPosix.cpp:(.text+0x2c0): undefined reference to `R_PolledEvents'
REmbeddedPosix.cpp:(.text+0x2e2): undefined reference to `R_wait_usec'
../r/librstudio-r.a(REmbeddedPosix.cpp.o): In function `r::session::event_loop::processEvents()':
REmbeddedPosix.cpp:(.text+0x34c): undefined reference to `R_checkActivity'
REmbeddedPosix.cpp:(.text+0x356): undefined reference to `R_InputHandlers'
REmbeddedPosix.cpp:(.text+0x362): undefined reference to `R_runHandlers'
../r/librstudio-r.a(RGraphicsFileDevice.cpp.o): In function `r::session::graphics::file_device::(anonymous namespace)::createDevice(int, int, core::FilePath const&)':
RGraphicsFileDevice.cpp:(.text+0xcf): undefined reference to `R_CheckDeviceAvailable'
RGraphicsFileDevice.cpp:(.text+0xdd): undefined reference to `R_interrupts_suspended'
RGraphicsFileDevice.cpp:(.text+0x2c4): undefined reference to `R_NilValue'
RGraphicsFileDevice.cpp:(.text+0x34a): undefined reference to `GEcreateDevDesc'
RGraphicsFileDevice.cpp:(.text+0x35c): undefined reference to `GEaddDevice2'
RGraphicsFileDevice.cpp:(.text+0x370): undefined reference to `Rf_ndevNumber'
RGraphicsFileDevice.cpp:(.text+0x377): undefined reference to `Rf_selectDevice'
RGraphicsFileDevice.cpp:(.text+0x37e): undefined reference to `R_interrupts_pending'
RGraphicsFileDevice.cpp:(.text+0x3c1): undefined reference to `Rf_onintr'
RGraphicsFileDevice.cpp:(.text+0x3e6): undefined reference to `Rf_error'
../r/librstudio-r.a(RGraphicsFileDevice.cpp.o): In function `r::session::graphics::file_device::(anonymous namespace)::CFD_Close(_DevDesc*)':
RGraphicsFileDevice.cpp:(.text+0x47f): undefined reference to `Rf_desc2GEDesc'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o): In function `r::session::graphics::handler::dev_desc::allocate(DevDescVersion9 const&)':
RGraphicsDevDesc.cpp:(.text+0x5): undefined reference to `R_GE_getVersion'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o): In function `r::session::graphics::handler::dev_desc::setSize(_DevDesc*)':
RGraphicsDevDesc.cpp:(.text+0xc8a): undefined reference to `R_GE_getVersion'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o): In function `r::session::graphics::handler::dev_desc::path(double*, double*, int, int*, Rboolean, R_GE_gcontext*, _DevDesc*)':
RGraphicsDevDesc.cpp:(.text+0xd38): undefined reference to `R_GE_getVersion'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o): In function `r::session::graphics::handler::dev_desc::raster(unsigned int*, int, int, double, double, double, double, double, Rboolean, R_GE_gcontext*, _DevDesc*)':
RGraphicsDevDesc.cpp:(.text+0xdce): undefined reference to `R_GE_getVersion'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o): In function `r::session::graphics::handler::dev_desc::strWidth(char const*, R_GE_gcontext*, _DevDesc*)':
RGraphicsDevDesc.cpp:(.text+0xe6d): undefined reference to `R_GE_getVersion'
../r/session/graphics/handler/librstudio-r-graphics-handler.a(RGraphicsDevDesc.cpp.o):RGraphicsDevDesc.cpp:(.text+0xf04): more undefined references to `R_GE_getVersion' follow
/usr/lib64/R/lib/libRlapack.so: undefined reference to `xerbla_'
collect2: error: ld returned 1 exit status
make[2]: *** [src/cpp/session/rsession] Error 1
make[1]: *** [src/cpp/session/CMakeFiles/rsession.dir/all] Error 2
make: *** [all] Error 2
So it trowed an error but the compilation did not fail...
Last edited by Bindestreck; 05-03-2012 at 11:45 AM.
|
|
|
05-03-2012, 12:30 PM
|
#9
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Since the errors are related to R, I am guessing that you have R installed with static libraries.
If you install R (latest version 2.15.0) using SBopkg then shared libraries will be enabled by default. Otherwise you should recompile R with ./configure --enable-R-shlibs
Hope this helps.
|
|
|
05-03-2012, 01:09 PM
|
#10
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
I updated the script to properly install in /usr/local/lib and /usr/share (instead of /usr)
Code:
$ cat /var/log/packages/rstudio-0.96.111-x86_64-1_ljs
PACKAGE NAME: rstudio-0.96.111-x86_64-1_ljs
COMPRESSED PACKAGE SIZE: 7.8M
UNCOMPRESSED PACKAGE SIZE: 39M
PACKAGE LOCATION: /tmp/rstudio-0.96.111-x86_64-1_ljs.tgz
PACKAGE DESCRIPTION:
rstudio: rstudio (RStudio is an IDE for R)
rstudio:
rstudio: RStudio(tm) is a free and open source integrated development
rstudio: environment (IDE) for R. You can run it on your desktop (Windows,
rstudio: Mac, or Linux) or even over the web using RStudio Server.
rstudio:
rstudio:
rstudio:
rstudio:
rstudio:
rstudio: Home: http://rstudio.org/
FILE LIST:
./
install/
install/slack-desc
install/doinst.sh
usr/
usr/doc/
usr/doc/rstudio-0.96.111/
usr/doc/rstudio-0.96.111/rstudio.SlackBuild
usr/doc/rstudio-0.96.111/README.md
usr/doc/rstudio-0.96.111/COPYING
usr/share/
usr/share/icons/
usr/share/icons/hicolor/
usr/share/icons/hicolor/256x256/
usr/share/icons/hicolor/256x256/mimetypes/
usr/share/icons/hicolor/256x256/mimetypes/application-x-r-project.png
usr/share/icons/hicolor/256x256/mimetypes/application-x-r-data.png
usr/share/icons/hicolor/256x256/apps/
usr/share/icons/hicolor/256x256/apps/rstudio.png
usr/share/icons/hicolor/48x48/
usr/share/icons/hicolor/48x48/mimetypes/
usr/share/icons/hicolor/48x48/mimetypes/application-x-r-project.png
usr/share/icons/hicolor/48x48/mimetypes/application-x-r-data.png
usr/share/icons/hicolor/48x48/apps/
usr/share/icons/hicolor/48x48/apps/rstudio.png
usr/share/icons/hicolor/32x32/
usr/share/icons/hicolor/32x32/mimetypes/
usr/share/icons/hicolor/32x32/mimetypes/application-x-r-project.png
usr/share/icons/hicolor/32x32/mimetypes/application-x-r-data.png
usr/share/icons/hicolor/32x32/apps/
usr/share/icons/hicolor/32x32/apps/rstudio.png
usr/share/icons/hicolor/24x24/
usr/share/icons/hicolor/24x24/mimetypes/
usr/share/icons/hicolor/24x24/mimetypes/application-x-r-project.png
usr/share/icons/hicolor/24x24/mimetypes/application-x-r-data.png
usr/share/icons/hicolor/24x24/apps/
usr/share/icons/hicolor/24x24/apps/rstudio.png
usr/share/icons/hicolor/16x16/
usr/share/icons/hicolor/16x16/mimetypes/
usr/share/icons/hicolor/16x16/mimetypes/application-x-r-project.png
usr/share/icons/hicolor/16x16/mimetypes/application-x-r-data.png
usr/share/icons/hicolor/16x16/apps/
usr/share/icons/hicolor/16x16/apps/rstudio.png
usr/share/pixmaps/
usr/share/pixmaps/rstudio.png
usr/share/mime/
usr/share/mime/packages/
usr/share/mime/packages/rstudio.xml
usr/share/applications/
usr/share/applications/rstudio.desktop
usr/local/
usr/local/lib/
usr/local/lib/rstudio/
usr/local/lib/rstudio/resources/
usr/local/lib/rstudio/resources/agpl-3.0-standalone.html
usr/local/lib/rstudio/resources/dictionaries/
usr/local/lib/rstudio/resources/dictionaries/en_AU.aff
usr/local/lib/rstudio/resources/dictionaries/en_AU.dic
usr/local/lib/rstudio/resources/dictionaries/en_AU.dic_delta
usr/local/lib/rstudio/resources/dictionaries/en_CA.aff
usr/local/lib/rstudio/resources/dictionaries/en_CA.dic
usr/local/lib/rstudio/resources/dictionaries/en_CA.dic_delta
usr/local/lib/rstudio/resources/dictionaries/en_GB.aff
usr/local/lib/rstudio/resources/dictionaries/en_GB.dic
usr/local/lib/rstudio/resources/dictionaries/en_GB.dic_delta
usr/local/lib/rstudio/resources/dictionaries/en_US.aff
usr/local/lib/rstudio/resources/dictionaries/en_US.dic
usr/local/lib/rstudio/resources/dictionaries/en_US.dic_delta
usr/local/lib/rstudio/resources/highlight.pack.js
usr/local/lib/rstudio/resources/R.css
usr/local/lib/rstudio/resources/highlight.styles.css
usr/local/lib/rstudio/resources/html_preview.htm
usr/local/lib/rstudio/resources/markdown_help.htm
usr/local/lib/rstudio/rstudio.png
usr/local/lib/rstudio/bin/
usr/local/lib/rstudio/bin/rstudio
usr/local/lib/rstudio/bin/rsession
usr/local/lib/rstudio/bin/rpostback
usr/local/lib/rstudio/bin/rspdflatex
usr/local/lib/rstudio/bin/postback/
usr/local/lib/rstudio/bin/postback/askpass-passthrough
usr/local/lib/rstudio/bin/postback/rpostback-askpass
usr/local/lib/rstudio/bin/postback/rpostback-editfile
usr/local/lib/rstudio/bin/postback/rpostback-gitssh
usr/local/lib/rstudio/bin/postback/rpostback-pdfviewer
usr/local/lib/rstudio/bin/r-ldpath
usr/local/lib/rstudio/bin/rstudio-backtrace.sh
usr/local/lib/rstudio/R/
usr/local/lib/rstudio/R/modules/
usr/local/lib/rstudio/R/modules/SessionWorkspace.R
usr/local/lib/rstudio/R/modules/SessionSpelling.R
usr/local/lib/rstudio/R/modules/SessionSource.R
usr/local/lib/rstudio/R/modules/SessionPackages.R
usr/local/lib/rstudio/R/modules/SessionHelp.R
usr/local/lib/rstudio/R/modules/SessionHTMLPreview.R
usr/local/lib/rstudio/R/modules/SessionFiles.R
usr/local/lib/rstudio/R/modules/SessionData.R
usr/local/lib/rstudio/R/modules/SessionConsole.R
usr/local/lib/rstudio/R/modules/SessionCodeTools.R
usr/local/lib/rstudio/R/modules/SessionAuthoring.R
usr/local/lib/rstudio/R/modules/SessionAskPass.R
usr/local/lib/rstudio/R/modules/ModuleTools.R
usr/local/lib/rstudio/R/library/
usr/local/lib/rstudio/R/library/manipulate/
usr/local/lib/rstudio/R/library/manipulate/NAMESPACE
usr/local/lib/rstudio/R/library/manipulate/DESCRIPTION
usr/local/lib/rstudio/R/library/manipulate/Meta/
usr/local/lib/rstudio/R/library/manipulate/Meta/package.rds
usr/local/lib/rstudio/R/library/manipulate/Meta/Rd.rds
usr/local/lib/rstudio/R/library/manipulate/Meta/hsearch.rds
usr/local/lib/rstudio/R/library/manipulate/Meta/links.rds
usr/local/lib/rstudio/R/library/manipulate/Meta/nsInfo.rds
usr/local/lib/rstudio/R/library/manipulate/R/
usr/local/lib/rstudio/R/library/manipulate/R/manipulate
usr/local/lib/rstudio/R/library/manipulate/R/manipulate.rdb
usr/local/lib/rstudio/R/library/manipulate/R/manipulate.rdx
usr/local/lib/rstudio/R/library/manipulate/help/
usr/local/lib/rstudio/R/library/manipulate/help/paths.rds
usr/local/lib/rstudio/R/library/manipulate/help/manipulate.rdb
usr/local/lib/rstudio/R/library/manipulate/help/manipulate.rdx
usr/local/lib/rstudio/R/library/manipulate/help/AnIndex
usr/local/lib/rstudio/R/library/manipulate/help/aliases.rds
usr/local/lib/rstudio/R/library/manipulate/html/
usr/local/lib/rstudio/R/library/manipulate/html/00Index.html
usr/local/lib/rstudio/R/library/manipulate/html/R.css
usr/local/lib/rstudio/R/library/manipulate/INDEX
usr/local/lib/rstudio/R/Options.R
usr/local/lib/rstudio/R/ServerOptions.R
usr/local/lib/rstudio/R/Tools.R
usr/local/lib/rstudio/www/
usr/local/lib/rstudio/www/.gitignore
usr/local/lib/rstudio/www/browser.htm
usr/local/lib/rstudio/www/css/
usr/local/lib/rstudio/www/css/data.css
usr/local/lib/rstudio/www/docs/
usr/local/lib/rstudio/www/docs/keyboard.htm
usr/local/lib/rstudio/www/favicon.ico
usr/local/lib/rstudio/www/images/
usr/local/lib/rstudio/www/images/buttonLeft.png
usr/local/lib/rstudio/www/images/buttonRight.png
usr/local/lib/rstudio/www/images/buttonTile.png
usr/local/lib/rstudio/www/images/favicon.ico
usr/local/lib/rstudio/www/images/offline.png
usr/local/lib/rstudio/www/images/progress_large.gif
usr/local/lib/rstudio/www/images/rstudio.png
usr/local/lib/rstudio/www/images/warning.png
usr/local/lib/rstudio/www/index.htm
usr/local/lib/rstudio/www/js/
usr/local/lib/rstudio/www/js/diff.js
usr/local/lib/rstudio/www/js/encrypt.min.js
usr/local/lib/rstudio/www/js/json2.min.js
usr/local/lib/rstudio/www/offline.htm
usr/local/lib/rstudio/www/progress.htm
usr/local/lib/rstudio/www/rstudio.css
usr/local/lib/rstudio/www/templates/
usr/local/lib/rstudio/www/templates/encrypted-sign-in.htm
usr/local/lib/rstudio/www/rstudio/
usr/local/lib/rstudio/www/rstudio/13D012D34E5F24FC13B2AD1B3C0BC395.cache.css
usr/local/lib/rstudio/www/rstudio/214F59E103CFABECB95E43F74198C6A2.cache.js
usr/local/lib/rstudio/www/rstudio/315FDB86529EE57B2CA824750C8D1643.cache.js
usr/local/lib/rstudio/www/rstudio/4DE70519304958D7D74C687480B4F827.cache.css
usr/local/lib/rstudio/www/rstudio/6A2956111C00E3DD43A71C80DF3F59B2.cache.js
usr/local/lib/rstudio/www/rstudio/74ABA17846F28AC5F14BD14E93DAC332.cache.css
usr/local/lib/rstudio/www/rstudio/7A5467957F55B057D55A47B915FA0EF7.cache.html
usr/local/lib/rstudio/www/rstudio/7F931E2B609D615C2959F6EF00A3E4F2.cache.css
usr/local/lib/rstudio/www/rstudio/8B0D223FC976870AD2B3F2A4411E5195.cache.css
usr/local/lib/rstudio/www/rstudio/90978D1C17C62ACFD065FED456EB4130.cache.css
usr/local/lib/rstudio/www/rstudio/9ED74F910351773AEEAB0FD41A44F68A.cache.js
usr/local/lib/rstudio/www/rstudio/A2EB630241A0BFE0FC6785A80D600916.cache.png
usr/local/lib/rstudio/www/rstudio/A3996CE59DD65C409F885BD35C45396A.cache.css
usr/local/lib/rstudio/www/rstudio/ABA845EFF7C837B68E481390E9E900CE.cache.js
usr/local/lib/rstudio/www/rstudio/AF39C50602922C4C6B1CBF894EF82ABB.cache.html
usr/local/lib/rstudio/www/rstudio/B0572C1351A9C9BAF9954370BA0F02BD.cache.js
usr/local/lib/rstudio/www/rstudio/ECF5A81A4944877DBD11A69B50D7610B.cache.css
usr/local/lib/rstudio/www/rstudio/clear.cache.gif
usr/local/lib/rstudio/www/rstudio/deferredjs/
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/1.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/10.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/11.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/12.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/13.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/14.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/15.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/16.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/17.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/2.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/3.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/4.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/5.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/6.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/7.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/8.cache.js
usr/local/lib/rstudio/www/rstudio/deferredjs/7A5467957F55B057D55A47B915FA0EF7/9.cache.js
usr/local/lib/rstudio/www/rstudio/hosted.html
usr/local/lib/rstudio/www/rstudio/rstudio.nocache.js
usr/local/lib/rstudio/www/WEB-INF/
usr/local/lib/rstudio/www/WEB-INF/deploy/
usr/local/lib/rstudio/www/WEB-INF/deploy/rstudio/
usr/local/lib/rstudio/www/WEB-INF/deploy/rstudio/rpcPolicyManifest/
usr/local/lib/rstudio/www/WEB-INF/deploy/rstudio/rpcPolicyManifest/manifest.txt
usr/local/lib/rstudio/www/WEB-INF/deploy/rstudio/symbolMaps/
usr/local/lib/rstudio/www/WEB-INF/deploy/rstudio/symbolMaps/7A5467957F55B057D55A47B915FA0EF7.symbolMap
usr/local/lib/rstudio/SOURCE
usr/local/lib/rstudio/NOTICE
usr/local/lib/rstudio/COPYING
usr/local/lib/rstudio/INSTALL
usr/local/lib/rstudio/README.md
Last edited by BroX; 05-03-2012 at 04:07 PM.
|
|
|
05-04-2012, 09:55 AM
|
#11
|
Member
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 826
|
Quote:
Originally Posted by BroX
Since the errors are related to R, I am guessing that you have R installed with static libraries.
If you install R (latest version 2.15.0) using SBopkg then shared libraries will be enabled by default. Otherwise you should recompile R with ./configure --enable-R-shlibs
Hope this helps.
|
Yes, you was right. When installing via SBopkg it worked, thank you for your help! Ha en trevlig helg, nu ska jag hem och dricka lite bärs!
Last edited by Bindestreck; 05-04-2012 at 10:21 AM.
|
|
|
05-04-2012, 10:35 AM
|
#12
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Glad that you got it working. Thanks for the feedback!
MvH!
|
|
|
05-14-2012, 01:57 PM
|
#13
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Updated slackbuild script for release version rstudio-0.96, which needs installation of Mathjax as a dependency.
rstudio.Slackbuild:
Code:
#!/bin/sh -e
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012 Eric Hameleers, Eindhoven, Netherlands
# Copyright 2012 Leon Brokken <leon.brokken@med.lu.se>
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Leon Brokken <leon.brokken@med.lu.se>
# For: rstudio
# Descr: RStudio is an IDE for R
# URL: http://rstudio.org/
# Needs: apache-ant, openjdk
# R-2.11.1 built with shared libraries (configure with --enable-R-shlib)
# CMake-2.6, Pango-1.14, Boost-1.42, Qt-4.8
# Changelog:
# 0.96.111-1: 02/May/2012 by Leon Brokken <leon.brokken@med.lu.se>
# * Initial build.
# 0.96: 14/May/2012 by Leon Brokken <leon.brokken@med.lu.se>
# * added install of dependency Mathjax
#
# Run 'sh rstudio.SlackBuild' to build a Slackware package.
# The package (.tgz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------
# Set initial variables:
PRGNAM=rstudio
VERSION=${VERSION:-0.96}
BUILD=${BUILD:-1}
# 'make' can run jobs in parallel for added speed. The number should be higher
# than the number of cores/virtual CPU's in your system:
NUMJOBS=${NUMJOBS:" -j4 "}
# The TAG is a unique identifier for all your Slackware packages.
# Use your initials as the value for TAG for instance.
TAG=${TAG:-_ljs}
# This covers most filenames you'd want as documentation. Change if needed.
DOCS="COPYING README*"
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Input URL: https://github.com/rstudio/rstudio/zipball/master
SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.zip"
SRCURL="https://github.com/${PRGNAM}/${PRGNAM}/zipball/master"
##
## --- with a little luck, you won't have to edit below this point --- ##
##
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
case "$ARCH" in
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
x86_64) SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
;;
*) SLKCFLAGS="-O2"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
esac
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
# remove old log files
# Source file availability:
if ! [ -f ${SOURCE} ]; then
echo "Source '$(basename ${SOURCE})' not available yet..."
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
if ! [ "x${SRCURL}" == "x" ]; then
echo "Will download file to $(dirname $SOURCE)"
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
exit 1
fi
else
echo "File '$(basename ${SOURCE})' not available... aborting the build."
exit 1
fi
fi
if [ "$P1" == "--download" ]; then
echo "Download complete."
exit 0
fi
# --- PACKAGE BUILDING ---
echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"
# Explode the package framework:
if [ -f $SRCDIR/_$PRGNAM.tar.gz ]; then
cd $PKG
explodepkg $SRCDIR/_$PRGNAM.tar.gz
cd -
fi
cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
if $(file ${SOURCE} | grep -qi ": 7-zip"); then
7za x ${SOURCE}
elif $(file ${SOURCE} | grep -qi ": zip"); then
unzip ${SOURCE}
else
tar -xvf ${SOURCE}
fi
# extracted sources have random 'version' number
cd `echo ${PRGNAM}-*`
chown -R root:root .
chmod -R u+w,go+r-w,a+X-s .
# additional files need to be downloaded
cd dependencies/common
./install-dictionaries
./install-gwt
./install-mathjax
# ./install-boost # already installed as part of Slackware
cd -
echo Building ...
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr/local/lib/rstudio \
-DRSTUDIO_TARGET=Desktop \
-DCMAKE_BUILD_TYPE=Release \
..
# Following variables are not used during generation of Makefile
# -DMAN_INSTALL_DIR=/usr/man \
# -DSYSCONF_INSTALL_DIR=/etc \
# -DLIB_SUFFIX=${LIBDIRSUFFIX} \
# make $NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
make DESTDIR=$PKG install 2>&1 | tee $OUTPUT/install-${PRGNAM}.log
cd -
# Add this to the doinst.sh:
mkdir -p $PKG/install
cat <<EOINS >> $PKG/install/doinst.sh
# Update the desktop database:
if [ -x usr/bin/update-desktop-database ]; then
chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null 2>&1
fi
# Update hicolor theme cache:
if [ -d usr/share/icons/hicolor ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
fi
# Update the mime database:
if [ -x usr/bin/update-mime-database ]; then
chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
# Add symbolic links:
cd /usr/local/bin ; rm -rf rstudio
cd /usr/local/bin ; ln -sf /usr/local/lib/rstudio/bin/rstudio rstudio
EOINS
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Compress the man page(s):
if [ -d $PKG/usr/man ]; then
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
# Compress info pages and remove the package's dir file:
if [ -d $PKG/usr/info ]; then
rm -f $PKG/usr/info/dir
gzip -9f $PKG/usr/info/*.info*
# If any info files are present, consider adding this to a doinst.sh:
# chroot . install-info /usr/info/XXXXX.info.gz /usr/info/dir 2> /dev/null
fi
# Strip binaries (if any):
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
if [ -f $SRCDIR/doinst.sh ]; then
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
fi
# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}
|
|
1 members found this post helpful.
|
07-06-2012, 06:24 PM
|
#14
|
Member
Registered: Oct 2003
Location: Sweden
Distribution: Slackware64-current, SlackwareARM-15.0
Posts: 833
Original Poster
Rep:
|
Tip: easiest way to update rstudio to the latest version is to provide VERSION=x.y.z when executing the Slackbuild script.
But note that this will not check the version number, it simply retrieves the latest zip file from git and appends the version number you provide:
Code:
# VERSION=0.97.11 ./rstudio.Slackbuild
Source 'rstudio-0.97.11.zip' not available yet...
Will download file to /home/leon/build/slackbuilds/rstudio
2012-07-06 23:48:31 URL:https://nodeload.github.com/rstudio/rstudio/zipball/master [14172429/14172429] -> "/home/leon/build/slackbuilds/rstudio/rstudio-0.97.11.zip"
...
|
|
1 members found this post helpful.
|
07-07-2012, 01:33 PM
|
#15
|
Member
Registered: Aug 2008
Location: Italy
Distribution: Slackware 13.0
Posts: 34
Rep:
|
Thanks!
I tried the slackbuild and it works.
I cloned rstudio directly with "git clone" because there was a problem downloading the zip file, due to github.
|
|
|
All times are GMT -5. The time now is 12:12 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|