Re: undefined references in luminous for librados-devel

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

 



On Fri, Sep 15, 2017 at 2:44 PM, Noah Watkins <noahwatkins@xxxxxxxxx> wrote:
> Thanks a lot Brad. I'm going to give this a shot.

Let me know if you find any issues and we'll try and work through them
as time permits.

>
> I started down a rabbit hole when I noticed that the rados client in
> the default repositories in fedora 23 was too old to talk to luminous.
> So in our CI we just installed Luminous everywhere out of simplicity.
> Then we started hitting issues like this ABI stuff. Turns out the
> clients in the default repositories in fc 24+ work just fine, so
> dropping fc23 support was reasonable since it was mostly to support
> development environments.

Yeah, F23 has gone the way of the dodo ;) I'd have to be *extremely*
motivated to try building luminous on it.

>
> On Thu, Sep 14, 2017 at 9:14 PM, Brad Hubbard <bhubbard@xxxxxxxxxx> wrote:
>> On Fri, Sep 15, 2017 at 7:40 AM, Noah Watkins <noahwatkins@xxxxxxxxx> wrote:
>>> Yeh, thanks, I just noticed this:
>>>
>>> On the Fedora nodes the following works `c++
>>> -D_GLIBCXX_USE_CXX11_ABI=0 --std=c++11 -Wall test.cc -lrados`, and on
>>> CentOS 7, either 0 or 1 works for the CXX11_ABI variable.
>>>
>>> The docs say "When defined to a non-zero value [the CXX11_ABI
>>> variable] the library headers will use the new C++11-conforming ABI
>>> introduced in GCC 5, rather than the older ABI introduced in GCC 3.4".
>>>
>>> Makes sense. I guess I expected issues like this to be filtered out /
>>> caught through rpm magic. Know of any CMake magic macros that can turn
>>> those flags on?
>>
>> You can try these if you want?
>>
>> https://copr.fedorainfracloud.org/coprs/badone/ceph-luminous/build/602668/
>>
>> Not official of course, but probably (maybe?) better than what you're using now?
>>
>>>
>>> On Thu, Sep 14, 2017 at 2:31 PM, Sage Weil <sage@xxxxxxxxxxxx> wrote:
>>>> On Thu, 14 Sep 2017, Noah Watkins wrote:
>>>>> Running into some undefined references linking against librados in
>>>>> Luminous. Installed using RPM repo instructions from Ceph docs. Note
>>>>> this issue shows up on Fedora 23,24,25, but not on CentOS 7.
>>>>
>>>> It looks a bit like these are C++ ABI differences because you are using
>>>> el7 libraries on an fc25 box, which probably has a different
>>>> version of gcc, libraries, etc?
>>>>
>>>> sage
>>>>
>>>>
>>>>> # Test program
>>>>>
>>>>> [root@0ac98bfcffa2 build]# cat test.cc
>>>>> #include <rados/librados.hpp>
>>>>>
>>>>> int main(int argc, char **argv)
>>>>> {
>>>>>   librados::IoCtx ioctx;
>>>>>   return ioctx.create("foo", true);
>>>>> }
>>>>>
>>>>> # Linking error
>>>>>
>>>>> [root@0ac98bfcffa2 build]# c++ --std=c++11 -Wall test.cc -lrados
>>>>> /tmp/cc4MZnFR.o: In function `main':
>>>>> test.cc:(.text+0x51): undefined reference to
>>>>> `librados::IoCtx::create(std::__cxx11::basic_string<char,
>>>>> std::char_traits<char>, std::allocator<char> > const&, bool)'
>>>>> collect2: error: ld returned 1 exit status
>>>>>
>>>>> # Looks like everything is installed correctly.
>>>>>
>>>>> [root@0ac98bfcffa2 build]# librados-config --version
>>>>> ceph version 12.2.0 (32ce2a3ae5239ee33d6150705cdb24d43bab910c) luminous (rc)
>>>>>
>>>>> [root@0ac98bfcffa2 build]# rpm -qa | grep 'rados\|ceph'
>>>>> python-rados-12.2.0-0.el7.x86_64
>>>>> python-cephfs-12.2.0-0.el7.x86_64
>>>>> ceph-selinux-12.2.0-0.el7.x86_64
>>>>> ceph-osd-12.2.0-0.el7.x86_64
>>>>> librados2-12.2.0-0.el7.x86_64
>>>>> libradosstriper1-12.2.0-0.el7.x86_64
>>>>> ceph-base-12.2.0-0.el7.x86_64
>>>>> ceph-mds-12.2.0-0.el7.x86_64
>>>>> ceph-mon-12.2.0-0.el7.x86_64
>>>>> ceph-12.2.0-0.el7.x86_64
>>>>> libcephfs2-12.2.0-0.el7.x86_64
>>>>> ceph-common-12.2.0-0.el7.x86_64
>>>>> ceph-mgr-12.2.0-0.el7.x86_64
>>>>> librados-devel-12.2.0-0.el7.x86_64
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>
>>>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
>>
>> --
>> Cheers,
>> Brad



-- 
Cheers,
Brad
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux