Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove chainerx dependency from test backends #8409

Merged
merged 1 commit into from
Nov 13, 2019

Conversation

niboshi
Copy link
Member

@niboshi niboshi commented Nov 12, 2019

I think these are not necessary.

@kmaehashi kmaehashi added the ChainerX Related to ChainerX. label Nov 12, 2019
@kmaehashi kmaehashi added the cat:test Test or CI related. label Nov 12, 2019
Copy link
Member

@emcastillo emcastillo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@emcastillo emcastillo added this to the v7.0.0 milestone Nov 13, 2019
@emcastillo emcastillo added the st:test-and-merge State indicating that pull request is approved by a reviewer and can be merged after CI passes. label Nov 13, 2019
@emcastillo
Copy link
Member

Jenkins, test this please

@chainer-ci
Copy link
Member

Jenkins CI test (for commit 28a0f95, target branch master) succeeded!

@mergify mergify bot merged commit ed51e3f into chainer:master Nov 13, 2019
@niboshi niboshi deleted the chainerx-backend-link branch November 13, 2019 07:32
@hvy
Copy link
Member

hvy commented Nov 15, 2019

Hm, I'm failing to build ChainerX on my mac after this change with undefined symbols (methods from NativeBackend that are not overridden by Backend{0,1}) while linking backend0.so, backend1.so (if CHAINERX_BUILD_TEST=ON). Strangely, it works on linux.

[ 44%] Building CXX object chainerx/CMakeFiles/chainerx_base.dir/backprop_mode.o
Undefined symbols for architecture x86_64:
Undefined symbols for architecture x86_64:
  "chainerx::native::NativeBackend::CreateDevice(int)", referenced from:
  "chainerx::native::NativeBackend::CreateDevice(int)", referenced from:
      vtable for (anonymous namespace)::Backend1 in backend1.o
      vtable for (anonymous namespace)::Backend0 in backend0.o
  "chainerx::native::NativeBackend::SupportsTransfer(chainerx::Device&, chainerx::Device&)", referenced from:
      vtable for (anonymous namespace)::Backend1 in backend1.o
  "chainerx::native::NativeBackend::SupportsTransfer(chainerx::Device&, chainerx::Device&)", referenced from:
  "chainerx::native::NativeBackend::GetGlobalKernelRegistry()", referenced from:
      vtable for (anonymous namespace)::Backend0 in backend0.o
      (anonymous namespace)::Backend1::GetParentKernelRegistry() in backend1.o
  "chainerx::Backend::Initialize()", referenced from:
  "chainerx::native::NativeBackend::GetGlobalKernelRegistry()", referenced from:
      vtable for (anonymous namespace)::Backend1 in backend1.o
      (anonymous namespace)::Backend0::GetParentKernelRegistry() in backend0.o
  "chainerx::Backend::Backend(chainerx::Context&)", referenced from:
      chainerx::native::NativeBackend::NativeBackend(chainerx::Context&) in backend1.o
  "chainerx::Backend::Initialize()", referenced from:
  "chainerx::Backend::~Backend()", referenced from:
      chainerx::native::NativeBackend::~NativeBackend() in backend1.o
  "chainerx::native::NativeBackend::GetDeviceCount() const", referenced from:
      vtable for (anonymous namespace)::Backend1 in backend1.o
  "typeinfo for chainerx::native::NativeBackend", referenced from:
      typeinfo for (anonymous namespace)::Backend1 in backend1.o
  "vtable for chainerx::native::NativeBackend", referenced from:
      chainerx::native::NativeBackend::NativeBackend(chainerx::Context&) in backend1.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      vtable for (anonymous namespace)::Backend0 in backend0.o
  "chainerx::Backend::Backend(chainerx::Context&)", referenced from:
      chainerx::native::NativeBackend::NativeBackend(chainerx::Context&) in backend0.o
  "chainerx::Backend::~Backend()", referenced from:
      chainerx::native::NativeBackend::~NativeBackend() in backend0.o
  "chainerx::native::NativeBackend::GetDeviceCount() const", referenced from:
      vtable for (anonymous namespace)::Backend0 in backend0.o
  "typeinfo for chainerx::native::NativeBackend", referenced from:
ld: symbol(s) not found for architecture x86_64
      typeinfo for (anonymous namespace)::Backend0 in backend0.o
  "vtable for chainerx::native::NativeBackend", referenced from:
      chainerx::native::NativeBackend::NativeBackend(chainerx::Context&) in backend0.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [chainerx/backend_testdata/backends/backend1.so] Error 1
make[2]: *** [chainerx/backend_testdata/backends/backend0.so] Error 1
make[1]: *** [chainerx/backend_testdata/CMakeFiles/backend1.so.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [chainerx/backend_testdata/CMakeFiles/backend0.so.dir/all] Error 2
[ 44%] Building CXX object chainerx/native/CMakeFiles/chainerx_native.dir/native_device/binary.o

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat:test Test or CI related. ChainerX Related to ChainerX. st:test-and-merge State indicating that pull request is approved by a reviewer and can be merged after CI passes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants