Seabolt (latest) + Go != happy - undefined symbol: BoltConfig_set_mode

Any ideas for why we not get errors e.g.

symbol lookup error: ./ourexecutable : undefined symbol: BoltConfig_set_mode

We had installed latest on everything / something that was working before no longer works - we have to downgrade the seabolt driver to make things work.

Advice welcome

1 Like

Hi jeremy,

I don't know exact versions installed on your system, but it seems that your neo4j-drivers/gobolt version is somehow behind seabolt. Could you please verify that you have the latest neo4j/neo4j-go-driver and neo4j-drivers/gobolt release versions?

All latest / and seems to fail. We found that better to downgrade the bolt to make these issues go away.

Just quoting another response here.

Its the latest ; Also now I find that the Neo4J drives just do not support cross compiling - which is the essence of golang ; where you can dev. e.g. on a machine like MAC and deploy to Linux infra !!

../../github.com/neo4j-drivers/gobolt/connector_worker.go:30:14: undefined: Config
../../github.com/neo4j-drivers/gobolt/connector_worker.go:31:15: undefined: seaboltConnector

Is there some support at Neo4J for the drivers for GO ?
(I hope that the feedback is getting to product teams of how terrible the NEO4J golang drivers are for real world vs the lab) if they monitor the community.

Hi Jeremy

I'm genuinely sorry you're having issues with the Go driver. We do monitor feedback and we are very aware that the Go driver has failed to hit the spot with the community in the way that we'd hoped. We developed the code in conjunction with a couple of our customers, who were and still are happy, but as Go was a very new language for us at Neo4j, we weren't fully aware of the intricacies and complexities of the language ecosystem, and so this hasn't landed as we wanted.

We can try to assist with working through your installation and compilation issues, but obviously this becomes difficult if the discussion here degrades. Constructive feedback is always welcome, and we will try to tackle bugs when they come up. Thanks for your help with this.

Nigel

Hi Nigel,

Thanks for feedback / installation is not an issue (misalignment is the issue) - feels like a quality issue of the driver along with it's external dependencies / which appears to be inconsistent across platforms - deploy flows from dev -> production environments.

Why not consider to sponsor one of the native go neo4J driver open source projects ?

This current driver gets in the way of enabling an otherwise excellent NEO4J.

Kind regards

2 Likes

Is there any way to get any support for the NEO4J driver ? It's really zapping our time on a commercial project / and we not getting anywhere ; 1 last reach out / before we go forth and dump the painful driver and re-write code to an open source.

Just my speculation, but I think the effort that has gone into the Go driver has decreased quite a bit since it left beta. Our team was put in a similar situation early this year since it was becoming increasingly difficult to get our 8 developers all on the same page with getting seabolt working properly with the driver. We ended up switching away from neo4j completely because of it. I still lurk the forums hoping to see that a better solution is being developed but since the Go driver was an added bonus (through cgo) while developing Seabolt, it makes me feel like we won't see a proper official Go solution for awhile.

Support is available, yes. We offer 24x7 support to our customers with an Enterprise Edition subscription via our help desk. If you are a Community Edition user, you will have more community drivers to choose from, since functionality such as routing won't be required.

In terms of future developments, we may consider building a pure Go driver at some point, but this is not on the roadmap right now, and will definitely not happen during 2019.