can rohc run in fedora? how to get rohc-tcp src?

Asked by sleepswallow on 2013-07-30

hello teacher:
        I want to know can rohc-1.6.0.tar.bz2 run in fedora8?
       others: I want to get rohc-tcp source code, how can I get it?

       I waiting for your answer, thank you very much!

Question information

Language:
English Edit question
Status:
Solved
For:
rohc Edit question
Assignee:
No assignee Edit question
Solved by:
Didier Barvaux
Solved:
2013-08-20
Last query:
2013-08-20
Last reply:
2013-08-15

This question was reopened

Hello,

> I want to know can rohc-1.6.0.tar.bz2 run in fedora8?

Do you mean Fedora 8 (released in 2007) or Fedora 18 (released this year) ? On Fedora 8, it probably runs but I never tested (and cannot test). On Fedora 18, it runs fine.

> others: I want to get rohc-tcp source code, how can I get it?

The TCP profile is located in the main development branch. Follow the instructions from http://rohc-lib.org/wiki/doku.php?id=library-hacking#get_source_code_with_bazaar

Regards,
Didier

sleepswallow (sleepswallow128) said : #3

Hello Dider:
        First, thanks for your answer. I want to run rohc-1.6.0.tar.bz2 on fedora 8, your said "On Fedora 8, it probably runs but I never tested (and cannot test).". what means? why cannot test?
      second, I have downloaded "~didier-barvaux_rohc_main-r776.tgz", is it included "rohc-tcp" and all others protocol header(IP、udp、RTP、esp and so on) ? can ~didier-barvaux_rohc_main-r776.tgz run fine ?
    third , I have taken two weeks to comprehend RFC about rohc, now I want to comprehend the source code of rohc, how can I begin to study it well ?
   last , I want to build didier-barvaux_rohc_main-r776.tgz to my fedora8 , run it well and test it , how do it ?
    thanks very much!
   Regards,
     sleepswallow

Hello,

> I want to run rohc-1.6.0.tar.bz2 on fedora 8, your said "On Fedora 8, it
> probably runs but I never tested (and cannot test).". what means? why
> cannot test?

Fedora 8 was released in November 2007 [1]. It is not supported anymore since January 2009 [1]. I cannot test the ROHC library on all OSes that existed one day. It probably works fine. Try it. If you encounter a problem, tell me. I'll try to provide you some help.

[1] https://fedoraproject.org/wiki/Releases/8/Schedule

> second, I have downloaded "~didier-barvaux_rohc_main-r776.tgz", is it
> included "rohc-tcp" and all others protocol header(IP、udp、RTP、esp
> and so on) ?

Yes.

> can ~didier-barvaux_rohc_main-r776.tgz run fine ?

Yes. It is not a released version, so there is always the risk to have a regression, but all tests run fine on all systems the library was tested on.

> third , I have taken two weeks to comprehend RFC about rohc, now
> I want to comprehend the source code of rohc, how can I begin to
> study it well ?

Start with the rohc_compress2() function in the code. That function is the entry point for ROHC compression. Read the code of the function. Then read the code of the functions the rohc_compress2() function calls. And so on. The code contains many comments and references to the RFCs related to ROHC. Keep an eye on the RFCs while reading the code.

> last , I want to build didier-barvaux_rohc_main-r776.tgz to my fedora8 , run it well and test it , how do it ?

See http://rohc-lib.org/wiki/doku.php?id=library-install-sources#native_build_on_unix-like_systems

You cannot follow the instructions blindly because you don't use a release version, but a snapshot of the dev version:
 - step 1: do it
 - step 2: do it
 - step 3: skip it
 - step 4: adapt the name of the archive
 - step 5: skip it
 - step 6: adapt the name of the directory
 - step 7: replace ./configure by ./autogen.sh
 - steps 8-10 : do them

Regards,
Didier

matthew (xcalibre0) said : #5

I built rohc and iprohc on redhat 6 machines which should be remarkably similar to fedora

________________________________
 From: Didier Barvaux <email address hidden>
To: <email address hidden>
Sent: Monday, August 5, 2013 11:01 AM
Subject: Re: [Rohc] [Question #233262]: can rohc run in fedora? how to get rohc-tcp src?

Question #233262 on rohc changed:
https://answers.launchpad.net/rohc/+question/233262

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Hello,

> I want to run rohc-1.6.0.tar.bz2 on fedora 8, your said "On Fedora 8, it
> probably runs but I never tested (and cannot test).". what means? why
> cannot test?

Fedora 8 was released in November 2007 [1]. It is not supported anymore
since January 2009 [1]. I cannot test the ROHC library on all OSes that
existed one day. It probably works fine. Try it. If you encounter a
problem, tell me. I'll try to provide you some help.

[1] https://fedoraproject.org/wiki/Releases/8/Schedule

> second, I have downloaded "~didier-barvaux_rohc_main-r776.tgz", is it
> included "rohc-tcp" and all others protocol header(IP、udp、RTP、esp
> and so on) ?

Yes.

> can ~didier-barvaux_rohc_main-r776.tgz run fine ?

Yes. It is not a released version, so there is always the risk to have a
regression, but all tests run fine on all systems the library was tested
on.

> third , I have taken two weeks to comprehend RFC about rohc, now
> I want to comprehend the source code of rohc, how can I begin to
> study it well ?

Start with the rohc_compress2() function in the code. That function is
the entry point for ROHC compression. Read the code of the function.
Then read the code of the functions the rohc_compress2() function calls.
And so on. The code contains many comments and references to the RFCs
related to ROHC. Keep an eye on the RFCs while reading the code.

>  last , I want to build didier-barvaux_rohc_main-r776.tgz to my fedora8 , run it well and test it , how do it ?

See http://rohc-lib.org/wiki/doku.php?id=library-install-sources
#native_build_on_unix-like_systems

You cannot follow the instructions blindly because you don't use a release version, but a snapshot of the dev version:
- step 1: do it
- step 2: do it
- step 3: skip it
- step 4: adapt the name of the archive
- step 5: skip it
- step 6: adapt the name of the directory
- step 7: replace ./configure by ./autogen.sh
- steps 8-10 : do them

Regards,
Didier

--
You received this question notification because you are a member of ROHC
Team, which is an answer contact for rohc.

_______________________________________________
Mailing list: https://launchpad.net/~rohc
Post to    : <email address hidden>
Unsubscribe : https://launchpad.net/~rohc
More help  : https://help.launchpad.net/ListHelp

> I built rohc and iprohc on redhat 6 machines which should be
> remarkably similar to fedora

According to [1], RHEL 6 is based on Fedora 12 or 13, so there is a gap
between RHEL 6 and Fedora 8. It is worth a try however.

Regards,
Didier

[1] https://en.wikipedia.org/wiki/Rhel#Relationship_to_free_and_community_distributions

sleepswallow (sleepswallow128) said : #7

hello:
    first,thank Some teachers very much !
     I builded didier-barvaux_rohc_main-r776.tgz to my fedora8 , there is a error:
        configure.ac :81: option "parallel-tests" not recognized
    next, I removed "parallel-tests" from the configure.ac file.
   then , use the command: ./autogen.sh
     another error is present: ./configure:line 2651:syntax error near unexpected token '2.2.0'
   ./ configure. line 2651' LT-PREREQ(2.2.0)'

  please provide me some help. thanks

  other qusetions:
        1、I want to test the compression effect of RTP+UDP+IPv6,UDP+IPv6 and TCP+IPv6 packet header ,how to design the test case and programming , or you can provide me some testing code?

        2、 I want insert the rohc library to linux kernel ,how to do it ?

Regards,
sleepswallow

sleepswallow (sleepswallow128) said : #8

hello:
  I want to supplement above error hint:

[root@localhost main]# ./autogen.sh
Error is:

Running aclocal... done
Running libtoolize... done
Running autoconf... done
Running autoheader... done
Running automake... failed
Running automake again with errors unmasked:
configure.ac:81: option `parallel-tests' not recognized

thanks ~~

Hello,

> I builded didier-barvaux_rohc_main-r776.tgz to my fedora8 , there is a error:
> configure.ac :81: option "parallel-tests" not recognized
> next, I removed "parallel-tests" from the configure.ac file.
> then , use the command: ./autogen.sh
> another error is present: ./configure:line 2651:syntax error near unexpected token '2.2.0'
> ./ configure. line 2651' LT-PREREQ(2.2.0)'

Your autotools are too old. That's expected on Fedora 8 :-(

Use another machine with an up-to-date Linux to create the configure script. Then use the prebuilt script on Fedora 8.

On the other up-to-date Linux:
   $ tar xvzf didier-barvaux_rohc_main-r776.tgz
   $ cd didier-barvaux_rohc_main-r776/
   $ ./autogen.sh --disable-rohc-tests --disable-rohc-stats \
       --disable-doc --disable-linux-kernel-module --disable-app-fuzzer \
       --disable-app-performance --disable-app-sniffer --disable-app-tunnel
   $ make dist

Transmit the generated rohc-1.7.0~776.tar.bz2 archive on the Fedora 8 machine, then:
   $ tar xvjf rohc-1.7.0~776.tar.bz2
   $ cd rohc-1.7.0~776
   $ ./configure
   $ make clean
   $ make all

> other qusetions:
> 1、I want to test the comprsession effect of RTP+UDP+IPv6,UDP+IPv6
> and TCP+IPv6 packet header ,how to design the test case and
> programming , or you can provide me some testing code?

Have a look at the statistics tool located in the statistics/ subdirectory in sources.

> 2、 I want insert the rohc library to linux kernel ,how to do it ?

Use the --enable-linux-kernel-module configure option. Then, build with make all as usual.

Regards,
Didier

hello:
      thank Dider very much:)

On the other up-to-date Linux:
   $ tar xvzf didier-barvaux_rohc_main-r776.tgz
   $ cd didier-barvaux_rohc_main-r776/
   $ ./autogen.sh--disable-rohc-tests --disable-rohc-stats \
       --disable-doc --disable-linux-kernel-module --disable-app-fuzzer \
       --disable-app-performance --disable-app-sniffer --disable-app-tunnel
   $ make dist

Transmit the generated rohc-1.7.0~776.tar.bz2 archive on the Fedora 8 machine, then:
   $ tar xvjf rohc-1.7.0~776.tar.bz2
   $ cd rohc-1.7.0~776
   $ ./configure
   $ make clean
   $ make all

   first: I make it under your upper approach, make out rohc-1.7.0~776.tar.bz2 under fedora 18(I have installed fedora 18 and fedora 8) and copy rohc-1.7.0~776.tar.bz2 to fedora8 , make all is good and no error.
 but ,I want to know where the library is , because I have not find it ; and how to test it because I have disable-rohc-tests --disable-rohc-stats \ --disable-doc --disable-linux-kernel-module --disable-app-fuzzer \
       --disable-app-performance --disable-app-sniffer --disable-app-tunnel?

another question:
        I build the didier-barvaux_rohc_main-r776.tgz on my fedora18, use ./autogen.sh (all configure is enabled of autogen.sh), there is error :
  .....
 checking pcap.h usability ..... no
checking pcap/pcap.h presence ....no
checking for pcap/pcap.h .....no
checking for pcap-open-offing in lpcap ...no
checking for pcap-dump-close in lpcap ....no
error: libpcap library/headers not found

 I want to know how to resolve these question; I need to down the libpcap library ?

 other qusetions:
> 1、I want to test the comprsession effect of RTP+UDP+IPv6,UDP+IPv6
> and TCP+IPv6 packet header ,how to design the test case and
> programming , or you can provide me some testing code?

Have a look at the statistics tool located in the statistics/ subdirectory in sources.
  can I use the command to test? eg: gcc *.c -o filenam
or if the rohc library is build fine ,can I program the source file to run and test by call the function of the rohc libray ?

> 2、 I want insert the rohc library to linux kernel ,how to do it ?

Use the --enable-linux-kernel-module configure option. Then, build with make all as usual.

   I find the linux catalogue in library, I want to know how use this module in kernel ? eg: the packets from the application
is IP packet, then call the rohc module to compressor the ip packet ,if not , send to the device under no compressor ?
or other way?

 thanks
Regards:
 sleepswallow

Hello,

> but ,I want to know where the library is , because I have not find it ;

The .so files of the library are generated in src/common/.libs/, src/comp/.libs/, and src/decomp/.libs/.
You can install them on your system with the 'make install' command. There will be installed in /usr/local/lib/ by default. You can change the path with the --prefix option to configure.

> and how to test it because I have disable-rohc-tests [...] ?

Replace --disable-rohc-tests by --enable-rohc-tests on the Fedora 8 system to run tests on it. Then, use the make check' command to run them. You'll need to have libpcap library and headers installed.

> another question:
> I build the didier-barvaux_rohc_main-r776.tgz on my fedora18,
> use ./autogen.sh (all configure is enabled of autogen.sh), there is error :
> .....
> checking pcap.h usability ..... no
> checking pcap/pcap.h presence ....no
> checking for pcap/pcap.h .....no
> checking for pcap-open-offing in lpcap ...no
> checking for pcap-dump-close in lpcap ....no
> error: libpcap library/headers not found
>
> I want to know how to resolve these question; I need to down the libpcap library ?

There is an additional message after the error message you mention. That message reads:
      Go get it from http://www.tcpdump.org/ or use the --with-libpcap-*
      options, if you have it installed in unusual place. Also check if
      it depends on another shared library that may be installed in an
      unusual place.

So, _yes_, you need to install libpcap library and header files. The package repositories of Fedora 8 probably contain packages named libpcap and libpcap-devel (or the like) that you may install.

> Have a look at the statistics tool located in the statistics/
> subdirectory in sources. can I use the command to test?
> eg: gcc *.c -o filenam
> or if the rohc library is build fine ,can I program the source
> file to run and test by call the function of the rohc libray ?

Use the --enable-rohc-stats option to configure. You need libpcap and gnuplot installed.
Then run make check -C statistics/ and load the statistics/html/index.html HTML file in your favorite browser.

> I find the linux catalogue in library, I want to know how use this
> module in kernel ? eg: the packets from the application
> is IP packet, then call the rohc module to compressor the ip packet,
> if not , send to the device under no compressor ?
> or other way?

There are 2 different kernel modules:
 - rohc.ko that exports the ROHC library in kernel space,
 - rohc_test.ko that provides an example of use of the functions exported by rohc.ko.

Regards,
Didier

hello:

There are 2 different kernel modules:
 - rohc.ko that exports the ROHC library in kernel space,
 - rohc_test.ko that provides an example of use of the functions exported by rohc.ko.
    I want to konw where are the two files of rohc.ko and rohc_test.ko ?

 next :
    I want to compile the example/simple_rohc_program.c file in fedora18 because of enabling examples of configure file.

   one way: $ gcc -o simple_rohc_program -g -Wall $(pkg-config rohc --libs) simple_rohc_program.c
    this is the error:
       bash: pkg_config: command not found
     simple_rohc_program,c:35:51: fatal error: config.h no such file or directory.

   another: I use
   $ gcc -o simple_rohc_program -g -Wall -lrohc_common -lrohc_comp -lrohc_decomp -lm simple_rohc_program.c
  error:
    simple_rohc_program.c :35:51: fatal error: config.h no such file or directory.
  then I find config.h in the main directory, I copy it to example, use the command again:
    $ gcc -o simple_rohc_program -g -Wall -lrohc_common -lrohc_comp -lrohc_decomp -lm simple_rohc_program.c
   no error , use the command:
    $ ./simple_rohc_program
  error while loading shared libraries: librohc-common.so.0:cannot open shared object file: No such file or directory.
   I want to get help for you. thanks!
   Regards,
   sleepswallow

> I want to konw where are the two files of rohc.ko and rohc_test.ko ?

Once you built the library with --enable-linux-kernel-module, the .ko files are located in the linux/kmod/ subdir.

> I want to compile the example/simple_rohc_program.c file in fedora18
> because of enabling examples of configure file.
> [...]

Don't build it manually. Use the --enable-examples configure option:
  $ ./configure --enable-examples
  $ make all
  $ ./examples/simple_rohc_program
  [...]

Regards,
Didier

hello Didier:
    Thanks for your help!
    The qustions of *.ko files and . /examples/simple_rohc_program are resloved!

    But I am faced with some new qustions, I want to get help from you!

   first question: I install the libpcap, there is error:
                   pcap-ring.h:35:29: fatal error: asm/cpufeature.h no such file or directory
                  compilation terminated.

            then I used the "find" command to find cpufeature.h .
                    $ find /usr/ -name cpufeature.h
                    $ usr/src/kernels/3.6.3-3.fc18.i686.PAE/arch/x86/include/asm/cpufeature.h
             I puzzled the cpufeature.h is existed but not find it , why? how to solve it ?

second question:
          what is the app/fuzzer.c function? main/test are many test examples, how to use it, check and analyze results.

third: If I want to program the testing code , how to add it to configure or makefile file and automake it run?

last : what are the configure and autogen.sh difference?

 thanks~

  Regards,
 sleepswallow

Hello,

> first question: I install the libpcap, there is error:
> pcap-ring.h:35:29: fatal error: asm/cpufeature.h
> no such file or directory compilation terminated.
>
> then I used the "find" command to find cpufeature.h .
> $ find /usr/ -name cpufeature.h
> $
> usr/src/kernels/3.6.3-3.fc18.i686.PAE/arch/x86/include/asm/cpufeature.h
> I puzzled the cpufeature.h is existed but not find it , why? how to
> solve it ?

Building libpcap is out of topic for this mailing list. If you
encounter difficulties building it, try using RPM packages for your
distribution first. If you need to build the library yourself, ask your
questions on the libpcap/tcpdump mailing list:
  http://www.tcpdump.org/#mailing-lists

> second question:
> what is the app/fuzzer.c function?

See the related documentation on the wiki:
  http://rohc-lib.org/wiki/doku.php?id=summary#rohc_sniffer

> main/test are many test
> examples, how to use it, check and analyze results.

See the related documentation on the wiki:
  http://rohc-lib.org/wiki/doku.php?id=library-tests#versions_140

> third: If I want to program the testing code , how to add it to
> configure or makefile file and automake it run?

Sorry I don't understand your question. Please rephrase.

> last : what are the configure and autogen.sh difference?

Some searches on your favorite web search engine would lead you to
interesting articles such as:
  https://en.wikipedia.org/wiki/Configure_script_%28computing%29
  https://en.wikipedia.org/wiki/GNU_build_system

The ./autogen.sh script automates the execution of autoconf and automake
tools to generate the ./configure script if it does not exist yet.

Regards,
Didier

hello Didier:
      I great need to get some helps from you even though building libpcap is out of topic for this mailing list:) thank you very much!
     I find there existed RPM packages, I use " rpm -qa libpcap" and find libpcap-1.3.0.i686 installesd my fedora18, but I can't find the pcap.h so on, then I use the --with-libpcap-*options when ./configure --enable-rohc-tests, the error is the same " error: libpcap library/headers not found".
     I want to know can I download the other libpcap version of *.rpm to reinstall my fedora18?
   another: is libcap-dev package needed to install on fedora18?

  last: I ask some questions on the libpcap/tcpdump mailing list, for the present no response,but my assignment is urgent ,so I want to get some help from you^_^
   thanks~~

   Regards,
  sleepswallow

hello:
    the libpcap library is ok.
    ./configure--enable-rohc-tests is ok.I run in the test/non-regression:
     ./test-non-regression-ipv4-udp-wlsb4-smallcid.sh
   ./../valgrind.sh:line 105:./test-non-regression: no file or directory.
   test run without valgrind(exit code 127)

hello:
    the libpcap library is ok.
    ./configure--enable-rohc-tests is ok.I run in the test/non-regression:
     ./test-non-regression-ipv4-udp-wlsb4-smallcid.sh
   ./../valgrind.sh:line 105:./test-non-regression: no file or directory.
   test run without valgrind(exit code 127)

> I great need to get some helps from you even though building
> libpcap is out of topic for this mailing list:) thank you very much!
> I find there existed RPM packages, I use " rpm -qa libpcap" and find
> libpcap-1.3.0.i686 installesd my fedora18, but I can't find the
> pcap.h so on, then I use the --with-libpcap-*options
> when ./configure --enable-rohc-tests, the error is the same " error:
> libpcap library/headers not found". I want to know can I download
> the other libpcap version of *.rpm to reinstall my fedora18? another:
> is libcap-dev package needed to install on fedora18?

Fedora is similar to CentOS in many ways, so follow the instructions
for CentOS 6.x on the wiki:
  http://rohc-lib.org/wiki/doku.php?id=library-requirements#centos_6x

Regards,
Didier

> the libpcap library is ok.

fine.

> ./configure--enable-rohc-tests is ok.I run in the test/non-regression:
> ./test-non-regression-ipv4-udp-wlsb4-smallcid.sh
> ./../valgrind.sh:line 105:./test-non-regression: no file or directory.
> test run without valgrind(exit code 127)

You need to build test binaries first. See step 9 at: http://rohc-lib.org/wiki/doku.php?id=library-install-sources#native_build_on_unix-like_systems

Regards,
Didier

hello Dider:
          thank you first:)
         test binaries is build ok. I run ./ *.sh file of the test or directory, most are run fine ,and echo $? is 0. but there exist several unusual. for example:
  $ ./test/functional/feedback-ring/test-feedback-ring.sh verbose
   run test without valgrind.
   .....
  [ERROR] [rohc-comp.c:2332 rohc-comp-piggyback-feedback()] no place in buffer for feedback data test run without valgrind(exit code 0)

  then
  $ echo $?
 0
I want to know the above display is wrong? how to modify it to fine ?

another:
   I use $ rpm -q rohc
  package rohc is not installed.
why display rohc is not installed?

 Regards,
   sleepswallow

Please read the comments in the sources of the test. This error is expected by the test.

Thanks Didier Barvaux, that solved my question.