libneo4j-client
libneo4j-client copied to clipboard
Need source package and instructions suitable for building on Win64 platform
I would like to use neo4j client inside of a proprietary software application that is built using C code. I believe that I could do this if I were able to build the neo4j client as a Windows 64 bit dll. It would help my effort very much if I could have some guidance about how to port neo4j client to windows.
Hi @jleveille1337!
Thanks so much for getting involved in neo4j-client. I would love to have someone take on porting to Windows, and I'd be happy to provide whatever guidance I can. I've got a good idea of what would be involved, but it's not something I've done myself as I don't have a need for it personally and I don't have ready access to a windows system setup for development.
Do you have the time and motivation to take on porting to Windows? Do you have experience with the winsock APIs?
Here are the steps I think will be necessary:
- [ ] Generate a Visual Studio solution file. I've previously looked at several other cross-platform libraries, and a common approach appears to be using gyp to generate the solution file. For example, libvu. So I think this step really means writing a
.gyp
file. - [ ] Create a
neo4j_iostream_t
implementation using the winsock APIs. - [ ] Implement a
neo4j_connection_factory_t
that uses the winsock APIs. Make this the standard connection factory on Windows. - [ ] Implement an SSL neo4j_iostream_t using the appropriate windows APIs, as an alternative to OpenSSL. It would be wired in here.
The above should get libneo4j-client building, I hope. For neo4j-client, it will also need:
- [ ] Link in WinEditLine as an alternative to libeditline, and make any necessary adjustment.
- [ ] A lot of testing!
And finally:
- [ ] Building a Windows installable distribution / application bundle.
So, what do you think?
Cheers, Chris
Thank you Chris. I very much appreciate the key points of guidance you have provided. I now see a good news/bad news scenario forming. The good news is that I understand sockets very well. I have coded socket API code in several different languages over time since the mid 90's. The bad news is that my C skills and experience are low. As a result, when I see a compile or linker error it often looks like Greek to me. The good news to counteract this is that there are several more experienced C coders at my company. They are somewhat aware that I am poking around at this project so I can hopefully lean on them when I hit bumps in the road. I want to set expectations low as I get started because this job looks a bit challenging and I will be doing it at night and on weekends.
John
Chris, What is the best way to converse with you directly? Perhaps you can message me on twitter with details. Also, I am going to concentrate on the neo4j library build and ignore the windows client / WinEditLine piece for now - FYI. John
Hi, John.
Appreciate this. I'm sure we can get there, and I'm happy to provide guidance. The first step will be doing setting up gyp so that it can be loaded into visual studio. I suggest looking at how it works in libuv.
I'll ping you my contact details on twitter, so we can collaborate.
Cheers, Chris
Is anywhere repository with (begun) sources of port Neo4j driver for WIn64? Regarding Win64 client I thought already is (because I can call Neo4j from Java) client, but is needed c++ driver.
Hey
Any update on windows port? What is the state of it so far?