How to change lib path for “go build”

独自空忆成欢 提交于 2019-12-10 18:33:16

问题


I'm trying to work with goncurses. On Centos 6 the ncurses library is old (5.7, wants 5.9), so I built ncurses from source and installed it into /usr/lib, /usr/include, etc.

How do I tell "go get" to run against the stuff in /usr/lib instead of the system stuff in /lib?

This is my currenty output:

$ go get -v code.google.com/p/goncurses
code.google.com/p/goncurses
# code.google.com/p/goncurses
/tmp/go-build076024492/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-build076024492/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'
collect2: ld returned 1 exit status

I've tried different variations on LD_LIBRARY_PATH=/usr/lib and -ccflags = '-I /usr/lib' with out any change in behavior.

I know it's a simple question, but my google-fu is failing me right now.


回答1:


The goncurses package is relying on pkg-config to get the proper paths for building.

If you can get pkg-config to output the correct paths for ncurses on your system -- go will do the right thing from there. Your other option is of course to fork the goncurses code, and edit the #cgo directives in the source.



来源:https://stackoverflow.com/questions/23879205/how-to-change-lib-path-for-go-build

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!