rr on oracle linux 6

Kyle Huey me at kylehuey.com
Wed Nov 2 04:51:51 UTC 2016


Hmm, I don't see anything simple.  You can do 'make rr rrpreload
rrpreload_32' instead of 'make' in the object directory though.

- Kyle

On Tue, Nov 1, 2016 at 12:57 PM, Benjamin Dicken <bddicken at gmail.com> wrote:
> Yeah, the glibc on this machine is definitely outdated:
>
> $ ldd --version
> ldd (GNU libc) 2.12
> Copyright (C) 2010 Free Software Foundation, Inc.
>
> How do I disable / skip building the tests with cmake / make ?
>
>
> On Tue, Nov 1, 2016 at 10:47 AM, Kyle Huey <me at kylehuey.com> wrote:
>>
>> It sounds like you have an old glibc version.  What is `ldd
>> --version`?  I don't know what the minimum glibc version we need is
>> unfortunately (usually the kernel is the limiting piece for us).
>>
>> I would try disabling the tests and seeing how much progress you can
>> make on rr itself.
>>
>> - Kyle
>>
>> On Tue, Nov 1, 2016 at 7:51 AM, Benjamin Dicken <bddicken at gmail.com>
>> wrote:
>> > $ gcc --version
>> > gcc (GCC) 4.8.5
>> >
>> > It took awhile for me to get all of the dependencies for `cmake` to
>> > work,
>> > but now I do. I run `cmake`, which succeeds, then I run `make`, and very
>> > early on multiple errors are reported:
>> >
>> > $ make
>> > Scanning dependencies of target Generated
>> > [  0%] Generating AssemblyTemplates.generated
>> > [  0%] Generating CheckSyscallNumbers.generated
>> > [  0%] Generating SyscallEnumsX64.generated
>> > [  0%] Generating SyscallEnumsX86.generated
>> > [  0%] Generating SyscallEnumsForTestsX64.generated
>> > [  0%] Generating SyscallEnumsForTestsX86.generated
>> > [  1%] Generating SyscallHelperFunctions.generated
>> > [  1%] Generating SyscallnameArch.generated
>> > [  1%] Generating SyscallRecordCase.generated
>> > [  1%] Built target Generated
>> > Scanning dependencies of target 64bit_child
>> > [  1%] Building C object
>> > CMakeFiles/64bit_child.dir/src/test/64bit_child.c.o
>> > In file included from .../thirdparty/rr/rr/src/test/64bit_child.c:3:
>> > .../thirdparty/rr/rr/src/test/rrutil.h:54:26: error: sys/fanotify.h: No
>> > such
>> > file or directory
>> > In file included from .../thirdparty/rr/rr/src/test/rrutil.h:64,
>> >                  from .../thirdparty/rr/rr/src/test/64bit_child.c:3:
>> > /usr/include/sys/ptrace.h:33: error: expected identifier before numeric
>> > constant
>> > /usr/include/sys/ptrace.h:135: error: expected identifier before numeric
>> > constant
>> > /usr/include/sys/ptrace.h:147: error: expected identifier before numeric
>> > constant
>> > cc1: warnings being treated as errors
>> > In file included from .../thirdparty/rr/rr/src/test/64bit_child.c:3:
>> > .../thirdparty/rr/rr/src/test/rrutil.h: In function ‘rdtsc’:
>> > .../thirdparty/rr/rr/src/test/rrutil.h:177: error: implicit declaration
>> > of
>> > function ‘__rdtsc’
>> > make[2]: *** [CMakeFiles/64bit_child.dir/src/test/64bit_child.c.o] Error
>> > 1
>> > make[1]: *** [CMakeFiles/64bit_child.dir/all] Error 2
>> > make: *** [all] Error 2
>> > $
>> >
>> > The things that jump out at me specifically are:
>> >
>> > 1) ...rr/src/test/rrutil.h:54:26: error: sys/fanotify.h: No such file or
>> > directory
>> >
>> > Perhaps I'm just going crazy, but I could not figure out how to get this
>> > header installed on the system correctly. I made a temporary hack by
>> > commending out a few fanotify - related lines in the rr source to get
>> > past
>> > this.
>> >
>> > 2) /usr/include/sys/ptrace.h:33: error: expected identifier before
>> > numeric
>> > constant
>> >
>> > Not sure why gcc has trouble compiling this system header...
>> >
>> > 3) ...rr/src/test/rrutil.h:177: error: implicit declaration of function
>> > ‘__rdtsc’
>> >
>> > Again, don't know what's going on here.
>> >
>> > I don't mean to drag you into the weeds of my problem too much, but if
>> > you
>> > have some simple suggestions for resolutions, let me know.
>> >
>> > On Mon, Oct 31, 2016 at 6:39 PM, Kyle Huey <me at kylehuey.com> wrote:
>> >>
>> >> Ok. The next obvious question is which version of gcc you're running.
>> >>
>> >> It would also probably help if you gave us a bit more detail about the
>> >> problems you're running into.
>> >>
>> >> - Kyle
>> >>
>> >> On Mon, Oct 31, 2016 at 5:48 PM, Benjamin Dicken <bddicken at gmail.com>
>> >> wrote:
>> >> > Looks like 4.1:
>> >> >
>> >> > $ uname -r
>> >> > 4.1.12-37.6.3.el6uek.x86_64
>> >> >
>> >> > On Mon, Oct 31, 2016 at 5:44 PM, Kyle Huey <me at kylehuey.com> wrote:
>> >> >>
>> >> >> On Mon, Oct 31, 2016 at 5:39 PM, Benjamin Dicken
>> >> >> <bddicken at gmail.com>
>> >> >> wrote:
>> >> >> > All,
>> >> >> >
>> >> >> > Has anyone tested rr on or gotten rr to work on oracle-linux 6? I
>> >> >> > am
>> >> >> > currently trying to do so but running into a lot of problems. I
>> >> >> > tried
>> >> >> > both
>> >> >> > building from source and installing via the rpm package. For both,
>> >> >> > I
>> >> >> > have
>> >> >> > run into a lot of snags: Missing dependencies, compilation
>> >> >> > warnings/errors,
>> >> >> > missing headers, etc. Some of the specific ones I am currently
>> >> >> > facing
>> >> >> > may
>> >> >> > not be easy to resolve or work around given my version and other
>> >> >> > restrictions.
>> >> >> >
>> >> >> > Just wanted to check: Has anyone accomplished this before? If so,
>> >> >> > are
>> >> >> > there
>> >> >> > instructions out there on how to do so?
>> >> >> >
>> >> >> > My exact version of OEL is:
>> >> >> >
>> >> >> > $ rpm -qf /etc/redhat-release
>> >> >> > oraclelinux-release-6Server-8.0.3.x86_64
>> >> >> >
>> >> >> > Thanks,
>> >> >> >
>> >> >> > --
>> >> >> > ~Benjamin Dicken
>> >> >>
>> >> >> Which kernel version are you running?  rr requires at least 3.4, and
>> >> >> RHEL 6 is using 2.6.32, so unless Oracle is shipping you a more up
>> >> >> to
>> >> >> date kernel you may be out of luck.
>> >> >>
>> >> >> - Kyle
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > ~Benjamin Dicken
>> >
>> >
>> >
>> >
>> > --
>> > ~Benjamin Dicken
>
>
>
>
> --
> ~Benjamin Dicken


More information about the rr-dev mailing list