近期Mac上编译geany软件的总结
以前在Mac上装过port,后来改为brew。但是原来port装在/opt/local下的很多程序没删掉,path路径也没改,导致很多程序被重复安装,配置混乱。最后我痛下狠心用port uninstall installed将全部port已安装的程序统统删掉!然后rm -rf /opt/local。接着在.bash_profile里将port原来设置的路径统统删掉鸟。
因为geany要用GTK,上面port和brew都装了gtk库,估计版本不同,结果编译后程序能运行起来,但是点击某一菜单项(比如open和about)后会崩溃!在删掉port配置后再次编译,这个现象没有鸟!
但是geany运行老是提示不能打开display!按照网上的设置:export DISPLAY=localhost:0.0,然后host +的做法得以解决。不过每次运行granny总要冒出一个X11服务器来,颇为不爽!我记得原来低版本的geany运行就不需要啊!
geany是运行起来了,但是最上面的标题栏没有!无法移动和最大最小化。遂安装mac下最新版的X11程序,问题又解决了。
geany运行老是显示警告:
(geany:1331): Gtk-WARNING **: 找不到图标“text-plain”。“hicolor”主题也没有找到,可能您需要先安装它。
您可以从下面的位置获得一个副本:
http://icon-theme.freedesktop.org/releases
(geany:1331): Geany-WARNING **: failed to load icon 'classviewer-var': 图标“classviewer-var”未出现在主题中
(geany:1331): Geany-WARNING **: failed to load icon 'classviewer-method': 图标“classviewer-method”未出现在主题中
(geany:1331): Gtk-WARNING **: Error loading theme icon 'geany-save-all' for stock: 图标“geany-save-all”未出现在主题中
遂按照提示下载hicolor-icon-theme-0.14.tar.xz包,然后用如下命令安装:
./configure -prefix=/usr
sudo make install
再次运行geany,世界清净鸟!!!
前面编译geany的时候还有麻烦!开始老是说神马找不到GTK包,提示:Package 'xcb-shm', required by 'cairo', not
found重装gtk,cairo均无效,后来得知PKG_CONFIG_PATH没有设置正确,pkg-config需要各个程序lib下目录pkgconfig里的各种pc文件!:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig
接着说找不到gettext,发现原来的gettext安装在/opt/local下已被删掉!后来用brew装的路径不在path中,只好手动添加其bin路径至path!
在没删port之前老是提示无法找到神马.la文件,只好一个一个找需要的dylib然后手动生成对应的.la文件,后来太麻烦,用ruby写了一个自动生成的工具:
#!/usr/bin/ruby
def get_lib_names(path,name)
just_name = name.split(".")[0]
names = []
Dir.chdir(path) do |path|
names = `ls #{just_name}*`.split("\n")
end
names
end
def make_la_file(path,names)
dot_a = names.find {|x|x=~ /.+\.a/}
dot_dylib = names.find {|x|x=~ /([^0-9])\.dylib/}
n_dot_dylib = names.find {|x| x=~/([0-9])\.dylib/}
str = <<START_TEXT
# Generated by libtool (GNU libtool) 2.4.2
dlname='#{n_dot_dylib}'
library_names='#{n_dot_dylib} #{dot_dylib}'
old_library='#{dot_a}'
installed=no
START_TEXT
la_name = names[0].split(".")[0]+".la"
Dir.chdir(path) do |path|
#{}`touch #{la_name}`
File.open(la_name,"w") do |f|
f.write str
end
end
end
ret = `make 2>&1 1>/dev/null`
r = /^libtool: .+ `(.+)'/
s = ret.split("\n")[0]
m = s.match(r)
path,name = File.split m[1]
names = get_lib_names(path,name)
make_la_file("./las",names)
写的比较乱,代表了当时本猫的烦躁的心境吧!有什么问题可以直接回复问我!
近期Mac上编译geany软件的总结的更多相关文章
- 尝试在Mac上编译DNX
自从XRE改名为DNX至今,从来没有在Mac OS X上成功编译过DNX.一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac.而且DNX用的2个持续集成服务Ap ...
- Mac上编译并运行Android5.0源码
下载.配置环境.build和运行参考的都是Android Source提供的文档,包括:Initializing a Build Environment,Downloading the Source和 ...
- cgo在mac上编译
用了cgo mac上编译不过的可以试试下面的方法 ../../pkg/mod/github.com/mattn/go-sqlite3@v1.:: fatal error: 'stdlib.h' fil ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
- iOS工程师Mac上的必备软件
原文链接 前言 iOS工程师一直都是那么的高逼格,用的是Mac电脑,耍的是iPhone手机,哇咔咔~~ 但是,作为一名iOS开发工程师,我们除了高逼格外,还必须是全能的.你不会点UI设计 ...
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
- IOS-工程师Mac上的必备软件
前言 iOS工程师一直都是那么的高逼格,用的是Mac电脑,耍的是iPhone手机,哇咔咔~~ 但是,作为一名iOS开发工程师,我们除了高逼格外,还必须是全能的.你不会点UI设计.不会点后台语 ...
- MAC上的爬虫软件怎么选?看完这篇就够了
在上一篇文章:网络爬虫软件哪个好用? 中,我们介绍了目前市面上比较成熟好用的网络爬虫软件, 但是其中有些不能在MAC上使用,因此今天这篇文章我们单独介绍一下在MAC操作系统中有哪些好用的爬虫软件,给大 ...
随机推荐
- 【Netty源码学习】入门示例
Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty ...
- UNIX网络编程——产生RST
产生RST的3个条件:1. 建立连接的SYN到达某端口,但是该端口上没有正在监听的服务. 如:IP为192.168.1.33的主机上并没有开启WEB服务(端口号为0x50),这时我们通过IE去访问 ...
- 【Linux驱动】字符设备驱动
一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 1.字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面 ...
- 第七天:创建WBS
- PO核准通知界面修改
想在notification頁面把供應商的稅捐代碼帶出來,添在如下紅框中 PO_WF_PO_NOTIFICATION head information:get_po_approve_msg line ...
- 控件之combox
一. combox显示 首先combox有两个属性来存储数据:DisplayMember(显示成员),ValueMember(值成员) ,DisplayMember是我们在combox界面上看 ...
- C++ Primer 有感(管理类的指针成员)
C++类的指针成员与其他成员有所不同,指针成员指向一个内存地址,该地址的内存需要我没管理. 我现在分析一下为什么要管理指针成员. 有如下Student类,Student.h如下: [cpp] view ...
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二)
打开Ai按需求依次绘制机器人身体,手臂和篮框: 因为是实验性质的游戏所以没必要在这上面花太多功夫,画出意思即可.虽然是2D游戏,但实际游戏中可以表现出伪3D的图形效果;尽管本猫这次画的游戏元素都是满满 ...
- Gradle 1.12翻译——第二十章. 构建环境
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...
- ISLR系列:(1)线性回归 Linear Regression
Linear Regression 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本 ...