`
hdwangyi
  • 浏览: 183236 次
社区版块
存档分类
最新评论

树莓派8G版使用感受及编译R的源代码

阅读更多
    这周入手了一个8G内存的树莓派4B,卖家已经在随赠的SD卡中烧录了最新的官方系统,虽然是32位的,但也可以认出8G内存。官方这个系统架构属于ARMHF。
    这个预装的系统应该是树莓派官网中带有常用软件的版本,里面包含了Open JDK11、Scratch、Python、BlueJ还有LibreOffice等系列软件。因为目前常用的Java版本为1.8,所以又从Oracle官网下载了JDK1.8,还装了NetBeans12.2。在使用了一段时间之后,感觉这个卡片机还是挺不错的。
    首先,如果在树莓派中单纯使用命令行,速度可以说让人非常满意,包括通过apt-get安装各种软件、编译程序、都能作为学习Linux的一个好的环境。其次,使用浏览器和系统自带的其他一些图形用户界面的程序,比如Office系列,也还不错,不算太卡,处于基本可用状态。再次,使用一些资源占用大的IDE时,有些略显吃力,比如NetBeans这样的Java IDE,用系统自带的Open JDK11就有些慢;换了Oracle的JDK1.8要好不少,基本上也处于可用状态。
     官方系统的图形界面还是有些bug,有时在配置时会发生界面卡死的现象。比如,在安装ibus输入法后,一启动ibus服务就会导致任务栏卡死。建议使用如下的命令安装fcitx及其拼音输入法,这个输入法没有什么问题,可以配置所需的中文输入法。
sudo apt-get install fcitx fcitx-pinyin fcitx-sunpinyin

     我买的树莓派带有官方的外壳,另外卖家送了三个散热片,日常使用CPU的温度在60-80度之间,浏览国内网站有时会升的更高,摸摸外壳还是有些烫,不过似乎也还可以。准备换带风扇的亚力克透明外壳试试。在某宝下了单,顺带还买了个VGA转接线,壳子带风扇的价格是17.5,转接线15,都包邮,等到货试试。
     最近从事R的应用开发,所以想试试R的安装。一开始在"Preferences->Add/Remove Software"里面没有看到有R,实际上这个官方系统里面是带有R源的,使用apt-get就可以直接安装:
sudo apt-get install r-base

   利用R源代码编译和安装R虽然略显麻烦一些,但也有很多好处,一是通过编译过程,可以确保后期一些包的安装和使用出现的问题较少,二是可以定制很多安装的选项。在R的官网可以下载4.03版本的源代码,编译源代码和安装R要经历三个步骤:
(1)利用下载的configure脚本配置并检查编译环境
(2)使用make做编译
(3)使用make install将编译好的程序安装到指定的目录。
    在编译和安装源代码之前,最为重要的就是要先通过apt-get命令安装编译所需的一些软件包。这些软件不仅会应用于R自身的安装,而且也可能会应用在R包的安装和使用当中。树莓派默认的系统中只含有gcc,缺乏fortan编译器。另外,编译时还必须安装的软件包括readline、curl、bzip2、lzma、PCRE2。这些软件除去fortan编译器之外都需要头文件和源代码,要安装其包含源文件的dev软件包:
sudo apt-get install gfortan
sudo apt-get install libreadline-dev
sudo apt-get install librust-bzip2-dev liblzma-dev
sudo apt-get install libpcre2-dev 
sudo apt-get install libcurl4-openssl-dev

     在安装fortan编译器时,注意一定要安装gfortan,不要安装fort77,否则会造成编译.f文件时的语法错误。
    如果仅安装了上述必备软件,可能会有一些R功能选项没有激活。比如,JPEG图像、TIFF图像、ICU处理,还有就是不能为编译过程生成所需的HTML帮助文件及PDF文件。JPEG和TIFF图像功能需要安装对应的JPEG和TIFF开发库,ICU需要安装和ICU开发库及工具包。生成HTML和PDF文件则需要安装texinfo、latex及latex依赖的texlive附带的推荐字体文件。另外为了能够得到更好的性能和字符串处理,最好也把PERL的正则表达式3支持包、XML、高性能线性计算开发包blas和lapack也一并安装。最后,为了便于在R中的图形界面处理和生成,最好还要安装tck/tk、xml2、magick++、opengl/glu的开发包。
sudo apt-get install icu-devtools libicu-dev  libjpeg-dev libtiff-dev 
sudo apt-get install libpcre3-dev libblas-dev liblapack-dev  
sudo apt-get install texinfo 
sudo apt-get install texlive-latex-base  texlive-fonts-recommended
sudo apt-get install tcl-dev tk-dev libxml2-dev libmagick++-dev
sudo apt-get install libglu-dev

    在安装完上述软件后,就可以进行源代码的编译了。通过命令行,利用cd命令进入到下载解压的源代码所在的文件夹,首先通过执行当前目录中的configure脚本指定安装目录为/usr/local/R/4.0.3,编译选项采用了激活R的内存管理选项;然后再利用make和make install进行编译和安装:
./configure --prefix=/usr/local/R/4.0.3  --enable-memory-profiling
make
make install

    这一过程中,make编译花的时间比较长,在我的8G树莓派中,大约需要30分钟左右的时间,期间CPU温度升高接近80度。估计使用风扇会因为降温从而提高编译速度。准备等新壳子到了后,再通过编译R的3.6.3版本测试速度有无提高。另外还准备安装尝试其他64位的Linux ARM版本。
    这篇文章通过在树莓派上用其自带的Chromium浏览器编写,总的感觉还是比较满意的。
分享到:
评论

相关推荐

    交叉编译qt库并在树莓派上运行qt程序

    这个编译器能够将代码编译为ARM架构的机器码,适合在树莓派(使用ARM Cortex-A53内核的3B+模型)上运行。 3. **Qt源码编译**:为了构建适合树莓派的Qt库,我们需要获取Qt的源码,如`qt-everywhere-opensource-src-...

    树莓派4B(32Bit)编译的ffmpeg+x264库

    树莓派4B(32Bit)编译的ffmpeg+x264库,在树莓派上可直接使用。截止2020-05-14 最新的版本。博客地址:https://blog.csdn.net/xiaolong1126626497/article/details/106112203

    VB反编译程序源代码

    VB反编译程序源代码是针对使用Visual Basic (VB)编程语言编写的程序进行逆向工程的工具。在软件开发中,源代码是程序员编写的应用程序的原始代码,而反编译则是将已编译的可执行文件转换回源代码的过程。这在调试、...

    eclipse 反编译class源代码

    然而,有时我们可能需要查看已编译的.class文件的源代码,例如当我们处理一个第三方库而没有源码时。在这种情况下,Eclipse的反编译功能就显得尤为重要。本文将详细探讨如何在Eclipse中反编译.class文件以获取源代码...

    树莓派官方交叉编译器

    然后,开发者可以使用这些工具来编译源代码,生成可在树莓派上运行的二进制文件。例如,你可以用`arm-bcm2708hardfp-linux-gnueabi-gcc`命令来编译C代码,`arm-bcm2708hardfp-linux-gnueabi-g++`来编译C++代码。 在...

    Apk 反编译成Java源代码工具

    在Android世界里,APK中的代码主要以Dalvik字节码(.dex)的形式存在,因此反编译APK通常涉及到两个主要步骤:将.dex文件转换为.java源代码,然后使用Java源代码阅读器来查看结果。 1. **dex2jar工具**:这是反编译...

    反编译工具dnSpy 源代码

    - **Decompiler**:反编译模块,负责将IL代码转化为C#或其他语言的源代码。 - **Debugger**:调试模块,实现了.NET程序的调试功能,包括断点、单步执行、查看变量等。 - **GUI**:图形用户界面,提供友好的交互体验...

    编译原理(PL0编译程序源代码).pdf

    编译原理是计算机科学的一个分支,主要研究如何将高级语言编写的源代码转换成机器语言。编译器的设计与实现是编译原理的核心内容,它包括多个阶段,如词法分析、语法分析、语义分析、中间代码生成、代码优化和目标...

    VB反编译软件+源代码

    VB反编译软件是一种用于查看和理解Visual Basic (VB)编写的程序二进制代码的工具,它能够将已编译的VB程序还原为源代码形式。VB编程语言是Microsoft在1990年代推出的一种面向对象的编程语言,以其易学易用的特点受到...

    树莓派仪表盘源代码

    3. **源代码(Source Code)**:源代码是程序员用编程语言编写的原始程序,它可被编译或解释为可执行文件。对树莓派仪表盘的源代码进行修改,可以自定义显示内容,调整布局,或者添加新的功能。 4. **GitHub**:...

    java反编译(附源代码)

    Java反编译是Java开发中一个重要的技术领域,它涉及到对已编译的Java字节码(.class文件)进行逆向工程,以获取接近原始的源代码。这对于理解库函数、研究开源软件或者调试不可获得源代码的二进制程序非常有用。本文...

    JAVA源代码反编译.rar

    Java源代码反编译是一个对已编译的Java字节码(.class文件)进行逆向工程处理,以恢复接近原始的Java源代码的过程。这个过程通常由开发者在没有源代码但有二进制类文件的情况下进行,以便理解或修改现有程序的行为。在...

    C#编写的编译原理上机源代码

    本资源是一组使用C#编写的编译原理上机实践源代码,涵盖了词法分析、语法分析和语义分析三个关键阶段。通过学习和理解这些源代码,开发者可以深入理解编译器的工作机制,提高编程技能和优化代码的能力。 首先,我们...

    Java源代码反编译专家

    "小颖Java源代码反编译专家 V1.4终极版"可能是这个工具的特定版本,它可能包含了一些增强的功能,比如更好的代码恢复能力、更友好的用户界面或者对最新Java版本的支持。这个版本的命名暗示了它可能是一个经过多次...

    小颖Java源代码反编译专家 V1.4终极版.rar

    Java源代码反编译是将已编译的Java字节码(.class文件)转换回可读的Java源代码(.java文件)的过程。这个过程对于理解已加密或混淆的代码、学习第三方库的工作原理或者在没有源代码的情况下进行调试非常有用。"小颖Java...

    Qt Creator 5.0 官方源代码编译版本

    **Qt Creator 5.0 官方源代码编译版本** Qt Creator是一款强大的跨平台集成开发环境(IDE),专门用于开发使用Qt库的应用程序。它提供了直观的界面、高效的项目管理、代码编辑器、调试工具以及版本控制系统集成,极...

    树莓派下编译seafile文档

    由于`apt-get`无法找到libevent2库,需要从源代码安装: 1. 安装OpenSSL作为依赖: ```bash sudo apt-get install openssl ``` 2. 下载并编译libevent2库: ```bash git clone ...

    VB反编译工具源代码

    VB反编译工具源代码是针对使用Visual Basic (VB)编程语言编译的.EXE程序进行逆向工程的工具。这种工具的主要目的是帮助开发者或安全研究人员理解VB编译后的二进制代码,以便于调试、分析或者恢复丢失的源代码。在IT...

    反编译出来的京东App源代码,内容全,仅供学习参考

    在IT行业中,反编译是将已编译的二进制程序转换回源代码的过程,目的是为了理解其工作原理或进行逆向工程。本资源是一个关于京东App的反编译结果,提供了对这款流行电子商务应用的内部机制一窥究竟的机会。这个...

    小颖Java源代码反编译超级引挚V1.4版

    【小颖Java源代码反编译超级引挚V1.4版】是一款专门针对Java源代码的反编译工具,其主要功能是将已编译的Java字节码(.class文件)转换回人类可读的Java源代码(.java文件)。在软件开发过程中,有时我们可能需要...

Global site tag (gtag.js) - Google Analytics