QT Arm Linux 面向搜索引擎编程 新手入门 问题一览
张静茹 2019-8-16Linux

ARM 4418 开发板 使用 Ubuntu Mate系统

apt-get update 无法更新 安装软件 挂代理无效


更改/etc/apt/sources.list 

## Note, this file is written by cloud-init on first boot of an instance 
## modifications made here will not survive a re-bundle. 
## if you wish to make changes you can: 
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg 
##     or do the same in user-data 
## b.) add sources in /etc/apt/sources.list.d 
## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to 
# newer versions of the distribution. 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial main restricted 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial main restricted


## Major bug fix updates produced after the final release of the 
## distribution. 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates main restricted 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates main restricted 

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team. Also, please note that software in universe WILL NOT receive any 
## review or updates from the Ubuntu security team. 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates universe



## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu 
## security team. 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial multiverse 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-updates multiverse



## N.B. software from this repository may not have been tested as 
## extensively as that contained in the main release, although it includes 
## newer versions of some applications which may provide useful features. 
## Also, please note that software in backports WILL NOT receive any review 
## or updates from the Ubuntu security team. 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-backports main restricted universe multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-backports main restricted universe multiverse 

deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security main restricted 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security main restricted 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports xenial-security multiverse 

## Uncomment the following two lines to add software from Canonical's 
## 'partner' repository. 
## This software is not part of Ubuntu, but is offered by Canonical and the 
## respective vendors as a service to Ubuntu users. 
# deb http://archive.canonical.com/ubuntu xenial partner 
# deb-src http://archive.canonical.com/ubuntu xenial partner


[修改于 3 个月前 - 2019-08-31 17:00:33]

来自 Linux
2019-8-16 16:09:22
张静茹(作者)
1楼

visual studio Linux 开发

新建工程 linux c 工程

添加 远程shh

在开发板中安装 g++ 编译环境

apt install g++


至此vs 可以远程生成了


开始调试

---------------------------

Microsoft Visual Studio

---------------------------

无法启动 gdb。系统中缺少 gdb,需进行安装,请使用系统的包管理器进行安装。


apt install  gdb 



开始调试 产生

Segmentation fault 


项目->属性->配置类型->改为"应用程序"



shows "Loading symbols for module /lib/ld-linux-armhf.so.3" and never finishes loading 

解决方法:

Run "sudo apt-get install gdbserver" and change Debugging Mode to "gdbserver" in Visual Studio. You can find the Debugging Mode setting in Right Click on Project > Properties > Debugging

只需要 改Debugging Mode to "gdbserver 即可

https://stackoverflow.com/questions/48394945/remote-debugging-on-raspberry




至此 VS 可以正常调试了


image.png








[修改于 3 个月前 - 2019-08-16 16:59:45]

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-21 14:34:47
2019-8-21 14:34:47
张静茹(作者)
2楼

image.png

VisualGDB 编译调试QT

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-22 09:36:07
张静茹(作者)
3楼

 apt-get install qtbase5-dev qt5-default libqt5gui5 libqt5network5 libqt5printsupport5 libqt5widgets5 libqt5opengl5-dev libproxy1v5 libdevmapper1.02.1 watershed


arm开发板安装 qt开发环境


两个开发板的问题不一样,第二张3399开发板依然安装失败


最后好像是挂代理安装好的


只需要 apt-get install qtbase5-dev




2019-09-08 

apt-get install qtbase5-dev qt5-default libqt5gui5 libqt5network5 libqt5printsupport5 libqt5widgets5 libqt5opengl5-dev libproxy1v5 libdevmapper1.02.1 watershed  libgles2-mesa-dev libegl1-mesa-dev qtbase5-dev-tools update-inetd libmirclient-dev libmircommon-dev libprotobuf-dev libprotobuf9v5


apt-get install qtbase5-dev qt5-default libqt5gui5 libqt5network5 libqt5printsupport5 libqt5widgets5 libqt5opengl5-dev libproxy1v5 libdevmapper1.02.1 watershed libgles2-mesa-dev qtbase5-dev-tools libegl1-mesa-dev update-inetd libmirclient-dev libmircommon-dev libprotobuf-dev libprotobuf9v5

才安装成功


apt-get install qtbase5-dev 5.9 

可以指定版本




 又出现了 下面的问题

[修改于 10 天前 - 2019-11-09 23:22:54]

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-24 18:37:02
2019-8-24 18:37:02
4楼

茄子nb

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
5楼

root@firefly:~# apt-get install gdb

Reading package lists... Done

Building dependency tree       

Reading state information... Done

You might want to run 'apt --fix-broken install' to correct these.

The following packages have unmet dependencies:

 gdb : Depends: libbabeltrace1 (>= 1.2.1) but it is not going to be installed

       Recommends: libc-dbg

       Recommends: gdbserver but it is not going to be installed

 libgl1-mesa-dev : Depends: mesa-common-dev (= 19.0.8-0ubuntu0~18.04.1) but 18.2.8-0ubuntu0~18.04.2 is to be installed

                   Depends: libglvnd-dev but it is not going to be installed

E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

root@firefly:~# apt --fix-broken install

Reading package lists... Done

Building dependency tree       

Reading state information... Done

Correcting dependencies... Done

The following additional packages will be installed:

  libglvnd-dev mesa-common-dev

The following NEW packages will be installed:

  libglvnd-dev

The following packages will be upgraded:

  mesa-common-dev

1 upgraded, 1 newly installed, 0 to remove and 191 not upgraded.

36 not fully installed or removed.

Need to get 0 B/606 kB of archives.

After this operation, 279 kB of additional disk space will be used.

Do you want to continue? [Y/n] Y

(Reading database ... 106038 files and directories currently installed.)

Preparing to unpack .../mesa-common-dev_19.0.8-0ubuntu0~18.04.1_arm64.deb ...

Unpacking mesa-common-dev:arm64 (19.0.8-0ubuntu0~18.04.1) over (18.2.8-0ubuntu0~18.04.2) ...

dpkg: error processing archive /var/cache/apt/archives/mesa-common-dev_19.0.8-0ubuntu0~18.04.1_arm64.deb (--unpack):

 trying to overwrite '/usr/include/KHR/khrplatform.h', which is also in package libmali-rk-dev:arm64 1.6-1

dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

Preparing to unpack .../libglvnd-dev_1.0.0-2ubuntu2.3_arm64.deb ...

Unpacking libglvnd-dev:arm64 (1.0.0-2ubuntu2.3) ...

dpkg: error processing archive /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.3_arm64.deb (--unpack):

 trying to overwrite '/usr/lib/aarch64-linux-gnu/libEGL.so', which is also in package rockchip-mali-midgard14 1.6-1

Errors were encountered while processing:

 /var/cache/apt/archives/mesa-common-dev_19.0.8-0ubuntu0~18.04.1_arm64.deb

 /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.3_arm64.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

root@firefly:~# 





dpkg: error processing archive /var/cache/apt/archives/mesa-common-dev_19.0.8-0ubuntu0~18.04.1_arm64.deb (--unpack):

 trying to overwrite '/usr/include/KHR/khrplatform.h', which is also in package libmali-rk-dev:arm64 1.6-1

dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

You might want to run 'apt --fix-broken install' to correct these.

解决方法 

删除 /var/lib/dpkg/info 内的所有文件 重新执行apt --fix-broken install

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-25 13:06:35
张静茹(作者)
6楼

VisualGDB 创建的Qt工程 好像默认不支持Qml QT Quike

QQmlApplicationEngine 头文件找不到

Arm Linux 中找不到这个头文件


编辑D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.pro

QT       += core gui 

改为 

QT       += quick

报错 Unknown module(s) in QT: quick


解决方法

https://blog.csdn.net/hhhlizhao/article/details/73604445

apt-get install qtdeclarative5-dev

https://packages.debian.org/buster/qtdeclarative5-dev

https://packages.debian.org/buster/libqt5qml5

[修改于 3 个月前 - 2019-08-25 13:50:48]

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
7楼

undefined reference to `QQmlApplicationEngine::QQmlApplicationEngine(QObject*)' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 10

undefined reference to `QQmlApplicationEngine::objectCreated(QObject*, QUrl const&)' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 12

undefined reference to `QQmlApplicationEngine::objectCreated(QObject*, QUrl const&)' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 12

undefined reference to `QQmlApplicationEngine::load(QUrl const&)' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 20

undefined reference to `QQmlApplicationEngine::~QQmlApplicationEngine()' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 10

undefined reference to `QQmlApplicationEngine::~QQmlApplicationEngine()' LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\LinuxProject1.cpp 10

undefined reference to `QQmlApplicationEngine::staticMetaObject' LinuxProject1 C:\Users\Game\AppData\Local\VisualGDB\RemoteSourceCache\192.168.1.104\0000\include\aarch64-linux-gnu\qt5\QtCore\qobject.h 339

undefined reference to `QQmlApplicationEngine::staticMetaObject' LinuxProject1 C:\Users\Game\AppData\Local\VisualGDB\RemoteSourceCache\192.168.1.104\0000\include\aarch64-linux-gnu\qt5\QtCore\qobject.h 339

ld returned 1 exit status LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\collect2 1

Command-line action failed LinuxProject1 D:\Project\QT\LinuxProject1\LinuxProject1\VisualGDB 1




原因 没有在pro文件指定 QT+=quick 找不到 lib 文件 

[修改于 3 个月前 - 2019-08-30 09:11:18]

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
8楼

root@firefly:/tmp/VisualGDB/d/Project/QT/LinuxProject1/LinuxProject1/Debug# ./LinuxProject1 

QQmlApplicationEngine failed to load component

qrc:/main.qml:1 module "QtQuick" is not installed

qrc:/main.qml:2 module "QtQuick.Window" is not installed

qrc:/main.qml:1 module "QtQuick" is not installed

qrc:/main.qml:2 module "QtQuick.Window" is not installed



https://askubuntu.com/questions/322356/qtquick-not-found-lubuntu

apt-get qtdeclarative5-qtquick2-plugin





[修改于 3 个月前 - 2019-08-25 23:29:02]

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-31 16:59:31
2019-8-31 16:59:31
张静茹(作者)
9楼

variable `xxx' has initializer but incomplete type

出现这个错误字面意思是变量xxx定义了,但是不完整,

解决方法是,没有找到xxx变量的头文件,包含头文件即可解决

https://blog.csdn.net/weixin_42445727/article/details/82594215

折叠评论
加载评论中,请稍候...
折叠评论
2019-09-01 16:07:28
张静茹(作者)
10楼

//Using QQmlComponent

//QQmlEngine engine;

//QQmlComponent component(&engine,

// QUrl::fromLocalFile("main.qml"));

//QObject *object = component.create();

// delete object;

//qml 根对象 Window



QQuickView view(QUrl::fromLocalFile("main.qml"));

view.show();

QObject *object = view.rootObject();

//object = view.rootContext();

//qml 根对象 Rectangle 或 Item


       //auto test_txt1 = object->findChild<QObject*>("test_text1");

//test_txt1->setProperty("text", "00000000");



 object->findChild<QObject*>("test_text1"); 返回null

解决方法 qml 中的 控件名要使用 objectName 而不是 id 

Text {

        objectName:"test_text1" // 注意 必须使用 ""

        id: element

        x: 292

        y: 271

        text: qsTr("Text")

        font.pixelSize: 28

    }






折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
11楼

QQuickView view(QUrl::fromLocalFile("main.qml"));

view.show();

QObject *object = view.rootObject();




 view.rootObject(); 返回null

QQuickView qml 根对象 Rectangle 或 Item

折叠评论
加载评论中,请稍候...
折叠评论
2019-09-10 10:42:30
2019-9-10 10:42:30
张静茹(作者)
12楼

使用sd卡的 开发板 烧写镜像后 系统剩余空间 16G的sd卡仅有几百兆 剩余空间

使用 fdisk /dev/mmcblk0 为sd卡 重新分区


root@Ubuntu-mate:~#  fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.25.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.


Command (m for help): p

Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x00098996


Device         Boot  Start      End  Sectors  Size Id Type

/dev/mmcblk0p1        2048   133119   131072   64M 83 Linux

/dev/mmcblk0p2      133120 30000000 29866881 14.2G 83 Linux


输入d 2 删除第二个分区

输入n p 新建主分区 注意 要留个几百兆不要使用 sd卡可能会损坏 做镜像烧新卡的话镜像太慢 有可能 新卡写不进去

输入分区大小

w存盘 reboot重启

启动后 resize2fs  /dev/mmcblk0p2

reboot 再重启一下

[修改于 2 个月前 - 2019-09-10 12:56:16]

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
13楼

这楼的 方法是错误的 删掉了

[修改于 2 个月前 - 2019-09-13 20:34:23]

折叠评论
加载评论中,请稍候...
折叠评论
2019-09-11 13:28:12
张静茹(作者)
14楼

需要安装的软件一览

gdb g++ make proxychina 

折叠评论
加载评论中,请稍候...
折叠评论
2019-09-13 15:23:44
2019-9-13 15:23:44
张静茹(作者)
15楼

> main.cpp:8:19: fatal error: variant: No such file or directory

> compilation terminated.

> Makefile:167: recipe for target 'main.o' failed

> make: *** [main.o] Error 1


安装g ++ - 7; 例如,如果ubuntu

sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y 

sudo apt-get update 

sudo apt-get install g++-7




add-apt-repository: command not found

解决方法

apt-get install software-properties-common python-software-properties



折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
16楼

qt 源码 build 方法

./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -release -opensource -make libs -xplatform linux-g++-32 -optimized-qmake -pch -qt-libjpeg -qt-zlib -no-opengl -skip qt3d -skip qtcanvas3d -skip qtpurchasing -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -skip qtvirtualkeyboard


实际测试:

./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -opensource -no-opengl 

qpaintervideosurface.cpp:67:12: error: invalid use of incomplete type 'class QGLContext'

     context->makeCurrent();




./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -release -opensource -platform linux-g++ -make libs -optimized-qmake -pch -qt-libjpeg -qt-zlib -skip qt3d -skip qtcanvas3d -skip qtpurchasing -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -skip qtvirtualkeyboard

去掉 -opengl 指定 -platform linux-g++



./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -release -opensource -platform linux-g++ 



./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -release -opensource -platform linux-g++ 

 -nomake docs -nomake examples -nomake demos -nomake tests


./configure -prefix /usr/local/Trolltech/Qt-5.12.4-arm/ -release -opensource -platform linux-g++ -nomake examples -nomake tests


交叉编译使用linux-arm-gnueabi-g++ 

make clean 清除编译


debian x86 安装 交叉编译器 apt-get install g++-arm-linux-gnueabihf

config 使用 平台 linux-arm-gnueabihf-g++ 

在 qtbase/mkspecs 中新建 linux-arm-gnueabihf-g++  编辑 qmake.conf 全部编译器改为 linux-arm-gnueabi-g++


查看文件格式 

file sqlite3-shell.o

sqlite3-shell.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped




 The OpenGL functionality tests failed!

解决方法 apt-get install libgl1-mesa-dev libglu1-mesa-dev 

注意 安装完以后 删除全部qt源码重新解压 后 错误才会消失





[修改于 1 个月前 - 2019-10-10 10:38:17]

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
17楼
在编译Qt程序时出现如下报错
Qt error: one or more PCH files were found, but they were invalid

这是因为之前编译过程序,留下一些配置文件导致无法编译,清除之前的编译残留就行了
make distclean


折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
18楼

qt 编译安卓的时候  产生

Command does not exist: C:\Microsoft\AndroidNDK64\android-ndk-r16b/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-strip.exe


更新 ndk 版本就好了

android-ndk-r16b 更新到 android-ndk-r20

折叠评论
加载评论中,请稍候...
折叠评论
2019-09-18 19:13:39
2019-9-18 19:13:39
张静茹(作者)
19楼

linux 挂载移动硬盘

自动挂载到了 /media/fa/新加卷/


cd 不进去中文路径


fdisk -l 查看磁盘设备名




执行 umount /dev/sda1 卸载

mkdir /mnt/usb

mount -t /dev/sda1 /mnt/usb




[修改于 2 个月前 - 2019-09-18 22:02:07]

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-11 11:09:15
2019-10-11 11:09:15
张静茹(作者)
20楼
折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
21楼

Linux下C语言生成可执行文件的过程

在当前目录下创建一个C源文件并打开:

touch test.c
gedit test.c
直接编译:
 gcc test.c -o test

 

分步骤编译:

1) 预处理
    gcc -E test.c -o test.i
在当前目录下会多出一个预处理结果文件 test.i,打开 test.i 可以看到,在 test.c 的基础上把stdio.h和stdlib.h的内容插进去了。

2) 编译为汇编代码
    gcc -S test.i -o test.s
其中-S参数是在编译完成后退出,-o为指定文件名。

3) 汇编为目标文件
    gcc -c test.s -o test.o
.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。

3) 链接并生成可执行文件
    gcc test.o -o test



readelf -h filename

查看可执行文件 elf 格式 arm x86 x64 等

[修改于 1 个月前 - 2019-10-11 14:49:49]

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-14 14:44:50
2019-10-14 14:44:50
张静茹(作者)
22楼

linux 挂载 img 文件

fdisk xxx.img

p

记录你想挂在的分区的start*512


mkdir /mnt/xxxx

mount -o loop,offset=start*512 xxx.img /mnt/xxxx


卸载 umount /mnt/xxxx


fuser -cu /mnt/xxxx

fuser -ck /mnt/xxxx

如果出现目标忙无法卸载

需要杀死占用的进程 卸载


NTFS U盘可能需要

fdisk -l 找到/dev/sd*


 mount -t ntfs /dev/sdb1 /mnt/sdb1

 mount /dev/sdb1 /mnt/sdb1


[修改于 22 天前 - 2019-10-28 09:26:12]

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-18 11:58:58
2019-10-18 11:58:58
张静茹(作者)
23楼

\etc\ld.so.conf

/opt/Qt5.12.4_ARM_Linux/lib


修改 so文件搜索路径后要 ldconfig 刷新

添加 QT lib路径


link /opt/Qt5.12.4_ARM_Linux/lib 中的so文件到 /lib/ 下


ldd 查看 so 和 可执行文件 依赖

ll 软连接



 strings libc.so.6 |grep GLIBC_

搜索libc.so.6文件中 所有包含GLIBC_ 的 string 

[修改于 1 个月前 - 2019-10-19 23:37:19]

折叠评论
加载评论中,请稍候...
折叠评论
张静茹(作者)
24楼

 ldd libQt5Core.so.5

./libQt5Core.so.5: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by ./libQt5Core.so.5)

        libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76af3000)

        libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76ae0000)

        libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x769d2000)

        libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x7695a000)

        libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76932000)

        libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76845000)

        /lib/ld-linux-armhf.so.3 (0x76fcd000)



 ldd libQt5Core.so.5 提示 libc.so.6: version `GLIBC_2.25' not found 

strings /lib64/libc.so.6|grep GLIBC 查看 现在支持的版本

GLIBC_2.2.5

.........

GLIBC_2.15

GLIBC_2.16

GLIBC_2.17

GLIBC_PRIVATE




解决方法

http://ftp.gnu.org/pub/gnu/glibc/ 下载最新版本GLIBC


sudo apt-get install gawk

apt-get install bison


1. tar -xvf  glibc-2.18.tar.gz    解压


4. cd glibc-2.18


5. mkdir build;  


6.  cd build


7. ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include


8. make -j4


9. make install  





实测无用 装完了 系统崩了


[修改于 1 个月前 - 2019-10-22 15:01:02]

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-22 14:58:49
2019-10-22 14:58:49
张静茹(作者)
25楼

错误libGLESv2.so.2:无法打开共享库文件:没有这样的文件或目录 #183

安装libgles2-mesa libgles2-mesa-dev 




Video Acceleration Information (at the end)

Log Messages
[20744: 20744: 0505 / 151840.397379: ERROR: gl_implementation.cc (292)]: Failed to load /usr/lib/chromium/swiftshader/libGLESv2.so: /usr/lib/chromium/swiftshader/libGLESv2.so: Can not open the shared object file: No file or folder of this type
GpuProcessHostUIShim: The GPU process exited with code 1024.

Solution:

find lib with:
ldconfig -p | grep libGLESv2

libGLESv2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv2.so.2
libGLESv2.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv2.so

or with:
locate libGLESv2

/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
/usr/lib/x86_64-linux-gnu/opera/libGLESv2.so
/usr/lib/x86_64-linux-gnu/opera/swiftshader/libGLESv2.so

Verification of the presence of the swiftshader folder
ls /usr/lib/chromium

(if the swiftshader folder does not exist)

sudo mkdir /usr/lib/chromium/swiftshader

then

sudo ln -s /usr/lib/x86_64-linux-gnu/libGLESv2.so /usr/lib/chromium/swiftshader/libGLESv2.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libEGL.so /usr/lib/chromium/swiftshader/libEGL.so

finally

chrome://restart



折叠评论
加载评论中,请稍候...
折叠评论
2019-11-06 21:46:07
2019-11-6 21:46:07
张静茹(作者)
26楼

对比 4418 和 3399 apt 搜索qt 列表给phantom 

确定开发板子是否支持 opengl

[修改于 13 天前 - 2019-11-06 21:46:49]

折叠评论
加载评论中,请稍候...
折叠评论
2019-11-08 09:07:28
2019-11-8 09:07:28
张静茹(作者)
27楼
#!/bin/bash
# 获取要监控的本地服务器IP地址
IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'`
echo "IP地址:"$IP
 
# 获取cpu总核数
cpu_num=`grep -c "model name" /proc/cpuinfo`
echo "cpu总核数:"$cpu_num
 
# 1、获取CPU利用率
################################################
#us 用户空间占用CPU百分比
#sy 内核空间占用CPU百分比
#ni 用户进程空间内改变过优先级的进程占用CPU百分比
#id 空闲CPU百分比
#wa 等待输入输出的CPU时间百分比
#hi 硬件中断
#si 软件中断
#################################################
# 获取用户空间占用CPU百分比
cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"`
echo "用户空间占用CPU百分比:"$cpu_user
 
# 获取内核空间占用CPU百分比
cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"`
echo "内核空间占用CPU百分比:"$cpu_system
 
# 获取空闲CPU百分比
cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"`
echo "空闲CPU百分比:"$cpu_idle
 
# 获取等待输入输出占CPU百分比
cpu_iowait=`top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"`
echo "等待输入输出占CPU百分比:"$cpu_iowait
 
#2、获取CPU上下文切换和中断次数
# 获取CPU中断次数
cpu_interrupt=`vmstat -n 1 1 | sed -n 3p | awk '{print $11}'`
echo "CPU中断次数:"$cpu_interrupt
 
# 获取CPU上下文切换次数
cpu_context_switch=`vmstat -n 1 1 | sed -n 3p | awk '{print $12}'`
echo "CPU上下文切换次数:"$cpu_context_switch
 
#3、获取CPU负载信息
# 获取CPU15分钟前到现在的负载平均值
cpu_load_15min=`uptime | awk '{print $11}' | cut -f 1 -d ','`
echo "CPU 15分钟前到现在的负载平均值:"$cpu_load_15min
 
# 获取CPU5分钟前到现在的负载平均值
cpu_load_5min=`uptime | awk '{print $10}' | cut -f 1 -d ','`
echo "CPU 5分钟前到现在的负载平均值:"$cpu_load_5min
 
# 获取CPU1分钟前到现在的负载平均值
cpu_load_1min=`uptime | awk '{print $9}' | cut -f 1 -d ','`
echo "CPU 1分钟前到现在的负载平均值:"$cpu_load_1min
 
# 获取任务队列(就绪状态等待的进程数)
cpu_task_length=`vmstat -n 1 1 | sed -n 3p | awk '{print $1}'`
echo "CPU任务队列长度:"$cpu_task_length
 
#4、获取内存信息
# 获取物理内存总量
mem_total=`free | grep Mem | awk '{print $2}'`
echo "物理内存总量:"$mem_total
 
# 获取操作系统已使用内存总量
mem_sys_used=`free | grep Mem | awk '{print $3}'`
echo "已使用内存总量(操作系统):"$mem_sys_used
 
# 获取操作系统未使用内存总量
mem_sys_free=`free | grep Mem | awk '{print $4}'`
echo "剩余内存总量(操作系统):"$mem_sys_free
 
# 获取应用程序已使用的内存总量
mem_user_used=`free | sed -n 3p | awk '{print $3}'`
echo "已使用内存总量(应用程序):"$mem_user_used
 
# 获取应用程序未使用内存总量
mem_user_free=`free | sed -n 3p | awk '{print $4}'`
echo "剩余内存总量(应用程序):"$mem_user_free
 
 
# 获取交换分区总大小
mem_swap_total=`free | grep Swap | awk '{print $2}'`
echo "交换分区总大小:"$mem_swap_total
 
# 获取已使用交换分区大小
mem_swap_used=`free | grep Swap | awk '{print $3}'`
echo "已使用交换分区大小:"$mem_swap_used
 
# 获取剩余交换分区大小
mem_swap_free=`free | grep Swap | awk '{print $4}'`
echo "剩余交换分区大小:"$mem_swap_free
 
#5、获取磁盘I/O统计信息
echo "指定设备(/dev/sda)的统计信息"
# 每秒向设备发起的读请求次数
disk_sda_rs=`iostat -kx | grep sda| awk '{print $4}'`
echo "每秒向设备发起的读请求次数:"$disk_sda_rs
 
# 每秒向设备发起的写请求次数
disk_sda_ws=`iostat -kx | grep sda| awk '{print $5}'`
echo "每秒向设备发起的写请求次数:"$disk_sda_ws
 
# 向设备发起的I/O请求队列长度平均值
disk_sda_avgqu_sz=`iostat -kx | grep sda| awk '{print $9}'`
echo "向设备发起的I/O请求队列长度平均值"$disk_sda_avgqu_sz
 
# 每次向设备发起的I/O请求平均时间
disk_sda_await=`iostat -kx | grep sda| awk '{print $10}'`
echo "每次向设备发起的I/O请求平均时间:"$disk_sda_await
 
# 向设备发起的I/O服务时间均值
disk_sda_svctm=`iostat -kx | grep sda| awk '{print $11}'`
echo "向设备发起的I/O服务时间均值:"$disk_sda_svctm
 
# 向设备发起I/O请求的CPU时间百分占比
disk_sda_util=`iostat -kx | grep sda| awk '{print $12}'`
echo "向设备发起I/O请求的CPU时间百分占比:"$disk_sda_util


折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png