It would be nice though, if the AUR did this automatically.
]]>There is no ";" in it?
`CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe`
However, now that it compiles and installs, there is no menu item for it, synapse doesn't find it, searching in Gnome-shell doesn't find it.
]]>I'm having issues getting this to compile, it gets to 81% and stops with an error message about ld?
[ 81%] Building CXX object src/cpp/desktop/CMakeFiles/rstudio.dir/qrc_desktop.cxx.o Linking CXX executable rstudio /usr/bin/ld: unrecognized option '--as-needed;-Wl' /usr/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status make[2]: *** [src/cpp/desktop/rstudio] Error 1 make[1]: *** [src/cpp/desktop/CMakeFiles/rstudio.dir/all] Error 2 make: *** [all] Error 2 ==> ERROR: A failure occurred in package(). Aborting...
Since I never got a response here, I asked the rstudio developers.
They made a suggestion, but it didn't work and suggested that I'd have to ask someone who was more familiar with Arch.
Anyone? This is really frustrating as I depend on R for my work and have been using RStudio since it was introduced.
]]>[ 81%] Building CXX object src/cpp/desktop/CMakeFiles/rstudio.dir/qrc_desktop.cxx.o
Linking CXX executable rstudio
/usr/bin/ld: unrecognized option '--as-needed;-Wl'
/usr/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
make[2]: *** [src/cpp/desktop/rstudio] Error 1
make[1]: *** [src/cpp/desktop/CMakeFiles/rstudio.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: A failure occurred in package().
Aborting...
export ANT_HOME=/usr/share/java/apache-ant
export PATH=$PATH:$ANT_HOME/bin
That file is sourced when you login, and when that happens, ant gets added to your path. The problem people are having is that if you install ant with pacman, this file will not be sourced until the next time you login.
So what happens is someone tries to build RStudio, apache-ant package gets installed as a dependency, and then the build of RStudio starts. Since this person has not logged back in since they installed ant, ant is now not on their PATH. If they log out and log back in, ant will be on their path. I suppose they could also run
source /etc/profile.d/apache-ant.sh
and that will fix it without logging out and logging back in.
Edit: A similar thing happens with the Java packages. They also need to set the JAVA_HOME environment variable and do so via scripts in /etc/profile.d that are automatically run on login. The openjdk6 package puts its executable in a location that should already be on people's path (/usr/bin), but it sets the JAVA_HOME environment variable in a /etc/profile.d script. The jdk package needs to set JAVA_HOME and modify the PATH in a /etc/profile.d script.
BTW Ben, check out the dependencies on my rstudio-desktop-git package on the AUR, I think they are much improved from the ones I listed in this thread a while back.
]]>Hi
im a neewb trying to install r-studio. i get this error :
-> Extracting v0.93.35 with bsdtar
==> Starting build()...
which: no ant in (/home/zeltak/bin/scrot:/home/zeltak/bin:/home/zeltak/bin/scrot:/home/zeltak/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/lib/perl5/site_perl/bin:/usr/bin/vendor_perl:/usr/lib/perl5/vendor_perl/bin:/usr/bin/core_perl)
Aborting...
The build failed
is there someway to fix it?
thx
Z.
I thought that maybe that this was because ant wasn't in the path - referring to the fact the script no longer does the linking of ant any-more, because it's bad practice. Although I've always been a bit confused about the path, as windows has spoiled me with the control panel window for simply adding things to the PATH system variables. I've read people adding things to path I think using bash_profile and bashrc, but that's never explained to me how some things when installed - like R from the package manager for instance, they are already in the path as they run from terminal, presumably because of the file in usr/bin, additionally the profile file is used for path variables, and I understand there can be differences between bash and sh for example, and it even changes for su. Anyway I just thought to ask whether my hunch was correct, and how might be the 'best' way to add ant to the path, for people who don't already know, or people like me, who kinda know but aren't too clear.
Cheers,
Ben W.
Does anybody know why I get this error
Well that is the same error I got in this post: https://bbs.archlinux.org/viewtopic.php … 70#p899070 when I tried to remove the Qt SDK and do the build without it. That was before the devs patched the build so it could use an existing installation of Qt. So if you are building against an older version you will get that error if you don't have the Qt SDK installed via the install_qt_sdk script. If you are building against a newer version of rstudio and have Qt installed, I don't know why you would get that error.
]]>-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.46.0
-- Found the following Boost libraries:
-- date_time
-- filesystem
-- iostreams
-- program_options
-- regex
-- signals
-- system
-- thread
-- Found LibR: /usr/lib/R
-- Performing Test LIBR_MINIMUM_VERSION
-- Performing Test LIBR_MINIMUM_VERSION - Success
-- Looking for SA_NOCLDWAIT
-- Looking for SA_NOCLDWAIT - found
-- Looking for inotify_init1
-- Looking for inotify_init1 - found
-- Looking for SO_PEERCRED
-- Looking for SO_PEERCRED - found
-- Looking for getpeereid
-- Looking for getpeereid - not found
-- checking for module 'pangocairo>=1.14'
-- found pangocairo, version 1.28.3
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1096 (MESSAGE):
Qt libraries, includes, moc, uic or/and rcc NOT found!
Call Stack (most recent call first):
src/cpp/desktop/CMakeLists.txt:17 (find_package)
-- Configuring incomplete, errors occurred!
Aborting...
This led me to believe that the only thing the Qt SDK was used for during the build was to copy these files into the rstudio bin directory, so we should have been able to alter the build to not bother copying these files over.
BUT the RStudio devs just streamlined the build process nicely and you no longer need the Qt SDK I updated rstudio-desktop-git package to reflect the new process.
]]>kljohann wrote:I think this huge sdk download is not necessary at all since all this is included in the 'qt' package. I will try to throw together a PKGBUILD (although testing and building will very likely take ages on my netbook).
I think this is true, but the make process is not finding the necessary Qt libs during the build for some reason. It would be very nice to get rid of the qt sdk dependency.
So I've looked more deeply into this issue. The libraries are indeed in the qt package already, but the way it builds right now, RStudio gets a copy of those libraries and puts them in it's own bin directory and then uses the RPATH to specify those as the libs to use (as you can see in the output of namcap in my previous post).
The output of ldd shows this as several libraries are located in /opt/rstudio/bin :
> ldd ./rstudio
linux-vdso.so.1 => (0x00007fff167ff000)
libQtWebKit.so.4 => /opt/rstudio/bin/libQtWebKit.so.4 (0x00007fb1adaf7000)
libQtGui.so.4 => /opt/rstudio/bin/libQtGui.so.4 (0x00007fb1acd32000)
libQtXmlPatterns.so.4 => /usr/lib/libQtXmlPatterns.so.4 (0x00007fb1ac6ca000)
libQtNetwork.so.4 => /opt/rstudio/bin/libQtNetwork.so.4 (0x00007fb1ac382000)
libQtCore.so.4 => /opt/rstudio/bin/libQtCore.so.4 (0x00007fb1abe9c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fb1abc7f000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007fb1aba7b000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fb1ab863000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fb1ab559000)
libm.so.6 => /lib/libm.so.6 (0x00007fb1ab2d6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fb1ab0c0000)
libc.so.6 => /lib/libc.so.6 (0x00007fb1aad5f000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007fb1aab55000)
libphonon.so.4 => /opt/rstudio/bin/libphonon.so.4 (0x00007fb1aa8f5000)
libQtDBus.so.4 => /opt/rstudio/bin/libQtDBus.so.4 (0x00007fb1aa66a000)
libQtXml.so.4 => /opt/rstudio/bin/libQtXml.so.4 (0x00007fb1aa41e000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fb1aa1ea000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fb1a9f51000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fb1a9d3f000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fb1a9a01000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007fb1a97fd000)
librt.so.1 => /lib/librt.so.1 (0x00007fb1a95f5000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fb1a930e000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fb1a90bf000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007fb1a8eb8000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007fb1a8c9d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fb1a8a99000)
/lib/ld-linux-x86-64.so.2 (0x00007fb1af2cb000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fb1a8870000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fb1a8655000)
libpcre.so.0 => /lib/libpcre.so.0 (0x00007fb1a841a000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fb1a8218000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fb1a8013000)
Since the libraries already exist on the system in the standard places, I tried simply removing the libraries that the make process had put in /opt/rstudio/bin. This is the result of running ldd after removing them:
> ldd ./rstudio
linux-vdso.so.1 => (0x00007ffff65ff000)
libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0x00007ff330c7b000)
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007ff32ffe5000)
libQtXmlPatterns.so.4 => /usr/lib/libQtXmlPatterns.so.4 (0x00007ff32f97d000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00007ff32f655000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007ff32f1c4000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007ff32efa7000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007ff32eda3000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007ff32eb8b000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff32e881000)
libm.so.6 => /lib/libm.so.6 (0x00007ff32e5fe000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007ff32e3e8000)
libc.so.6 => /lib/libc.so.6 (0x00007ff32e087000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007ff32de7d000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007ff32dbe2000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007ff32d8a4000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007ff32d5bd000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0x00007ff32d394000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007ff32d0fb000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007ff32ceac000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007ff32cca5000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007ff32ca8a000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007ff32c856000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007ff32c644000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007ff32c3e8000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007ff32c02c000)
libdl.so.2 => /lib/libdl.so.2 (0x00007ff32be28000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007ff32bc24000)
librt.so.1 => /lib/librt.so.1 (0x00007ff32ba1c000)
/lib/ld-linux-x86-64.so.2 (0x00007ff33237f000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007ff32b801000)
libpcre.so.0 => /lib/libpcre.so.0 (0x00007ff32b5c6000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007ff32b39d000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007ff32b19b000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007ff32af96000)
So the executable was now able to find all the libraries it needed in /usr/lib instead of in rstudio's directory. The executable also ran fine after this change, so we don't need the build process to create those libraries in /opt/rstudio/bin and we don't need to set the RPATH to /opt/rstudio/bin either.
tl;dr we should be able to patch the build to remove the libraries in /opt/rstudio/bin so that standard system libraries are used. This would remove the huge Qt SDK download and install from the PKGBUILD.
]]>