首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
Search
1
在IC617中进行xa+vcs数模混仿
81 阅读
2
科普:Memory Compiler生成的Register file和SRAM有何区别?
73 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
73 阅读
4
后仿中$setup,$hold与$setuphold
44 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
35 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vscode
linux
systemverilog
vcs
STM32
PyQT
EDA
FPGA
gvim
cadence
Alist
xilinx
UVM
uos
macos
package
MCU
risc-v
bennyhe
累计撰写
378
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
搜索到
42
篇与
的结果
2025-06-20
Linux手工编译新版GLIBC库,解决低版本GLIBC库软件运行出错的问题
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_首先吐槽一下论坛发帖子的功能,以下原文无法直接发出,带图片的都显示图片格式不正确,无奈之下只能使用这种方式发帖 运行软件的错误信息: Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found 由于专业版1070自带的GLIBC库为2.28,而软件需要的版本是2.29,所以导致某些软件无法正常使用,可以使用以下方法处理: 1:下载所需版本的glic库源码: wget https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.bz2 2:安装源码编译所需要的环境: sudo apt install build-essential bison3:编译,安装glibc库: tar xvf glibc-2.29.tar.bz2 cd glibc-2.29 mkdir buildcd build ../configure --prefix=/opt/glibc-2.29 make -j4 sudo make install 4:使用LD_PRELOAD技术运行软件(使用这种方式可以单独指定软件使用指定的库) LD_PRELOAD=/opt/glibc-2.29/lib/libc.so.6 软件全路径 运行一切正常 5:如果需要在桌面或系统菜单中使用这种方法运行软件,需要修改desktop文件的内容,找到Exec一行修改为Exec=env LD_PRELOAD=/opt/glibc-2.29/lib/libm.so.6 软件全路径 运行一切正常编译其他项目时,发现需要更高版本的 glibc,所以尝试编译 glibc-2.40UOS版本:$ uname -aLinux athena-PC 4.19.0-amd64-desktop #7112 SMP Thu Jul 18 18:35:56 CST 2024 x86_64 GNU/Linux glibc版本:https://ftp.gnu.org/gnu/glibc/glibc-2.40.tar.gz 编译过程:$ tar xzvf glibc-2.40.tar.gz$ cd glibc-2.40/$ mkdir build$ cd build/$ ../configure --prefix=/usr/$ make 错误信息:gcc -nostdlib -nostartfiles -r -o /home/athena/glibc-2.40/build/elf/librtld.os '-Wl,-(' /home/athena/glibc-2.40/build/elf/dl-allobjs.os /home/athena/glibc-2.40/build/elf/rtld-libc.a -lgcc '-Wl,-)' \ -Wl,-Map,/home/athena/glibc-2.40/build/elf/librtld.os.mapgcc -nostdlib -nostartfiles -shared -o /home/athena/glibc-2.40/build/elf/ld.so.new \ -Wl,-z,relro -Wl,-z,defs \ \ /home/athena/glibc-2.40/build/elf/librtld.os -Wl,--version-script=/home/athena/glibc-2.40/build/ld.map \ -Wl,-soname=ld-linux-x86-64.so.2/usr/bin/ld: /home/athena/glibc-2.40/build/elf/librtld.os: relocation R_X86_64_PC32 against undefined hidden symbol `__ehdr_start' can not be used when making a shared object/usr/bin/ld: final link failed: nonrepresentable section on outputcollect2: error: ld returned 1 exit statusmake[2]: * [Makefile:1380: /home/athena/glibc-2.40/build/elf/ld.so] Error 1make[2]: Leaving directory '/home/athena/glibc-2.40/elf'make[1]: * [Makefile:484: elf/subdir_lib] Error 2make[1]: Leaving directory '/home/athena/glibc-2.40'make: * [Makefile:9: all] Error 2 错误信息显示 ld 链接器有问题,__ehdr_start不能用于编译共享项目。 原因分析:通过查看GUN Binutils的版本发现,UOS系统默认安装的GUN Binutils版本为2.31.1,与glibc-2.40不匹配,是造成glib-2.40编译安装失败的主要原因。$ ld --version GNU ld (GNU Binutils for Uos) 2.31.1 Copyright (C) 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. 解决方法:编译安装合适的GUN Binutils 1.获取GUN Binutils$ git clone git://sourceware.org/git/binutils-gdb.git或$ wget https://ftp.gnu.org/gnu/binutils/binutils-2.43.1.tar.gz 2.编译安装GUN Binutils$ tar xzvf binutils-2.43.1.tar.gz$ cd binutils-2.43.1/$ ../configure --prefix=/usr/$ make$ make install 注意:如果出现binutils-2.43.1源码中定义的'lseek'与UOS系统/usr/include/unistd.h中定义的'lseek'冲突造成编译错误 libtool: compile: gcc -DHAVE_CONFIG_H -I. -U_ASM -I.. -I. -I./../common -I./../src -I./../../include -Wall -Wno-nonnull-compare -g -O2 -MT iotrace.lo -MD -MP -MF .deps/iotrace.Tpo -c iotrace.c -fPIC -DPIC -o .libs/iotrace.oIn file included from ./../src/collector_module.h:27, from collector.h:29, from iotrace.c:38:iotrace.c:2473:1: error: conflicting types for ‘lseek’ llseek (int fildes, offset_t offset, int whence) ^~/usr/include/unistd.h:338:16: note: previous definition of ‘lseek’ was here extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW; ^~~~~make[5]: * [Makefile:624: iotrace.lo] Error 1make[5]: Leaving directory '/home/athena/binutils-2.43.1/gprofng/libcollector'make[4]: * [Makefile:478: all] Error 2make[4]: Leaving directory '/home/athena/binutils-2.43.1/gprofng/libcollector'make[3]: * [Makefile:472: all-recursive] Error 1make[3]: Leaving directory '/home/athena/binutils-2.43.1/gprofng'make[2]: * [Makefile:404: all] Error 2make[2]: Leaving directory '/home/athena/binutils-2.43.1/gprofng'make[1]: * [Makefile:7318: all-gprofng] Error 2make[1]: Leaving directory '/home/athena/binutils-2.43.1'make: * [Makefile:1028: all] Error 2 可将/usr/include/unistd.h中335行16列的'lseek'暂时修改为'llseek'以规避编译错误修改时注意及时备份原文件# cp /usr/include/unistd.h /usr/include/unistd.h.bak修改完的unistd.h的335行应为define llseek llseek 3.编译安装完成后确认GNU Binutils版本信息$ ld --versionGNU ld (GNU Binutils) 2.43.1Copyright (C) 2024 Free Software Foundation, Inc.This program is free software; you may redistribute it under the terms ofthe GNU General Public License version 3 or (at your option) a later version.This program has absolutely no warranty. 至此,glibc-2.40可正常完成编译,编译后在glibc-2.40/build/elf目录下看到编译好的ldd,查看版本信息如下:$ ./ldd --versionldd (GNU libc) 2.40Copyright (C) 2024 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Written by Roland McGrath and Ulrich Drepper. 但继续安装时发现如下错误:Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion 'sym != NULL' failed! 目前还在继续研究中......
2025年06月20日
6 阅读
0 评论
0 点赞
2025-06-19
在deepin或者UOS下安装Uengine及自定义各个安卓app显示窗口的方法
之前一直不知道自行安装的安卓app如何设置界面,后来经deepin论坛“云的眼泪”大侠指导,终于学会了设置,然后就有了这个小白教程1、Uengine安装方法打开终端,输入sudo apt install uengine,回车,按照提示输入密码会进入下载安装过程,安装结束exit回车退出。 2、Uengine运行器安装在浏览器里面输入如下网址下载安装[https://gitee.com/gfdgd-xi-org/uengine-runner/releases](https://gitee.com/gfdgd-xi-org/uengine-runner/releases)3、非应用商店安卓app的安装先自行下载需要的安卓app,然后点击uengine运行器,选择该安卓app所在位置,点击“安装”及完成(以电视直播酒店版为例) 安装完成后默认点开是竖屏的,需要手动切换为横屏,且窗口大小不能调整,这样用起来很不爽,就需要我们后面的步骤来单独设置。4、安卓app默认窗口显示的设置(以电视直播酒店版为例)(1)首先在桌面上选择“电视直播酒店版”(如果没有桌面图标就从启动器里面右键发送图标到桌面),右键选择“属性”打开属性界面 然后把鼠标指针移动到“位置”,这时候就会显示如图,记住其中的”com.dianshijia.hoteltv”备用。(2)进入系统盘,鼠标选中“usr”文件夹。右键选择“以管理员身份打开”,在跳出来的框里输入密码后确认打开该文件夹 依次点击进入share\uengine\appetc文件夹。右键新建一个以”com.dianshijia.hoteltv”命名的文本文件。 在该文本文件里面输入如下内容:verticalWidth 540 //竖屏宽verticalHeighe 960 //竖屏高horizontaltWidth 960 //横屏宽,备选为1280horizontaltHeighe 540 //横屏高 ,备选为720verticalScreen 1 //设置默认横屏还是竖屏,1为竖屏,0为横屏 allowFullScreen 0 //设置是否允许全屏,1为允许,0为不允许 allowScreenSwitching 0 //设置是否允许横竖屏切换,1为允许,0为不允许 defaultFullScreen 0 //设置是否默认显示最大化,1为默认最大化,0为不是可以视需要自行修改默认横屏还是竖屏显示,默认显示分辨率等。如图: 注意:分辨率等设置要适当,不能超过显示器支持的范围。 其他自行安装的app参照示例设置即可。(用uengine运行器安装app建议卸载的时候也用uengine运行器来卸载,直接卸载会有残留。)
2025年06月19日
0 阅读
0 评论
0 点赞
2025-06-19
wsl 子系统安装QT
概述在《Win10的Linux子系统Ubuntu安装图形界面》https://zhuanlan.zhihu.com/p/393145947https://blog.csdn.net/chentuo2000/article/details/119104547一文中我们为WSL安装了图形界面。在本文中我们在WSL图形界面的基础上安装和使用Qt。安装Qt2.1 Qt和Qt Creator的区别Qt是C++的一个库,里面集成了一些库函数,提高开发效率。Qt Creator是一个集成了C++语言和CMake工具的IDE开发环境。2.2 安装Qt5在WSL终端创建目录hkmkdir hk进入hkcd hk安装Qt5sudo apt-get updatesudo apt-get install cmake qt5-default qtcreator出错,按照提示,输入:sudo apt-get install cmake qt5-default qtcreator --fix-missing验证安装是否成功qmake -versionOK!查看Qt目录:找qt5的安装目录sudo find / -name qt5ls -l /usr/lib/x86_64-linux-gnu/qt5查看配置文件qt.conf2.3 运行Qt Creator启动XLaunch看《Win10的Linux子系统Ubuntu安装图形界面》https://zhuanlan.zhihu.com/p/393145947https://blog.csdn.net/chentuo2000/article/details/119104547在terminal执行命令qtcreator启动Qt Creator出错,解决方法:[https://stackoverflow.com/questions/63627955/cant-load-shared-library-libqt5core-so-5]sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5再执行qtcreator有错误,但Qt Creator启动了:2.4 解决错误问题QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-ccdc'告知用户XDG_RUNTIME_DIR环境变量未设置,可以不管它,系统默认使用目录/tmp/runtime-ccdc:ccdc是我的用户名。XDG_RUNTIME_DIR给出用户运行时目录,如果不需要就不要定义这个变量。如果需要,在/etc/profile末尾增加一句:export XDG_RUNTIME_DIR=/your/dir/your/dir是你定义的目录。注意:这个目录对于执行qtcreator命令的用户一定要有读写权限。然后刷新全局变量:source /etc/profile解决libGL错误libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast无匹配的帧缓存设置和视图,无对应swrast驱动。swrast主要用于图形渲染,其出现问题说明没有发现显卡的硬件驱动。解决方法参考文档:WSL下使用VcXsrv启动chromium browser及常见错误解析 (ubuntu18.04, 图形界面)[https://www.cnblogs.com/freestylesoccor/p/9630758.html]在启动XLaunch时关闭openGL 选项,该错误即消失,说明wgl(windows自带图像处理器)跟Qt存在兼容问题。取消Native opengl勾选。重新启动启动Qt Creatorqtcreator没有错误信息了,Qt Creator启动正常:QT项目测试创建项目File > New File or Project选择Qt Widgets Application,点击Choose。项目名称Name:hello创建目录:/home/ccdc/hkNext >默认,Next >默认,Next >默认,Next >默认,Next >Finish完成hello项目创建,进入代码编辑页面。出现错误:unkown type name ‘QApplication’unkown type name ‘MainWindow’解决办法:About > About Plugins > C++ 去掉ClangCodeModel的勾选。重新启动Qt Creator。打开我们之前创建的项目hello。错误信息没有了。界面设计双击mainwindow.ui打开UI设计窗口:拖拽一个Label组件到Type Here上。编辑text属性:OKCtrl+S保存。按F5或者点击左下角的Run按钮运行程序。参考文档.ubuntu 查找qt是否安装_ubuntu18.04 安装qt5.12.8及环境配置的详细教程https://blog.csdn.net/weixin_42352222/article/details/114472231?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase.安装QT5 出现错误 unkown type name ‘QApplication’ unkown type name ‘MainWindow’https://blog.csdn.net/u01478378
2025年06月19日
22 阅读
0 评论
0 点赞
2025-06-18
在 Docker 中运行 macOS
Docker-OSX 简介Docker-OSX 是由 Sick.Codes 维护的开源项目,它基于 QEMU 和 KVM 技术,支持在 Docker 容器中运行 macOS。你可以在 macOS 上进行开发、测试应用程序,甚至进行安全研究。Docker-OSX 支持多种 macOS 版本,从 High Sierra(10.13)到最新的 Sonoma(14)。项目特点X11 转发:支持在 Linux 和 Windows 上通过 X11 显示 macOS 界面。iMessage 安全研究:支持在 macOS VM 中进行 iMessage 和 iCloud 的安全研究。iPhone USB 传输支持:可以通过 USB 传输将 iPhone 连接到 Docker 中的 macOS。CI/CD 集成:适用于 macOS 的持续集成和持续部署(CI/CD)工作流。支持多版本 macOS:包括 Catalina、Big Sur、Monterey、Ventura 和 Sonoma 等。快速启动 Docker-OSX2.1 基本环境要求虚拟化支持:确保你的 CPU 支持 KVM,并在 BIOS 中启用虚拟化技术(Intel VT-x 或 AMD-V)。磁盘空间:至少需要 20GB 的磁盘空间,建议预留 50GB 以应对 macOS 和 Xcode 的需求。2.2 安装依赖根据你的操作系统,首先安装必要的依赖项。Arch Linux:sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmfUbuntu / Debian:sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-toolsCentOS / RHEL / Fedora:sudo yum install libvirt qemu-kvm安装完成后,启用 libvirt 并加载 KVM 内核模块:sudo systemctl enable --now libvirtdsudo systemctl enable --now virtlogdecho 1 | sudo tee /sys/module/kvm/parameters/ignore_msrssudo modprobe kvm2.3 运行 Docker-OSX 容器Docker-OSX 提供了多个预构建的 macOS 镜像,下面以 Big Sur 为例启动容器:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest2.4 运行预装的 Catalina 系统如果你希望直接运行预装的 Catalina 系统,执行以下命令:docker pull sickcodes/docker-osx:autodocker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e GENERATE_UNIQUE=true \ sickcodes/docker-osx:auto默认的用户名和密码分别是 user 和 alpine。然后就可以通过VNC连接了本地VNC连接:localhost:10022远程连接:remotehost:10022高级功能3.1 USB 传输和 iPhone 支持Docker-OSX 支持 USB 传输功能,允许你将 iPhone 或 iPad 连接到虚拟机上。你可以使用 usbfluxd 来实现 USB 设备在 macOS 虚拟机中的识别。设置 USB 传输首先,确保在宿主机上安装 usbmuxd、socat 和 usbfluxd:sudo pacman -S libusbmuxd usbmuxd avahi socat启动 usbmuxd 和 usbfluxd:sudo systemctl start usbmuxdsudo avahi-daemonsudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxdsudo usbfluxd -f -n然后,在 macOS 虚拟机中安装 usbfluxd 并启动 USB 传输:brew install make automake autoconf libtool pkg-config gcc libimobiledevice usbmuxdgit clone https://github.com/corellium/usbfluxd.gitcd usbfluxd./autogen.shmakesudo make installsudo usbfluxd -f -r 172.17.0.1:5000这样,macOS 系统中的应用(如 Xcode)将可以识别你的 iPhone 或 iPad 设备。3.2 生成 macOS 序列号Docker-OSX 集成了 osx-serial-generator,可以帮助你生成 macOS 序列号、UUID 和主板序列号。这对于 iMessage 和 iCloud 的使用十分重要。生成唯一的序列号你可以在启动容器时自动生成序列号:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_UNIQUE=true \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest使用特定的序列号如果你已经有特定的序列号,可以使用以下命令:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_SPECIFIC=true \ -e DEVICE_MODEL="iMacPro1,1" \ -e SERIAL="C02TW0WAHX87" \ -e BOARD_SERIAL="C027251024NJG36UE" \ -e UUID="5CCB366D-9118-4C61-A00A-E5BAF3BED451" \ sickcodes/docker-osx:latest常见问题与解决方法4.1 Docker 未运行如果遇到 docker: unknown server OS: . 错误,说明 Docker 守护进程未启动。可以通过以下命令启动 Docker:sudo dockerd或者:sudo systemctl --start dockerd4.2 权限问题如果启动时遇到权限相关的错误,请确保你的用户属于 Docker、KVM 和 libvirt 组:sudo usermod -aG docker "${USER}"sudo usermod -aG kvm "${USER}"sudo usermod -aG libvirt "${USER}"4.3 内存不足如果分配的内存比主机上可用的内存多,可能会出现内存分配错误。可以通过清理缓存来释放内存:sudo tee /proc/sys/vm/drop_caches <<< 3总结Docker-OSX 是一个强大的工具,允许你在 Docker 容器中运行 macOS,并且支持多种高级功能,如 USB 传输、序列号生成和 CI/CD 集成等。无论你是开发者、测试人员还是安全研究人员,Docker-OSX 都能为你提供一个高效的 macOS 虚拟化解决方案。
2025年06月18日
4 阅读
0 评论
0 点赞
2025-06-18
打造linux shell操作方式的windows powershell
建立常用的su/find/which/ll/ls 命令profile主要用于个性化常用的函数、别名等等。每次加载powershell的时候,都会执行profile中的内容。查看是否有profile:$profile如果结果是false说明没有。则创建一个。New-Item –Path $Profile –Type File –Force-Force 是强制创建,即使你有了,也创建。使用记事本编辑你自己的profile:notepad $Profilefunction ll { ls }function where ($command) {Get-Command -Name $command -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue}Remove-Item -Force Alias:wherefunction which ($command) {gcm $command -All}function find {Get-ChildItem -r @args}function su {Start-Process powershell -Verb runAs}如何在 Powershell 中删除常量别名?Remove-Item -Force Alias:wherePowershell函数优先命令,但是别名优先于函数sed编辑器在windows平台上的使用一、写在前面我们经常在linux上使用sed命令去替换文件里面字符,但是我们经常使用的是windows系统,文件太大如果上传到linux上去操作,浪费空间,又浪费上传下载传输的网络带宽。所以能windows系统上使用sed工具是一件多么美妙的事情,终于有开源界的大佬把sed带到了Windows平台,让我们一起来体验其强大的功能。二、sed介绍sed 全名为 stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大。是贝尔实验室的 Lee E.McMahon 在 1973 年到 1974 年之间开发完成,目前可以在大多数操作系统中使用,sed 的出现作为 grep 的继任者。与vim等编辑器不同,sed 是一种非交互式编辑器(即用户不必参与编辑过程),它使用预先设定好的编辑指令对输入的文本进行编辑,完成之后再输出编辑结构。sed 基本上就是在玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强。三、安装sed先从sourceforge网站上下载sed win的安装程序https://sourceforge.net/projects/gnuwin32/files/sed/我选择是最新的sed-4.2.1,直接默认安装就行了四、sed使用使用CMD,先进入到sed默认安装路径的bin文件夹 C:\Program Files (x86)\GnuWin32\bin输入下面命令使用就行了sed -i "s/NO_AUTO_CREATE_USER//" d:/Dump20230825.sql我这段命令作用是将D盘的Dump20230825.sql文件中的NO_AUTO_CREATE_USER字符串替换成空。具体使用方法就行sed -i 's/FIND_TEXT/REPLACE_TEXT/' file.txt将 C:\Program Files (x86)\GnuWin32\bin放入环境变量的PATH 路径中去即可在任意路径下时使用
2025年06月18日
0 阅读
0 评论
0 点赞
1
...
4
5
6
...
9