Breeze0806 / go-etl

go-etl is a toolset for data extraction, transformation and loading。(go-etl是一个集数据源抽取,转化,加载的工具集,提供强大的数据同步能力)
Apache License 2.0
118 stars 38 forks source link

make release 报错 #28

Closed chengcxy closed 8 months ago

chengcxy commented 9 months ago

make release 报错 tools/wizard.go:147:29: undefined: generateScript tools/wizard.go:150:31: undefined: ext

runtime/cgo

ld: warning: directory not found for option '-L/Users/play/go/src/github.com/ibmdb/clidriver/lib' ../../../../../../pkg/mod/github.com/ibmdb/go_ibm_db@v0.4.4/api/api_unix.go:14:11: fatal error: 'sqlcli1.h' file not found include ^~~ 1 error generated.

ld: warning: directory not found for option '-L/Users/play/go/src/github.com/ibmdb/clidriver/lib'

ld: warning: directory not found for option '-L/Users/play/go/src/github.com/ibmdb/clidriver/lib' ld: warning: directory not found for option '-L/Users/play/go/src/github.com/ibmdb/clidriver/lib' make: *** [release] Error 2

Breeze0806 commented 9 months ago

你好,谢谢你反馈的问题,看报错这个问题是因为没有下载db2的odbc库导致的,你是否已经在此之前运行make dependencies命令来下载相应依赖?你的编译机是linux系统的什么发行版本?规避这个报错还有一个办法就是如果你没有使用db2数据源的需求可以在编译时通过增加环境变量export IGNORE_PACKAGES=db2 去掉db2的依赖,更详细的情况请查看文档。

chengcxy commented 9 months ago

加了环境变量去掉了db2依赖 make dependencies ok

我是macos系统

Makefile里面 改了一下 @cd cmd/datax && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build && cd ../..

➜ go-etl git:(main) ✗ make release

github.com/godror/godror

../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:530:19: undefined: VersionInfo ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:531:19: undefined: VersionInfo ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:532:10: undefined: StartupMode ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:533:11: undefined: ShutdownMode ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:535:31: undefined: Event ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:535:42: undefined: SubscriptionOption ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:535:64: undefined: Subscription ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:536:31: undefined: ObjectType ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:537:59: undefined: Data ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:538:28: undefined: DirectLob ../../../../../../pkg/mod/github.com/godror/godror@v0.33.3/orahlp.go:538:28: too many errors make: *** [release] Error 2

Breeze0806 commented 9 months ago

MAC的话,我接触不多,从报错看这是因为oracle数据源也需要依赖odbc库的,编译时也得依赖cgo,你在忽略包变量里再要加oracle,即export IGNORE_PACKAGES=db2,oracle 这样应该能够编译通过。

chengcxy commented 9 months ago

MAC的话,我接触不多,从报错看这是因为oracle数据源也需要依赖odbc库的,编译时也得依赖cgo,你在忽略包变量里再要加oracle,即export IGNORE_PACKAGES=db2,oracle 这样应该能够编译通过。

linux 编译也不行 😶

Breeze0806 commented 9 months ago

这个不要加CGO_ENABLED=0,Linux编译是没有问题的,如果有的话最好升级gcc版本至4.8之后,最好是7.x版本或更高,我的编译环境是乌班图20.04。

chengcxy commented 9 months ago

好的 我再试试