Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can tileDB-go be used on Windows? And how to install tileDB on Windows? #1129

Closed
yahengqi opened this issue Feb 17, 2019 · 2 comments
Closed
Labels

Comments

@yahengqi
Copy link

go get -v github.com/TileDB-Inc/TileDB-Go
github.com/TileDB-Inc/TileDB-Go

github.com/TileDB-Inc/TileDB-Go

D:\gowork\Service\src\github.com\TileDB-Inc\TileDB-Go\array.go:5:10: fatal error: tiledb/tiledb.h: No such file or directory
#include <tiledb/tiledb.h>
^~~~~~~~~~~~~~~~~
compilation terminated.

@yahengqi yahengqi changed the title #include <tiledb/tiledb.h> array.go Can tileDB-go be used on Windows? And how to install tileDB on Windows? Feb 17, 2019
@Shelnutt2
Copy link
Member

In general TileDB is able to be installed and configured on Windows. It can be installed from a pre-compiled binary we offer, from conda or from source. See the windows sections of installation documentation for full details.

For TileDB-Go we use cgo to link against libtiledb. Unfortunately for windows, golang only supports gcc for linking and compiling so you will need to install a version of gcc for windows (mingw) and compile TileDB from source. We don't have specific build instructions for mingw and TileDB but it should compile without issue.

After you compile tiledb with mingw you can copy the resulting library to the TileDB-Go folder and go should be able to link to it. On unix operating systems the tiledb library is only required to be in the library search path, for windows this is easiest to achieve by putting the library inside the folder where the link command is running which should be the TileDB-Go folder, i.e. D:\gowork\Service\src\github.com\TileDB-Inc\TileDB-Go in your case.

It is also possible to set the CGO_CFLAGS or CGO_LDFLAGS environmental variables to override the location of the tiledb header or library. See our usage in the TileDB-Go travis configuration for setting the osx and linux library and include paths.

Let us know if you have any issue compiling with mingw or linking with cgo after its compiled.

@jakebolewski
Copy link
Contributor

Closing in favor of TileDB-Inc/TileDB-Go#61 which is TileDB-Go specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants