Go Import

Hi,
Trying to import a Go library using eBuild but get errors.

Both the below fail:

ebuild --import-go-project https://llvm.org/llvm/bindings/go/llvm
ebuild --import-go-project https://github.com/nakagami/firebirdsql

D:>ebuild --import-go-project https://github.com/nakagami/firebirdsql
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2020. All Rights Reserved. Created by marc hoffman.
Version 10.0.0.2499 (develop) built on bajor, 20200403-151134. Commit 28c3494.

Exception: Value cannot be null.
Parameter name: aCommand
| at RemObjects.Elements.RTL.Process.Run(String aCommand, List1 aArguments, Dictionary2 aEnvironment, String aWorkingDirectory, $Delegate_aLine$_1 aStdOutCallback, $Delegate_aLine$_1 aStdErrCallback)
| at RemObjects.EBuild.GitHelpers.RunGit(EBuildContext aContext, String[] aParameters, String aFolder)
| at RemObjects.EBuild.GitHelpers.GitCheckOut.CloneOrPull(<>c__DisplayClass0& $self)
| at RemObjects.EBuild.GitHelpers.GitCheckOut(EBuildContext aContext, String aUrl, String aBaseFolder, String aBranch, String& aName, String& aSubFolder)
| at RemObjects.EBuild.CommandLine.ImportGoProject(EBuildContext aContext, SimpleCommandLineParser aParameters)
| at RemObjects.EBuild.CommandLine.RunWithParameters____HostMode(SimpleCommandLineParser aParameters, Boolean aHostMode)

Am I missing something?

Paul

I’ll check. This should work.

Curious. I get

➜  Floorshow:~/GoImport # ebuild --import-go-project https://llvm.org/llvm/bindings/go/llvm
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2020. All Rights Reserved. Created by marc hoffman.
Version 10.0.0.2498 (develop) built on bajor, 20200402-122430. Commit 0ee5a95.

E: Could not import https://llvm.org/llvm/bindings/go/llvm (Subfolder /Users/mh/GoImport/llvm.org.llvm.bindings.go.llvm does not exist).
➜  Floorshow:~/GoImport # ls

which is not much better, abut different. Debugging now.

Ok, that part is fixed; the bad news is the LLVM repo is SVN, not Git, and right now our Go importer only supports Git. I’ve added a better error message (unknown repo types were just ignored), and I’ll look at adding SVN support for the next build.

With https://github.com/nakagami/firebirdsql I can reproduce there same error you are seeing; investigating that one now.

Found the problem, and fixed. I’ll attach the import for you.

Unfortunately there seem to be two small issues building the imported code base, one unknown identifier (bigfft) and one what seems like missing (or maybe just unsupported in .NET, which is the platform I tried) API in GBL (runtime.FuncForPC). I’ll log those for the Go team to look at next week, but maybe you can work around them…

GoImport.zip (2.7 MB)

Thanks, logged as bugs://84146 — for the GBL issues