xo / usql

Universal command-line interface for SQL databases
MIT License
8.92k stars 351 forks source link

Error installing usql via Go on Ubuntu 18.04 #118

Closed rgiordani closed 4 years ago

rgiordani commented 4 years ago

I'm trying to install usql via go using the command: go get -u -tags all github.com/xo/usql but I'm getting the following error:

# github.com/xo/usql/drivers/pgx
go/src/github.com/xo/usql/drivers/pgx/pgx.go:30:21: undefined: pgx.PgError
go/src/github.com/xo/usql/drivers/pgx/pgx.go:36:21: undefined: pgx.PgError
kenshaw commented 4 years ago

What version of Go are you using? usql has used Go modules pretty much ever since Go modules have been available, and thus this shouldn't be a problem (if you're running the latest versions of Go , ie 1.13.x, or 1.14.x).

Could you perhaps share your terminal output?

kenshaw commented 4 years ago

Using Go 1.14, and a completely clean VM, this is the output one should see when building with -tags most:

$ go get -u -tags most github.com/xo/usql
go: github.com/xo/usql upgrade => v0.7.8
go: github.com/ClickHouse/clickhouse-go upgrade => v1.3.14
go: golang.org/x/text upgrade => v0.3.2
go: github.com/prestodb/presto-go-client upgrade => v0.0.0-20200302111820-5ec09431be26
go: github.com/jcmturner/gofork upgrade => v1.0.0
go: github.com/mattn/go-sqlite3 upgrade => v2.0.3+incompatible
go: golang.org/x/sys upgrade => v0.0.0-20200302150141-5c8b2ff67527
go: github.com/golang/protobuf upgrade => v1.3.4
go: github.com/go-sql-driver/mysql upgrade => v1.5.0
go: github.com/couchbase/go-couchbase upgrade => v0.0.0-20200218193042-d6a4f791e9b5
go: github.com/xo/dburl upgrade => v0.0.0-20200124232849-e9ec94f52bc3
go: github.com/xo/terminfo upgrade => v0.0.0-20200218205459-454e5b68f9e8
go: gopkg.in/jcmturner/gokrb5.v7 upgrade => v7.5.0
go: modernc.org/ql upgrade => v1.0.1
go: github.com/lib/pq upgrade => v1.3.0
go: github.com/godror/godror upgrade => v0.12.1
go: github.com/dlclark/regexp2 upgrade => v1.2.0
go: github.com/shopspring/decimal upgrade => v0.0.0-20200227202807-02e2044944cc
go: github.com/mattn/go-runewidth upgrade => v0.0.8
go: github.com/xo/tblfmt upgrade => v0.0.0-20191214134155-4c686ae34009
go: golang.org/x/crypto upgrade => v0.0.0-20200302210943-78000ba7a073
go: golang.org/x/net upgrade => v0.0.0-20200301022130-244492dfa37a
go: github.com/jackc/pgx upgrade => v3.6.2+incompatible
go: github.com/google/uuid upgrade => v1.1.1
go: github.com/Masterminds/semver upgrade => v1.5.0
go: github.com/hashicorp/go-uuid upgrade => v1.0.2
go: github.com/pkg/errors upgrade => v0.9.1
go: github.com/mattn/go-isatty upgrade => v0.0.12
go: modernc.org/mathutil upgrade => v1.1.0
go: github.com/golang/snappy upgrade => v0.0.1
go: github.com/denisenkom/go-mssqldb upgrade => v0.0.0-20200206145737-bbfc9a55622e
go: github.com/vertica/vertica-sql-go upgrade => v0.2.1
go: github.com/gocql/gocql upgrade => v0.0.0-20200228163523-cd4b606dd2fb
go: github.com/remyoudompheng/bigfft upgrade => v0.0.0-20190728182440-6a916e37a237
go: modernc.org/strutil upgrade => v1.1.0
go: modernc.org/sortutil upgrade => v1.1.0
go: github.com/edsrzf/mmap-go upgrade => v1.0.0
go: github.com/nakagami/firebirdsql upgrade => v0.0.0-20200209020130-035d0abf81c8
go: github.com/couchbase/gomemcached upgrade => v0.0.0-20200221155206-f972ef3c4029
user@b-grid-01:~$ usql
WELCOME TO THE JUNGLE Tue 03 Mar 2020 06:18:10 AM WIB
Type "help" for help.

(not connected)=> \drivers
Available Drivers:
  adodb [ad, ado]
  avatica [av, phoenix]
  clickhouse [ch]
  cockroachdb (postgres) [cr, cdb, crdb, cockroach]
  cql [ca, scy, scylla, datastax, cassandra]
  firebirdsql [fb, firebird]
  hdb [sa, sap, hana, saphana]
  ignite [ig, gridgain]
  memsql (mysql) [me]
  mssql [ms, sqlserver]
  mymysql [zm, mymy]
  mysql [my, maria, aurora, mariadb, percona]
  n1ql [n1, couchbase]
  oleodbc (adodb) [oo, ole]
  pgx [px]
  postgres [pg, pgsql, postgresql]
  presto [pr, prs, prestos, prestodb, prestodbs]
  ql [cznic, cznicql]
  redshift (postgres) [rs]
  snowflake [sf]
  sqlite3 [sq, file, sqlite]
  tds [ax, ase, sapase]
  tidb (mysql) [ti]
  vertica [ve]
  vitess (mysql) [vt]
  voltdb [vo, vdb, volt]
(not connected)=> \q
rgiordani commented 4 years ago
› go version
go version go1.14 linux/amd64

› go get -u -tags all github.com/xo/usql
# github.com/xo/usql/drivers/pgx
go/src/github.com/xo/usql/drivers/pgx/pgx.go:30:21: undefined: pgx.PgError
go/src/github.com/xo/usql/drivers/pgx/pgx.go:36:21: undefined: pgx.PgError
rgiordani commented 4 years ago

I'm not a go expert.

From go.mod :

github.com/jackc/pgx v3.6.2+incompatible

and from https://github.com/jackc/pgx :

The current release of pgx v4 requires Go modules. Checkout and vendor branch v3 to use the previous version.

So I did:

cd go/src/github.com/jackc/pgx/
git fetch origin
git checkout v3
go get -u -tags all github.com/xo/usql

Now it works.

kenshaw commented 4 years ago

@rgiordani were you working in the usql source tree when you did this originally? The only way (I think) this could happen is if you had GO111MODULE=off set in your environment. If so, the easiest way to fix this is to simply turn it on. Otherwise, glad you have it working now.