Bug ID: 30417
           Summary: Kaleidoscope Remote-JIT example doesn't work
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
    Classification: Unclassified

While I've listed the OS as Linux, I should clarify that I'm actually using the
Windows Subsystem for Linux in case that's a factor. But even if the existing
code does somehow work on a real instance of Linux, it's clear that some parts
are not quite correct.

The first problem is that when attempting to start the server, the bind call
fails. This is because the socket address is incorrectly initialised. Currently
the code looks like this:

  servAddr.sin_family = PF_INET;
  servAddr.sin_family = INADDR_ANY;

when it should really be this:

  servAddr.sin_family = AF_INET;
  servAddr.sin_addr.s_addr = INADDR_ANY;

With that fixed, the server starts, and the client can connect to it, but any
attempt to evaluate an expression will fail with the error: "Program used
external function 'printExprResult' which could not be resolved!"

That can easily be fixed with DynamicLibrary::AddSymbol call to register the
printExprResult function, but I'm not positive that is the right solution. If
it was expected that the function would somehow be accessible without explicit
registration then there may be a deeper problem (unless this is one area where
the WSL is in fact not compatible with Linux).

You are receiving this mail because:
You are on the CC list for the bug.
llvm-bugs mailing list

Reply via email to