@krrishabh
Ah. I see, you downloaded libtorch with cuda version, that’s why you have libc10_cuda.so. Yes, I typed libtorch_gpu.so, that’s a typo, what I meant is libtorch_cuda.so.
I think you should focus on getting cmake work with find_package() instead of adding .so by yourself, the reason is that pytorch is changing very fast, symbols might changed their .so file (where they are built in). So if you add .so by yourself, it might not work after a while.
for eg. in your error, ‘torch::jit::Object::find_method’ is in libpytorch_jni.so, so you have to add libpytorch_jni.so as well, but it might be built into another .so later, (we might split so files if they are too big). Based on your error msg,  you need to find each missing symbol in those .so files and add the .so into your CMakeList.txt.
If step 1 works for you (you can build a libtorch program following the instruction), please verify that both libtorch and your program using the same ABI setup and same compiler (gnu compatible), if so, I think this issue it going to be how to write a correct cmake file. I can not help much on writing cmake file for your program, that’s why I suggested in previous message that you should find a cmake tutorial (and plus google search for sure), and learn the related topic, eg. how to make PATH flags works in chaining call. The order of libraries sometimes matters as well.
==============================================================================
If you do want to keep trying adding .so by yourself, you can try adding more .so files from libtorch/lib, at least that libpytorch_jni.so is one you needed as well, you might need more.
And by the way, I saw you have pytorch-rnnlm.cc, and lattice-lmrescore-py-rnnlm.cc, try to simplify those files by comments some of lines (or even all lines except #inclue) in those files, so you can narrow down the errors and solve them one by one.  But again, finding a cmake tutorial is more useful I think.