如何在os x,centos 6上构建goncurses [英] How to build goncurses on os x, centos 6

查看:251
本文介绍了如何在os x,centos 6上构建goncurses的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

OS X,Centos 6和Debian Squeeze都附带v5.7的ncurses,但go包装goncurses需要5.9。尝试在任何这些平台上构建它会给你一个错误,像这样:

OS X, Centos 6 and Debian Squeeze all come with v5.7 of ncurses, but the go wrapper "goncurses" requires 5.9. Trying to build it on any of those platforms will give you an error like this:

$ go get -v code.google.com/p/goncurses
code.google.com/p/goncurses
# code.google.com/p/goncurses 
/tmp/go-build527609801/code.google.com/p/goncurses/_obj/goncurses.o: 
In function 'ncurses_is_subwin':src/code.google.com/p/goncurses/goncurses.c:71: undefined reference to `is_subwin'
/tmp/go-build527609801/code.google.com/p/goncurses/_obj/goncurses.o: 
In function 'ncurses_is_pad':src/code.google.com/p/goncurses/goncurses.c:63: undefined reference to `is_pad'

您可以使用homebrew在os x上安装ncurses v5.9,源代码到/ usr / local / on linux,但是在构建时如何使用 go 来使用升级的ncurses?

You can use homebrew to install ncurses v5.9 on os x, and build from source into /usr/local/ on linux, but how do you get go to use your upgraded ncurses when building?

推荐答案

@JimB回答了我的其他问题如何更改lib路径为go build以及利用pkg-config的建议,该解决方案将如下所示:

@JimB answered my other question How to change lib path for "go build" with a suggestion to leverage pkg-config, which solution will look like this:

On CentOS 6你可以从源代码这样构建ncurses,这将把驱动pkg-config的.pc文件放入你自己的目录,而不是/ usr / lib64 / pkgconfig /

On CentOS 6 you can build ncurses from source like this, which will put the .pc files that drive pkg-config into your own directory instead of /usr/lib64/pkgconfig/

mkdir ~/local-pkg-config
PKG_CONFIG_LIBDIR=~/local-pkg-config ./configure --prefix=/usr/local/ --enable-pc-files --with-pkg-config
make && make install

在OS X上,您可以从homebrew安装ncurses。 Homebrew通常把.pc文件与包,例如。 /usr/local/Cellar/pango/1.34.1/lib/pkgconfig/pango.pc 。出于某种原因,homebrew没有任何.pc文件与其ncurses,但我成功地抓住了CentOS的一些到〜/ local-pkg-config并更改它们以适应:

On OS X you can install ncurses from homebrew. Homebrew usually puts .pc files along with the package, e.g. /usr/local/Cellar/pango/1.34.1/lib/pkgconfig/pango.pc. For some reason homebrew doesn't have any .pc files with its ncurses, but I successfully grabbed the CentOS ones into ~/local-pkg-config and changed them to suit:

@@ -1,7 +1,7 @@
-prefix=/usr/local/
+prefix=/usr/local/Cellar/ncurses/5.9/
 exec_prefix=${prefix}
 libdir=${exec_prefix}/lib
-includedir=${prefix}/include/ncurses
+includedir=${prefix}/include
 major_version=5
 version=5.9.20110404

您设置的任何一个平台都会获得goncurses软件包:

Now on either platform you're set up to go get the goncurses package:

PKG_CONFIG_PATH=~/local-pkg-config/ go get -v code.google.com/p/goncurses

这篇关于如何在os x,centos 6上构建goncurses的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆