Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.

Error when compiling: 'class torch::optim::RMSprop/Adam' has no member named 'options' #27

Open
lesleychou opened this issue May 1, 2020 · 4 comments

Comments

@lesleychou
Copy link

Hi author,

Thanks for your great work first!
I'm having following error when I tried to compile it on Linux:

lesley@cafe1:~/pytorch-cpp-rl/build$ cmake -DCMAKE_PREFIX_PATH=/home/lesley/pytorch-cpp-rl/libtorch ..
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found Torch: /home/lesley/pytorch-cpp-rl/libtorch/lib/libtorch.so  
-- Build type: Release
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Detected ZMQ Version - 4.3.2
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_C11
-- Performing Test COMPILER_SUPPORTS_C11 - Success
-- Performing Test CXX_HAS_TAUT_WARNING
-- Performing Test CXX_HAS_TAUT_WARNING - Success
-- Performing Test CC_HAS_TAUT_WARNING
-- Performing Test CC_HAS_TAUT_WARNING - Success
-- Using tweetnacl for CURVE security
-- Using radix tree implementation to manage subscriptions
-- Looking for kqueue
-- Looking for kqueue - not found
-- Looking for epoll_create
-- Looking for epoll_create - found
-- Looking for epoll_create1
-- Looking for epoll_create1 - found
-- Using polling method in I/O threads: epoll
-- Using polling method in zmq_poll(er)_* API: poll
-- Using 64 bytes alignment for lock-free data structures
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Looking for include file condition_variable
-- Looking for include file condition_variable - found
-- Using condition_variable_t implementation: stl11
-- Looking for include file ifaddrs.h
-- Looking for include file ifaddrs.h - found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - found
-- Looking for include file sys/eventfd.h
-- Looking for include file sys/eventfd.h - found
-- Checking whether EFD_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_EVENTFD_CLOEXEC
-- Performing Test ZMQ_HAVE_EVENTFD_CLOEXEC - Success
-- Looking for SO_PEERCRED
-- Looking for SO_PEERCRED - found
-- Looking for LOCAL_PEERCRED
-- Looking for LOCAL_PEERCRED - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for fork
-- Looking for fork - found
-- Looking for gethrtimei
-- Looking for gethrtimei - not found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for accept4
-- Looking for accept4 - found
-- Looking for strnlen
-- Looking for strnlen - found
-- Performing Test HAVE_FLAG_-Wall
-- Performing Test HAVE_FLAG_-Wall - Failed
-- Performing Test HAVE_FLAG_-Wextra
-- Performing Test HAVE_FLAG_-Wextra - Failed
-- Performing Test HAVE_FLAG_-Wno-long-long
-- Performing Test HAVE_FLAG_-Wno-long-long - Failed
-- Performing Test HAVE_FLAG_-Wno-uninitialized
-- Performing Test HAVE_FLAG_-Wno-uninitialized - Failed
-- Performing Test HAVE_FLAG_-pedantic
-- Performing Test HAVE_FLAG_-pedantic - Failed
-- Checking whether noexcept is supported
-- Performing Test ZMQ_HAVE_NOEXCEPT
-- Performing Test ZMQ_HAVE_NOEXCEPT - Success
-- Checking whether SOCK_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_SOCK_CLOEXEC
-- Performing Test ZMQ_HAVE_SOCK_CLOEXEC - Success
-- Checking whether O_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_O_CLOEXEC
-- Performing Test ZMQ_HAVE_O_CLOEXEC - Success
-- Checking whether SO_BINDTODEVICE is supported
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE - Success
-- Checking whether SO_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE - Success
-- Checking whether TCP_KEEPCNT is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT - Success
-- Checking whether TCP_KEEPIDLE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE - Success
-- Checking whether TCP_KEEPINTVL is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL - Success
-- Checking whether TCP_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE - Failed
-- Checking whether TIPC is supported
-- Performing Test ZMQ_HAVE_TIPC
-- Performing Test ZMQ_HAVE_TIPC - Success
-- Checking pthread_setname signature
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2 - Success
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME - Failed
-- Checking pthread_setaffinity signature
-- Performing Test ZMQ_HAVE_PTHREAD_SETAFFINITY
-- Performing Test ZMQ_HAVE_PTHREAD_SETAFFINITY - Success
-- Checking whether getrandom is supported
-- Performing Test ZMQ_HAVE_GETRANDOM
-- Performing Test ZMQ_HAVE_GETRANDOM - Failed
-- Could NOT find AsciiDoc (missing: ASCIIDOC_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lesley/pytorch-cpp-rl/build
lesley@cafe1:~/pytorch-cpp-rl/build$ make -j4
Scanning dependencies of target cpprl
Scanning dependencies of target cpprl_tests
Scanning dependencies of target objects
[  0%] Building CXX object CMakeFiles/cpprl.dir/src/storage.cpp.o
[  1%] Building CXX object CMakeFiles/cpprl.dir/src/observation_normalizer.cpp.o
[  1%] Building CXX object CMakeFiles/cpprl_tests.dir/src/storage.cpp.o
[  1%] Building C object example/lib/libzmq/CMakeFiles/objects.dir/src/tweetnacl.c.o
[  2%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/precompiled.cpp.o
[  3%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/address.cpp.o
[  3%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/client.cpp.o
[  4%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/clock.cpp.o
[  4%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ctx.cpp.o
[  5%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/curve_mechanism_base.cpp.o
[  6%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/curve_client.cpp.o
[  6%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/curve_server.cpp.o
[  7%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/dealer.cpp.o
[  7%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/devpoll.cpp.o
[  8%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/dgram.cpp.o
[  9%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/dist.cpp.o
[  9%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/endpoint.cpp.o
[ 10%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/epoll.cpp.o
[ 11%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/err.cpp.o
[ 11%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/fq.cpp.o
[ 12%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/io_object.cpp.o
[ 12%] Building CXX object CMakeFiles/cpprl.dir/src/running_mean_std.cpp.o
[ 12%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/io_thread.cpp.o
[ 13%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ip.cpp.o
[ 14%] Building CXX object CMakeFiles/cpprl.dir/src/algorithms/a2c.cpp.o
[ 15%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ipc_address.cpp.o
[ 15%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ipc_connecter.cpp.o
[ 16%] Building CXX object CMakeFiles/cpprl_tests.dir/src/observation_normalizer.cpp.o
[ 17%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ipc_listener.cpp.o
[ 18%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/kqueue.cpp.o
[ 18%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/lb.cpp.o
[ 19%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/mailbox.cpp.o
[ 19%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/mailbox_safe.cpp.o
[ 20%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/mechanism.cpp.o
/home/lesley/pytorch-cpp-rl/src/algorithms/a2c.cpp: In member function 'virtual std::vector<cpprl::UpdateDatum> cpprl::A2C::update(cpprl::RolloutStorage&, float)':
/home/lesley/pytorch-cpp-rl/src/algorithms/a2c.cpp:39:16: error: 'class torch::optim::RMSprop' has no member named 'options'
     optimizer->options.learning_rate(original_learning_rate * decay_level);
                ^
[ 21%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/mechanism_base.cpp.o
[ 21%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/metadata.cpp.o
[ 22%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/msg.cpp.o
[ 23%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/mtrie.cpp.o
[ 23%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/norm_engine.cpp.o
[ 24%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/object.cpp.o
[ 24%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/options.cpp.o
[ 25%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/own.cpp.o
[ 26%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/null_mechanism.cpp.o
CMakeFiles/cpprl.dir/build.make:101: recipe for target 'CMakeFiles/cpprl.dir/src/algorithms/a2c.cpp.o' failed
make[2]: *** [CMakeFiles/cpprl.dir/src/algorithms/a2c.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 26%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pair.cpp.o
[ 27%] Building CXX object CMakeFiles/cpprl_tests.dir/src/running_mean_std.cpp.o
[ 28%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pgm_receiver.cpp.o
[ 29%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pgm_sender.cpp.o
[ 29%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pgm_socket.cpp.o
[ 30%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pipe.cpp.o
[ 30%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/plain_client.cpp.o
CMakeFiles/Makefile2:285: recipe for target 'CMakeFiles/cpprl.dir/all' failed
make[1]: *** [CMakeFiles/cpprl.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 31%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/plain_server.cpp.o
[ 31%] Building CXX object CMakeFiles/cpprl_tests.dir/src/algorithms/a2c.cpp.o
[ 32%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/poll.cpp.o
[ 32%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/poller_base.cpp.o
[ 33%] Building CXX object CMakeFiles/cpprl_tests.dir/src/algorithms/ppo.cpp.o
[ 34%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/polling_util.cpp.o
[ 34%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pollset.cpp.o
[ 35%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/proxy.cpp.o
[ 36%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pub.cpp.o
[ 36%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/pull.cpp.o
/home/lesley/pytorch-cpp-rl/src/algorithms/a2c.cpp: In member function 'virtual std::vector<cpprl::UpdateDatum> cpprl::A2C::update(cpprl::RolloutStorage&, float)':
/home/lesley/pytorch-cpp-rl/src/algorithms/a2c.cpp:39:16: error: 'class torch::optim::RMSprop' has no member named 'options'
     optimizer->options.learning_rate(original_learning_rate * decay_level);
                ^
[ 37%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/push.cpp.o
[ 38%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/random.cpp.o
[ 38%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/raw_encoder.cpp.o
[ 39%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/raw_decoder.cpp.o
/home/lesley/pytorch-cpp-rl/src/algorithms/ppo.cpp: In member function 'virtual std::vector<cpprl::UpdateDatum> cpprl::PPO::update(cpprl::RolloutStorage&, float)':
/home/lesley/pytorch-cpp-rl/src/algorithms/ppo.cpp:48:16: error: 'class torch::optim::Adam' has no member named 'options'
     optimizer->options.learning_rate(original_learning_rate * decay_level);
                ^
[ 39%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/reaper.cpp.o
[ 40%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/rep.cpp.o
[ 41%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/req.cpp.o
[ 41%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/router.cpp.o
CMakeFiles/cpprl_tests.dir/build.make:101: recipe for target 'CMakeFiles/cpprl_tests.dir/src/algorithms/a2c.cpp.o' failed
make[2]: *** [CMakeFiles/cpprl_tests.dir/src/algorithms/a2c.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 42%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/select.cpp.o
[ 43%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/server.cpp.o
[ 43%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/session_base.cpp.o
[ 44%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/signaler.cpp.o
[ 44%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/socket_base.cpp.o
[ 45%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/socks.cpp.o
[ 46%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/socks_connecter.cpp.o
[ 46%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/stream.cpp.o
CMakeFiles/cpprl_tests.dir/build.make:114: recipe for target 'CMakeFiles/cpprl_tests.dir/src/algorithms/ppo.cpp.o' failed
make[2]: *** [CMakeFiles/cpprl_tests.dir/src/algorithms/ppo.cpp.o] Error 1
CMakeFiles/Makefile2:339: recipe for target 'CMakeFiles/cpprl_tests.dir/all' failed
make[1]: *** [CMakeFiles/cpprl_tests.dir/all] Error 2
[ 47%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/stream_engine.cpp.o
[ 48%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/sub.cpp.o
[ 48%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tcp.cpp.o
[ 50%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tcp_address.cpp.o
[ 50%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tcp_connecter.cpp.o
[ 51%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tcp_listener.cpp.o
[ 52%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/thread.cpp.o
[ 52%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/trie.cpp.o
[ 53%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/radix_tree.cpp.o
[ 53%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/v1_decoder.cpp.o
[ 54%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/v1_encoder.cpp.o
[ 55%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/v2_decoder.cpp.o
[ 55%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/v2_encoder.cpp.o
[ 56%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/xpub.cpp.o
[ 57%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/xsub.cpp.o
[ 57%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/zmq.cpp.o
[ 58%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/zmq_utils.cpp.o
[ 58%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/decoder_allocators.cpp.o
[ 59%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/socket_poller.cpp.o
[ 60%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/timers.cpp.o
[ 60%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/radio.cpp.o
[ 61%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/dish.cpp.o
[ 62%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/udp_engine.cpp.o
[ 62%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/udp_address.cpp.o
[ 63%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/scatter.cpp.o
[ 63%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/gather.cpp.o
[ 64%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/ip_resolver.cpp.o
[ 65%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/zap_client.cpp.o
[ 65%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/stream_connecter_base.cpp.o
[ 66%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/stream_listener_base.cpp.o
[ 67%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tipc_address.cpp.o
[ 67%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tipc_connecter.cpp.o
[ 68%] Building CXX object example/lib/libzmq/CMakeFiles/objects.dir/src/tipc_listener.cpp.o
[ 68%] Built target objects
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I already added the libtorch path to environment.
Do you have any idea how to solve this?

@perfan
Copy link

perfan commented Jun 9, 2020

Hi - It's b/c of recent PyTorch version upgrade to PyTorch 1.5, but the this framework is compatible with the previous versions. I'd suggest using the previous versions of PyTorch or developing the existing code according to recent changes in version 1.5.

@psimatis
Copy link

Im getting the same error. Are there any cheatsheets on how to massage the code to later versions?

@syunlee
Copy link

syunlee commented Oct 20, 2021

I solved the problem by using Libtorch 1.4.0.

https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.4.0%2Bcpu.zip

@ElegantLin
Copy link

Hi, @syunlee, I met a problem that cannot identify the torch_library. I did not do other things expect downloading the package, unzipping it and making sure the cmake path is correct. Do you know why?

Thank you!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants