Build failure on 1.5.1

Asked by Raman Gupta

make[3]: Entering directory `/home/rgupta/rohc/rohc-1.5.1/src/comp'
  CC librohc_comp_la-rohc_comp.lo
  CC librohc_comp_la-c_uncompressed.lo
  CC librohc_comp_la-c_generic.lo
c_generic.c: In function 'code_ipv6_static_part':
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1872: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
c_generic.c:1878: error: 'const struct ipv6_addr' has no member named 'in6_u'
make[3]: *** [librohc_comp_la-c_generic.lo] Error 1
make[3]: Leaving directory `/home/rgupta/rohc/rohc-1.5.1/src/comp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rgupta/rohc/rohc-1.5.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rgupta/rohc/rohc-1.5.1'
make: *** [all] Error 2

Question information

Language:
English Edit question
Status:
Solved
For:
rohc Edit question
Assignee:
No assignee Edit question
Solved by:
Didier Barvaux
Solved:
Last query:
Last reply:
Revision history for this message
Didier Barvaux (didier-barvaux) said :
#1

Hello,

Please, please, please, always provide the following information when reporting a build problem:
 - the ROHC release you are working with (you did it),
 - the configure options you use,
 - the name and version of the compiler you use (for GCC, gcc --version),
 - the OS you use (the name and version of your distribution if you are on Linux),
 - whether you modified the sources or not.

Without these information, it is difficult to help you...

Regards,
Didier

Revision history for this message
Raman Gupta (ramangupta16) said :
#2

My apologies for not providing complete information. Here is the complete info:-

1) Release: 1.5.1

2) Configure Options:- ./configure --prefix=/usr --libdir=/usr/lib64 --enable-examples --enable-rohc-apps --enable-rohc-tests-valgrind --enable-rohc-tests

3) GCC version:- g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)

4) OS:- 64-bit CentOS release 5.7

5) Did not modify the source.

Revision history for this message
Didier Barvaux (didier-barvaux) said :
#3

Thank you for the information. Unfortunately, so far, I was not able to reproduce the problem with the same options, GCC 4.1 and release 1.5.1.

Could you provide me the content of the src/common/protocols/ipv6.h file? It is short, copy/paste it here.

Regards,
Didier

Revision history for this message
Raman Gupta (ramangupta16) said :
#4

Here are the content of the src/common/protocols/ipv6.h file

/**
 * @file ipv6.h
 * @brief Defines the IPv6 header
 * @author Free Software Foundation, Inc
 *
 * This file contains a part of netinet/ip6.h from the GNU C library. It is
 * copied here to be portable on all platforms, even the platforms that miss
 * the declarations or got different declarations, such as Microsoft Windows
 * or FreeBSD.
 */

#ifndef ROHC_PROTOCOLS_IPV6_H
#define ROHC_PROTOCOLS_IPV6_H

#include <stdint.h>

/**
 * @brief The IPv6 address
 */
struct ipv6_addr
{
 union
 {
  uint8_t __u6_addr8[16];
  uint16_t __u6_addr16[8];
  uint32_t __u6_addr32[4];
 } __in6_u;
#define s6_addr __in6_u.__u6_addr8
#define s6_addr16 __in6_u.__u6_addr16
#define s6_addr32 __in6_u.__u6_addr32
};

/**
 * @brief The IPv6 header
 */
struct ipv6_hdr
{
 union
 {
  struct ip6_hdrctl
  {
   uint32_t ip6_un1_flow; /* 4 bits version, 8 bits TC,
                               20 bits flow-ID */
   uint16_t ip6_un1_plen; /* payload length */
   uint8_t ip6_un1_nxt; /* next header */
   uint8_t ip6_un1_hlim; /* hop limit */
  } ip6_un1;
  uint8_t ip6_un2_vfc; /* 4 bits version, top 4 bits tclass */
 } ip6_ctlun;
 struct ipv6_addr ip6_src; /* source address */
 struct ipv6_addr ip6_dst; /* destination address */
};

#define ip6_vfc ip6_ctlun.ip6_un2_vfc
#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim

#endif

Revision history for this message
FWX (dialine-rohc-team) said :
#5

 Hello,

 It seems to be the same problem with Question #212737.

 Can you try the patch given in :

   https://answers.launchpad.net/rohc/+question/212737

 Best regards,

        FWX.

Revision history for this message
Raman Gupta (ramangupta16) said :
#6

Hi FWX/Didier

Yes, patch solved the problem, but now 'make check' is failing some testcases due to valgrind issue:-

FAIL: test_feedback2_ack_smallcid_smallsn_crc.sh
FAIL: test_feedback2_ack_smallcid_largesn_sn-crc.sh
FAIL: test_feedback2_ack_largecid_largesn_sn-crc.sh
FAIL: test_feedback2_ack_largecid_smallsn_crc.sh
============================================
4 of 4 tests failed
See test/functional/feedback2/test-suite.log
Please report to http://rohc-lib.org/
============================================
make[5]: *** [test-suite.log] Error 1
make[5]: Leaving directory `/home/rgupta/rohc/rohc-1.5.0/test/functional/feedback2'
make[4]: *** [check-TESTS] Error 2
make[4]: Leaving directory `/home/rgupta/rohc/rohc-1.5.0/test/functional/feedback2'

[Raman] The file test/functional/feedback2/test-suite.log says:-

packet #16:
 decompression is successful
 5-byte feedback generated
 Add-CID found
 FEEDBACK-2 is a ack feedback as expected
 SN (or a part of it) = 0x0fff
 2-byte CRC option found
valgrind: Bad option '--show-possibly-lost=yes'; aborting.
valgrind: Use --help for more information.
test failed inside valgrind (exit code 1)
grep: /tmp/valgrind_500_7cf27bf163527c26c18cb48653bc9292_1355137496.xml: No such file or directory
XSL transformation failed:
command: /usr/bin/xsltproc "./../../valgrind.xsl" "/tmp/valgrind_500_7cf27bf163527c26c18cb48653bc9292_1355137496.xml.filtered"
/tmp/valgrind_500_7cf27bf163527c26c18cb48653bc9292_1355137496.xml.filtered:1: parser error : StartTag: invalid element name
</valgrindoutput>
 ^
/tmp/valgrind_500_7cf27bf163527c26c18cb48653bc9292_1355137496.xml.filtered:1: parser error : Extra content at the end of the document
</valgrindoutput>
 ^
unable to parse /tmp/valgrind_500_7cf27bf163527c26c18cb48653bc9292_1355137496.xml.filtered

FAIL: test_feedback2_ack_smallcid_largesn_sn-crc.sh (exit: 1)
=============================================================

packet #1:
 decompression is successful
 6-byte feedback generated
 FEEDBACK-2 is a ack feedback as expected
 SN (or a part of it) = 0x0010
 2-byte SN option found
 2-byte CRC option found
valgrind: Bad option '--show-possibly-lost=yes'; aborting.
valgrind: Use --help for more information.
test failed inside valgrind (exit code 1)
grep: /tmp/valgrind_500_d70b0913ed907b3aa3108d45977e5760_1355137498.xml: No such file or directory
XSL transformation failed:
command: /usr/bin/xsltproc "./../../valgrind.xsl" "/tmp/valgrind_500_d70b0913ed907b3aa3108d45977e5760_1355137498.xml.filtered"
/tmp/valgrind_500_d70b0913ed907b3aa3108d45977e5760_1355137498.xml.filtered:1: parser error : StartTag: invalid element name
</valgrindoutput>
 ^
/tmp/valgrind_500_d70b0913ed907b3aa3108d45977e5760_1355137498.xml.filtered:1: parser error : Extra content at the end of the document
</valgrindoutput>
 ^
unable to parse /tmp/valgrind_500_d70b0913ed907b3aa3108d45977e5760_1355137498.xml.filtered

FAIL: test_feedback2_ack_largecid_largesn_sn-crc.sh (exit: 1)
=============================================================

packet #1:
 decompression is successful
 7-byte feedback generated
 large CID found
 FEEDBACK-2 is a ack feedback as expected
 SN (or a part of it) = 0x0010
 2-byte SN option found
 2-byte CRC option found
valgrind: Bad option '--show-possibly-lost=yes'; aborting.
valgrind: Use --help for more information.
test failed inside valgrind (exit code 1)
grep: /tmp/valgrind_500_b771aedac472f7bd48b0ff49bc3a8b4c_1355137501.xml: No such file or directory
XSL transformation failed:
command: /usr/bin/xsltproc "./../../valgrind.xsl" "/tmp/valgrind_500_b771aedac472f7bd48b0ff49bc3a8b4c_1355137501.xml.filtered"
/tmp/valgrind_500_b771aedac472f7bd48b0ff49bc3a8b4c_1355137501.xml.filtered:1: parser error : StartTag: invalid element name
</valgrindoutput>
 ^
/tmp/valgrind_500_b771aedac472f7bd48b0ff49bc3a8b4c_1355137501.xml.filtered:1: parser error : Extra content at the end of the document
</valgrindoutput>
 ^
unable to parse /tmp/valgrind_500_b771aedac472f7bd48b0ff49bc3a8b4c_1355137501.xml.filtered

FAIL: test_feedback2_ack_largecid_smallsn_crc.sh (exit: 1)
==========================================================

packet #1:
 decompression is successful
 5-byte feedback generated
 large CID found
 FEEDBACK-2 is a ack feedback as expected
 SN (or a part of it) = 0x0100
 2-byte CRC option found
valgrind: Bad option '--show-possibly-lost=yes'; aborting.
valgrind: Use --help for more information.
test failed inside valgrind (exit code 1)
grep: /tmp/valgrind_500_6828eeebb004b6b4f434ecebb47ec60b_1355137503.xml: No such file or directory
XSL transformation failed:
command: /usr/bin/xsltproc "./../../valgrind.xsl" "/tmp/valgrind_500_6828eeebb004b6b4f434ecebb47ec60b_1355137503.xml.filtered"
/tmp/valgrind_500_6828eeebb004b6b4f434ecebb47ec60b_1355137503.xml.filtered:1: parser error : StartTag: invalid element name
</valgrindoutput>
 ^
/tmp/valgrind_500_6828eeebb004b6b4f434ecebb47ec60b_1355137503.xml.filtered:1: parser error : Extra content at the end of the document
</valgrindoutput>
 ^
unable to parse /tmp/valgrind_500_6828eeebb004b6b4f434ecebb47ec60b_1355137503.xml.filtered

[Raman]: My valgrind version is 3.5.0

Revision history for this message
FWX (dialine-rohc-team) said :
#7

 Hello Raman,

 Can you have a look on the bug 1074285 :

https://bugs.launchpad.net/rohc/+bug/1074285

 Perhaps you'll find the answer to your question...

 Best regards,

         FWX.

Revision history for this message
Best Didier Barvaux (didier-barvaux) said :
#8

Your Valgrind version (3.5.0) seems to lack the --show-possibly-lost=yes option. Could you check that assertion in your Valgrind man page or with the following command:
 $ valgrind --help | grep show-possibly-lost

To workaround the problem, edit the test/valgrind.sh script to remove the --show-possibly-lost=yes option:

- run_test_with_valgrind()
- {
- OPTIONS="--tool=memcheck --trace-children=yes --track-fds=yes
- --leak-check=full --show-possibly-lost=yes --show-reachable=yes
- --malloc-fill=0xaa --free-fill=0x55"
+ run_test_with_valgrind()
+ {
+ OPTIONS="--tool=memcheck --trace-children=yes --track-fds=yes
+ --leak-check=full --show-reachable=yes
+ --malloc-fill=0xaa --free-fill=0x55"

Let me know if it work. I'll then check for Valgrind version in order to add the option if it is supported.

Regards,
Didier

Revision history for this message
Raman Gupta (ramangupta16) said :
#9

I tried the patch and it passed. Thanks.

Revision history for this message
Raman Gupta (ramangupta16) said :
#10

Thanks Didier Barvaux, that solved my question.

Revision history for this message
Didier Barvaux (didier-barvaux) said :
#11

Problem fixed with bug #1096586. The correction will be shipped in next 1.5.2 and 1.6.0 releases.

Regards,
Didier