Re: Rados: Undefined symbol error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



----- Original Message -----
> From: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> To: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> Sent: Wednesday, 2 September, 2015 6:25:49 AM
> Subject: RE:  Rados: Undefined symbol error
> 
> Hello Brad,
> 
> I wanted to clarify the "make install" part of building a cluster. I finished
> building the source (have not done "make install" yet) and now when I type
> in "rados", I get this:
> 
> $rados
> 2015-09-01 13:12:25.061939 7f5370f35840 -1 did not load config file, using
> default settings.
> rados: you must give an action. Try --help
> 
> When I built ceph from source a couple of months ago(giant), I found that
> sudo make install does not deploy ceph binaries onto the system and hence,
> went through the process of building packages via dpkg and then deploying
> the cluster with ceph-deploy. I am not sure as to what make install does
> here. Could you elaborate on that?
> 
> I actually tried "make install" yesterday and when I typed "rados", I got
> something like this:
> 
> /usr/local/bin/rados: librados.so.2: cannot open shared object file
> 
> But I had to clone the source again because of some other issues and I am
> currently at the stage I mentioned in the beginning. Now I am not sure if I
> should "make install" or go through the process of building ceph packages
> from source and deploying the cluster with ceph-deploy. Any pointers on this
> would be very helpful! Thanks a lot again for your continued help :)

Note that the idea here was not to go into production with this but merely as a
test, that's why I suggested standing up a new vm to do it.

So let's try some things in the build directory then.

After the build the rados binary should end up in ./src/.libs/rados if deb
systems are the same as Fedora in that regard. If not you will need to find the
rados binary that gets built when you run "make". Once you have that run the
following on it.

$ strings ./src/.libs/rados|grep "^ceph version" -A5 ceph version
$ eu-unstrip -n -e  ./src/.libs/rados
$ nm --dynamic ./src/.libs/rados|grep Mutex
$ ./src/.libs/rados -v

The last command may not work unless you have the correct libraries in place on
the target system but please include all output.

Then you can do your normal packaging and install and run the same commands
substituting "$(which rados)" for ./src/.libs/rados.

It is very important you include all output and, if any of the tools are
missing, you may need to install the equivalent of the elfutils package (for
eu-unsrip, although I guess in pinch you could just use "strip" from the
binutils package. I just prefer the elfutils versions).

> 
> Aakanksha
> 
> 
> 
> -----Original Message-----
> From: Brad Hubbard [mailto:bhubbard@xxxxxxxxxx]
> Sent: Monday, August 31, 2015 3:47 PM
> To: Aakanksha Pudipeddi-SSI
> Cc: ceph-users
> Subject: Re:  Rados: Undefined symbol error
> 
> 
> 
> ----- Original Message -----
> > From: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > To: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> > Cc: "ceph-users" <ceph-users@xxxxxxxx>
> > Sent: Tuesday, 1 September, 2015 8:36:33 AM
> > Subject: Re:  Rados: Undefined symbol error
> > 
> > ----- Original Message -----
> > > From: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > To: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > > Cc: "ceph-users" <ceph-users@xxxxxxxx>
> > > Sent: Tuesday, 1 September, 2015 7:58:33 AM
> > > Subject: RE:  Rados: Undefined symbol error
> > > 
> > > Brad,
> > > 
> > > Yes, you are right. Sorry about that! This is what I get when I try
> > > with the back ticks:
> > > $ `which rados` -v
> > > /usr/bin/rados: symbol lookup error: /usr/bin/rados: undefined symbol:
> > > _ZN5MutexC1ERKSsbbbP11CephContext
> > > $ strings `which rados`|grep "^ceph version"
> > > $
> > > $ strings $(which rados)|grep "^ceph version" -A5 $
> > > 
> > > The latest command returns no results too.
> > 
> > Here's what you should get.
> > 
> > # strings $(which rados)|grep "^ceph version" -A5 ceph version
> > e4bfad3a3c51054df7e537a724c8d0bf9be972ff
> 
> Except you should see be422c8f5b494c77ebcf0f7b95e5d728ecacb7f0 since that is
> v9.0.2. Your rados binary just isn't behaving like anything I've seen
> before.
> 
> How about you stand up a fresh VM and run "./autogen.sh && ./configure &&
> make install" on v9.0.2 and see if you get similar output to what I'm
> getting then try working back from there?
> 
> > ConfLine(key = '
> > ', val='
> > ', newsection='
> >  = "
> > 
> > > 
> > > Thanks,
> > > Aakanksha
> > > 
> > > -----Original Message-----
> > > From: Brad Hubbard [mailto:bhubbard@xxxxxxxxxx]
> > > Sent: Monday, August 31, 2015 2:49 PM
> > > To: Aakanksha Pudipeddi-SSI
> > > Cc: ceph-users
> > > Subject: Re:  Rados: Undefined symbol error
> > > 
> > > ----- Original Message -----
> > > > From: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > To: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > > > Cc: ceph-users@xxxxxxxx
> > > > Sent: Tuesday, 1 September, 2015 7:27:04 AM
> > > > Subject: RE:  Rados: Undefined symbol error
> > > > 
> > > > Hello Brad,
> > > > 
> > > > When I type "which rados" it returns /usr/bin/rados.
> > > 
> > > Ah, I think I see what is happening.
> > > 
> > > $ strings `which rados`|grep "^ceph version" -A5
> > > 
> > > Those are backticks "`", not single quotes "'".
> > > 
> > > Try the following if it's easier.
> > > 
> > > $ strings $(which rados)|grep "^ceph version" -A5
> > > 
> > > 
> > > > I am using Ubuntu 14.04.
> > > > I follow these steps in installing ceph from source:
> > > > 
> > > > 1. ./autogen.sh
> > > > 2. Going to be using rocksdb, so: ./configure
> > > > --with-librocksdb-static 3. make 4. sudo dpkg-buildpackage
> > > > 
> > > > Then I use ceph-deploy to complete setup of the cluster and
> > > > instead of ceph-deploy install, I type sudo dpkg -i -R <path to
> > > > packages as a result of step 4>.
> > > > 
> > > > Thanks,
> > > > Aakanksha
> > > >  
> > > > 
> > > > -----Original Message-----
> > > > From: Brad Hubbard [mailto:bhubbard@xxxxxxxxxx]
> > > > Sent: Monday, August 31, 2015 2:19 PM
> > > > To: Aakanksha Pudipeddi-SSI
> > > > Cc: ceph-users@xxxxxxxx
> > > > Subject: Re:  Rados: Undefined symbol error
> > > > 
> > > > ----- Original Message -----
> > > > > From: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > > To: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > > > > Cc: ceph-users@xxxxxxxx
> > > > > Sent: Tuesday, 1 September, 2015 3:33:38 AM
> > > > > Subject: RE:  Rados: Undefined symbol error
> > > > > 
> > > > > Hello Brad,
> > > > > 
> > > > > Sorry for the delay in replying. As you mentioned earlier,
> > > > > 
> > > > > $ `which rados` -v
> > > > > 
> > > > > Returns a command not found error
> > > > 
> > > > If it can't find rados how are you using it?
> > > > 
> > > > Previously I gave you the following command. how did you run it is
> > > > `whcih rados` returns command not found?
> > > > 
> > > > # nm --dynamic `which rados` 2>&1|grep Mutex
> > > > 
> > > > $ which rados
> > > > 
> > > > Should return the path to the rados binary which you are having
> > > > problems with.
> > > > 
> > > > What OS/environment is this in and is there anything unusual about
> > > > it or the build environment or build process?
> > > > 
> > > > > 
> > > > > $ strings `which rados`|grep "^ceph version" -A5
> > > > > 
> > > > > Returns no results.
> > > > > 
> > > > > Thanks a lot!
> > > > > Aakanksha
> > > > > 
> > > > > -----Original Message-----
> > > > > From: Brad Hubbard [mailto:bhubbard@xxxxxxxxxx]
> > > > > Sent: Thursday, August 27, 2015 10:00 PM
> > > > > To: Aakanksha Pudipeddi-SSI
> > > > > Cc: ceph-users@xxxxxxxx
> > > > > Subject: Re:  Rados: Undefined symbol error
> > > > > 
> > > > > ----- Original Message -----
> > > > > > From: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > > > > > To: "Aakanksha Pudipeddi-SSI" <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > > > Cc: ceph-users@xxxxxxxx
> > > > > > Sent: Friday, 28 August, 2015 10:54:04 AM
> > > > > > Subject: Re:  Rados: Undefined symbol error
> > > > > > 
> > > > > > ----- Original Message -----
> > > > > > > From: "Aakanksha Pudipeddi-SSI"
> > > > > > > <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > > > > To: "Brad Hubbard" <bhubbard@xxxxxxxxxx>
> > > > > > > Cc: "Jason Dillaman" <dillaman@xxxxxxxxxx>,
> > > > > > > ceph-users@xxxxxxxx
> > > > > > > Sent: Friday, 28 August, 2015 6:15:12 AM
> > > > > > > Subject: RE:  Rados: Undefined symbol error
> > > > > > > 
> > > > > > > Hello Brad,
> > > > > > > 
> > > > > > > Thank you for your response. Looks like the command is undefined.
> > > > > > > 
> > > > > > > 	  U _ZN5Mutex4LockEb
> > > > > > >                  U _ZN5Mutex6UnlockEv
> > > > > > >                  U _ZN5MutexC1ERKSsbbbP11CephContext
> > > > > > >                  U _ZN5MutexD1Ev
> > > > > > 
> > > > > > $ git checkout v9.0.2
> > > > > > M       src/civetweb
> > > > > > HEAD is now at be422c8... 9.0.2
> > > > > > 
> > > > > > $ git show|head -1
> > > > > > commit be422c8f5b494c77ebcf0f7b95e5d728ecacb7f0
> > > > > > 
> > > > > > $./autogen.sh && ./configure && make -j2 $ sudo make install
> > > > > > 
> > > > > > $ which rados
> > > > > > /usr/local/bin/rados
> > > > > > $ rados -v
> > > > > > ceph version 9.0.2 (be422c8f5b494c77ebcf0f7b95e5d728ecacb7f0)
> > > > > > 
> > > > > > $ nm /usr/local/bin/rados|grep
> > > > > > ZN5MutexC1ERKSsbbbP11CephContext
> > > > > > 0000000000513790 T _ZN5MutexC1ERKSsbbbP11CephContext
> > > > > > 
> > > > > > What OS/environment is this in and is there anything unusual
> > > > > > about it or the build environment or build process?
> > > > > > 
> > > > > > What does the following command output?
> > > > > > 
> > > > > > $ `which rados` -v
> > > > > 
> > > > > Hehe, of course you can't do this because getting it to run is
> > > > > the problem isn't it? :P
> > > > > 
> > > > > Try this instead.
> > > > > 
> > > > > $ strings `which rados`|grep "^ceph version" -A5
> > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > Thanks,
> > > > > > > Aakanksha
> > > > > > > 
> > > > > > > -----Original Message-----
> > > > > > > From: Brad Hubbard [mailto:bhubbard@xxxxxxxxxx]
> > > > > > > Sent: Wednesday, August 26, 2015 5:46 PM
> > > > > > > To: Aakanksha Pudipeddi-SSI
> > > > > > > Cc: Jason Dillaman; ceph-users@xxxxxxxx
> > > > > > > Subject: Re:  Rados: Undefined symbol error
> > > > > > > 
> > > > > > > ----- Original Message -----
> > > > > > > > From: "Aakanksha Pudipeddi-SSI"
> > > > > > > > <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > > > > > To: "Jason Dillaman" <dillaman@xxxxxxxxxx>
> > > > > > > > Cc: ceph-users@xxxxxxxx
> > > > > > > > Sent: Thursday, 27 August, 2015 6:22:45 AM
> > > > > > > > Subject: Re:  Rados: Undefined symbol error
> > > > > > > > 
> > > > > > > > Hello Jason,
> > > > > > > > 
> > > > > > > > I checked the version of my built packages and they are
> > > > > > > > all 9.0.2.
> > > > > > > > I purged the cluster and uninstalled the packages and
> > > > > > > > there seems to be nothing else
> > > > > > > > - no older version. Could you elaborate on the fix for
> > > > > > > > this issue?
> > > > > > > 
> > > > > > > Some thoughts...
> > > > > > > 
> > > > > > > # c++filt  _ZN5MutexC1ERKSsbbbP11CephContext
> > > > > > > Mutex::Mutex(std::basic_string<char, std::char_traits<char>,
> > > > > > > std::allocator<char> > const&, bool, bool, bool,
> > > > > > > CephContext*)
> > > > > > > 
> > > > > > > Thats from common/Mutex.cc
> > > > > > > 
> > > > > > > # nm --dynamic `which rados` 2>&1|grep Mutex
> > > > > > > 0000000000504da0 T _ZN5Mutex4LockEb
> > > > > > > 0000000000504f70 T _ZN5Mutex6UnlockEv
> > > > > > > 0000000000504a50 T _ZN5MutexC1EPKcbbbP11CephContext
> > > > > > > 0000000000504a50 T _ZN5MutexC2EPKcbbbP11CephContext
> > > > > > > 0000000000504d10 T _ZN5MutexD1Ev
> > > > > > > 0000000000504d10 T _ZN5MutexD2Ev
> > > > > > > 
> > > > > > > This shows my version is defined in the text section of the
> > > > > > > binary itself.
> > > > > > > What do you get when you run the above command?
> > > > > > > 
> > > > > > > Like Jason says this is some sort of mis-match between your
> > > > > > > rados binary and your installed libs.
> > > > > > > 
> > > > > > > HTH,
> > > > > > > Brad
> > > > > > > 
> > > > > > > > 
> > > > > > > > Thanks,
> > > > > > > > Aakanksha
> > > > > > > > 
> > > > > > > > -----Original Message-----
> > > > > > > > From: Jason Dillaman [mailto:dillaman@xxxxxxxxxx]
> > > > > > > > Sent: Friday, August 21, 2015 6:37 AM
> > > > > > > > To: Aakanksha Pudipeddi-SSI
> > > > > > > > Cc: ceph-users@xxxxxxxx
> > > > > > > > Subject: Re:  Rados: Undefined symbol error
> > > > > > > > 
> > > > > > > > It sounds like you have rados CLI tool from an earlier
> > > > > > > > Ceph release (<
> > > > > > > > Hammer) installed and it is attempting to use the librados
> > > > > > > > shared library from a newer (>= Hammer) version of Ceph.
> > > > > > > > 
> > > > > > > > Jason
> > > > > > > > 
> > > > > > > > 
> > > > > > > > ----- Original Message -----
> > > > > > > > 
> > > > > > > > > From: "Aakanksha Pudipeddi-SSI"
> > > > > > > > > <aakanksha.pu@xxxxxxxxxxxxxxx>
> > > > > > > > > To: ceph-users@xxxxxxxx
> > > > > > > > > Sent: Thursday, August 20, 2015 11:47:26 PM
> > > > > > > > > Subject:  Rados: Undefined symbol error
> > > > > > > > 
> > > > > > > > > Hello,
> > > > > > > > 
> > > > > > > > > I cloned the master branch of Ceph and after setting up
> > > > > > > > > the cluster, when I tried to use the rados commands, I
> > > > > > > > > got this
> > > > > > > > > error:
> > > > > > > > 
> > > > > > > > > rados: symbol lookup error: rados: undefined symbol:
> > > > > > > > > _ZN5MutexC1ERKSsbbbP11CephContext
> > > > > > > > 
> > > > > > > > > I saw a similar post here:
> > > > > > > > > http://tracker.ceph.com/issues/12563
> > > > > > > > > but I am not clear on the solution for this problem. I
> > > > > > > > > am not performing an upgrade here but the error seems to
> > > > > > > > > be similar.
> > > > > > > > > Could anybody shed more light on the issue and how to solve
> > > > > > > > > it?
> > > > > > > > > Thanks a lot!
> > > > > > > > 
> > > > > > > > > Aakanksha
> > > > > > > > 
> > > > > > > > > _______________________________________________
> > > > > > > > > ceph-users mailing list
> > > > > > > > > ceph-users@xxxxxxxxxxxxxx
> > > > > > > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> > > > > > > > _______________________________________________
> > > > > > > > ceph-users mailing list
> > > > > > > > ceph-users@xxxxxxxxxxxxxx
> > > > > > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> > > > > > > > 
> > > > > > > 
> > > > > > _______________________________________________
> > > > > > ceph-users mailing list
> > > > > > ceph-users@xxxxxxxxxxxxxx
> > > > > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> > > > > > 
> > > > > 
> > > > 
> > > 
> > _______________________________________________
> > ceph-users mailing list
> > ceph-users@xxxxxxxxxxxxxx
> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> > 
> 
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux