← Back to team overview

rohc team mailing list archive

Re: [Question #234832]: compilation error

 

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

    Status: Needs information => Open

manish shivare gave more information on the question:
hello sir,
sorry for bothering you.
but suggested all command is given same output only below  command compile.
 manish@manish-HP-630-Notebook-PC:~$ gcc -Wall test_pcap.c -o test_pcap
-lpcap
manish@manish-HP-630-Notebook-PC:~$ sudo file test_pcap
[sudo] password for manish:
test_pcap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=0x85c5248439361f209038fbf5686d4c536e3a3dca, not stripped
the output of command is correct or not?
because i don't know what is the output of the test_pcap.c
and you are not providing any suggestion for running rohc my major concern
on rohc library not pcap library.
i only want to use rohc library for compression and decompression of my
self created pkt.
i don't want to capture network traffic. so please suggest me how to
compile sample_rohc_program.c.
In my system linker problem is found so please suggest me how to resolve it
manual linker command.
if you provide syntax of command it is very helpful for me.
thank you.


On Tue, Sep 10, 2013 at 11:11 PM, manish shivare <
question234832@xxxxxxxxxxxxxxxxxxxxx> wrote:

> Question #234832 on rohc changed:
> https://answers.launchpad.net/rohc/+question/234832
>
>     Status: Needs information => Open
>
> manish shivare gave more information on the question:
> thanks for reply,
> i am providing log of both command.
> manish@manish-HP-630-Notebook-PC:~$ gcc -Wl,--verbose -o test_pcap -lpcap
> test_pcap.c
> GNU ld (GNU Binutils for Ubuntu) 2.22.90.20120924
>   Supported emulations:
>    elf_i386
>    i386linux
>    elf32_x86_64
>    elf_x86_64
>    elf_l1om
>    elf_k1om
> using internal linker script:
> ==================================================
> /* Script for -z combreloc: combine and sort reloc sections */
> OUTPUT_FORMAT("elf32-i386", "elf32-i386",
>           "elf32-i386")
> OUTPUT_ARCH(i386)
> ENTRY(_start)
> SEARCH_DIR("/usr/i686-linux-gnu/lib32"); SEARCH_DIR("=/usr/local/lib32");
> SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32");
> SEARCH_DIR("=/usr/local/lib/i386-linux-gnu");
> SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib/i386-linux-gnu");
> SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib/i386-linux-gnu");
> SEARCH_DIR("=/usr/lib");
> SECTIONS
> {
>   /* Read-only sections, merged into text segment: */
>   PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000));
> . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
>   .interp         : { *(.interp) }
>   .note.gnu.build-id : { *(.note.gnu.build-id) }
>   .hash           : { *(.hash) }
>   .gnu.hash       : { *(.gnu.hash) }
>   .dynsym         : { *(.dynsym) }
>   .dynstr         : { *(.dynstr) }
>   .gnu.version    : { *(.gnu.version) }
>   .gnu.version_d  : { *(.gnu.version_d) }
>   .gnu.version_r  : { *(.gnu.version_r) }
>   .rel.dyn        :
>     {
>       *(.rel.init)
>       *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
>       *(.rel.fini)
>       *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
>       *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
>       *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
>       *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
>       *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
>       *(.rel.ctors)
>       *(.rel.dtors)
>       *(.rel.got)
>       *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
>       *(.rel.ifunc)
>     }
>   .rel.plt        :
>     {
>       *(.rel.plt)
>       PROVIDE_HIDDEN (__rel_iplt_start = .);
>       *(.rel.iplt)
>       PROVIDE_HIDDEN (__rel_iplt_end = .);
>     }
>   .init           :
>   {
>     KEEP (*(SORT_NONE(.init)))
>   }
>   .plt            : { *(.plt) *(.iplt) }
>   .text           :
>   {
>     *(.text.unlikely .text.*_unlikely)
>     *(.text.exit .text.exit.*)
>     *(.text.startup .text.startup.*)
>     *(.text.hot .text.hot.*)
>     *(.text .stub .text.* .gnu.linkonce.t.*)
>     /* .gnu.warning sections are handled specially by elf32.em.  */
>     *(.gnu.warning)
>   }
>   .fini           :
>   {
>     KEEP (*(SORT_NONE(.fini)))
>   }
>   PROVIDE (__etext = .);
>   PROVIDE (_etext = .);
>   PROVIDE (etext = .);
>   .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
>   .rodata1        : { *(.rodata1) }
>   .eh_frame_hdr : { *(.eh_frame_hdr) }
>   .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
>   .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table
>   .gcc_except_table.*) }
>   /* These sections are generated by the Sun/Oracle C++ compiler.  */
>   .exception_ranges   : ONLY_IF_RO { *(.exception_ranges
>   .exception_ranges*) }
>   /* Adjust the address for the data segment.  We want to adjust up to
>      the same address within the page on the next page up.  */
>   . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) &
> (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT
> (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
>   /* Exception handling  */
>   .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
>   .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table
> .gcc_except_table.*) }
>   .exception_ranges   : ONLY_IF_RW { *(.exception_ranges
> .exception_ranges*) }
>   /* Thread Local Storage sections  */
>   .tdata      : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
>   .tbss          : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
>   .preinit_array     :
>   {
>     PROVIDE_HIDDEN (__preinit_array_start = .);
>     KEEP (*(.preinit_array))
>     PROVIDE_HIDDEN (__preinit_array_end = .);
>   }
>   .init_array     :
>   {
>     PROVIDE_HIDDEN (__init_array_start = .);
>     KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*)
> SORT_BY_INIT_PRIORITY(.ctors.*)))
>     KEEP (*(.init_array))
>     KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o )
> .ctors))
>     PROVIDE_HIDDEN (__init_array_end = .);
>   }
>   .fini_array     :
>   {
>     PROVIDE_HIDDEN (__fini_array_start = .);
>     KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*)
> SORT_BY_INIT_PRIORITY(.dtors.*)))
>     KEEP (*(.fini_array))
>     KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o )
> .dtors))
>     PROVIDE_HIDDEN (__fini_array_end = .);
>   }
>   .ctors          :
>   {
>     /* gcc uses crtbegin.o to find the start of
>        the constructors, so we make sure it is
>        first.  Because this is a wildcard, it
>        doesn't matter if the user does not
>        actually link against crtbegin.o; the
>        linker won't look for a file to match a
>        wildcard.  The wildcard also means that it
>        doesn't matter which directory crtbegin.o
>        is in.  */
>     KEEP (*crtbegin.o(.ctors))
>     KEEP (*crtbegin?.o(.ctors))
>     /* We don't want to include the .ctor section from
>        the crtend.o file until after the sorted ctors.
>        The .ctor section from the crtend file contains the
>        end of ctors marker and it must be last */
>     KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
>     KEEP (*(SORT(.ctors.*)))
>     KEEP (*(.ctors))
>   }
>   .dtors          :
>   {
>     KEEP (*crtbegin.o(.dtors))
>     KEEP (*crtbegin?.o(.dtors))
>     KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
>     KEEP (*(SORT(.dtors.*)))
>     KEEP (*(.dtors))
>   }
>   .jcr            : { KEEP (*(.jcr)) }
>   .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
> *(.
> data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
>   .dynamic        : { *(.dynamic) }
>   .got            : { *(.got) *(.igot) }
>   . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .);
>   .got.plt        : { *(.got.plt)  *(.igot.plt) }
>   .data           :
>   {
>     *(.data .data.* .gnu.linkonce.d.*)
>     SORT(CONSTRUCTORS)
>   }
>   .data1          : { *(.data1) }
>   _edata = .; PROVIDE (edata = .);
>   . = .;
>   __bss_start = .;
>   .bss            :
>   {
>    *(.dynbss)
>    *(.bss .bss.* .gnu.linkonce.b.*)
>    *(COMMON)
>    /* Align here to ensure that the .bss section occupies space up to
>       _end.  Align after .bss to ensure correct alignment even if the
>       .bss section disappears because there are no input sections.
>       FIXME: Why do we need it? When there is no .bss section, we don't
>       pad the .data section.  */
>    . = ALIGN(. != 0 ? 32 / 8 : 1);
>   }
>   . = ALIGN(32 / 8);
>   . = ALIGN(32 / 8);
>   _end = .; PROVIDE (end = .);
>   . = DATA_SEGMENT_END (.);
>   /* Stabs debugging sections.  */
>   .stab          0 : { *(.stab) }
>   .stabstr       0 : { *(.stabstr) }
>   .stab.excl     0 : { *(.stab.excl) }
>   .stab.exclstr  0 : { *(.stab.exclstr) }
>   .stab.index    0 : { *(.stab.index) }
>   .stab.indexstr 0 : { *(.stab.indexstr) }
>   .comment       0 : { *(.comment) }
>   /* DWARF debug sections.
>      Symbols in the DWARF debugging sections are relative to the beginning
>      of the section so we begin them at 0.  */
>   /* DWARF 1 */
>   .debug          0 : { *(.debug) }
>   .line           0 : { *(.line) }
>   /* GNU DWARF 1 extensions */
>   .debug_srcinfo  0 : { *(.debug_srcinfo) }
>   .debug_sfnames  0 : { *(.debug_sfnames) }
>   /* DWARF 1.1 and DWARF 2 */
>   .debug_aranges  0 : { *(.debug_aranges) }
>   .debug_pubnames 0 : { *(.debug_pubnames) }
>   /* DWARF 2 */
>   .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
>   .debug_abbrev   0 : { *(.debug_abbrev) }
>   .debug_line     0 : { *(.debug_line) }
>   .debug_frame    0 : { *(.debug_frame) }
>   .debug_str      0 : { *(.debug_str) }
>   .debug_loc      0 : { *(.debug_loc) }
>   .debug_macinfo  0 : { *(.debug_macinfo) }
>   /* SGI/MIPS DWARF 2 extensions */
>   .debug_weaknames 0 : { *(.debug_weaknames) }
>   .debug_funcnames 0 : { *(.debug_funcnames) }
>   .debug_typenames 0 : { *(.debug_typenames) }
>   .debug_varnames  0 : { *(.debug_varnames) }
>   /* DWARF 3 */
>   .debug_pubtypes 0 : { *(.debug_pubtypes) }
>   .debug_ranges   0 : { *(.debug_ranges) }
>   /* DWARF Extension.  */
>   .debug_macro    0 : { *(.debug_macro) }
>   .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
>   /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
> }
>
>
> ==================================================
> attempt to open
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o succeeded
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o
> attempt to open
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o succeeded
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/crtbegin.o succeeded
> /usr/lib/gcc/i686-linux-gnu/4.8/crtbegin.o
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libpcap.so failed
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libpcap.a failed
> attempt to open
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libpcap.so
> succeeded
> -lpcap (/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libpcap.so)
> attempt to open /tmp/ccWKcRXK.o succeeded
> /tmp/ccWKcRXK.o
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc.so failed
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc.a succeeded
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc_s.so succeeded
> -lgcc_s (/usr/lib/gcc/i686-linux-gnu/4.8/libgcc_s.so)
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libc.so failed
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libc.a failed
> attempt to open
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libc.so succeeded
> opened script file
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libc.so
> opened script file
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libc.so
> attempt to open /lib/i386-linux-gnu/libc.so.6 succeeded
> /lib/i386-linux-gnu/libc.so.6
> attempt to open /usr/lib/i386-linux-gnu/libc_nonshared.a succeeded
> (/usr/lib/i386-linux-gnu/libc_nonshared.a)elf-init.oS
> attempt to open /lib/i386-linux-gnu/ld-linux.so.2 succeeded
> /lib/i386-linux-gnu/ld-linux.so.2
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc.so failed
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc.a succeeded
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/libgcc_s.so succeeded
> -lgcc_s (/usr/lib/gcc/i686-linux-gnu/4.8/libgcc_s.so)
> attempt to open /usr/lib/gcc/i686-linux-gnu/4.8/crtend.o succeeded
> /usr/lib/gcc/i686-linux-gnu/4.8/crtend.o
> attempt to open
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o succeeded
> /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
> ld-linux.so.2 needed by /lib/i386-linux-gnu/libc.so.6
> found ld-linux.so.2 at /lib/i386-linux-gnu/ld-linux.so.2
> /tmp/ccWKcRXK.o: In function `main':
> test_pcap.c:(.text+0x19): undefined reference to `pcap_open_dead'
> test_pcap.c:(.text+0x29): undefined reference to `pcap_close'
> collect2: error: ld returned 1 exit status
> output of second command
> manish@manish-HP-630-Notebook-PC:~$ gcc -Wall test_pcap.c -o test_pcap
> -lpcap
> manish@manish-HP-630-Notebook-PC:~$ file test_pcap
> test_pcap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
> BuildID[sha1]=0x85c5248439361f209038fbf5686d4c536e3a3dca, not stripped
> manish@manish-HP-630-Notebook-PC:~$ ldd test_pcap
>     linux-gate.so.1 =>  (0xb779b000)
>     libpcap.so.0.8 => /usr/lib/i386-linux-gnu/libpcap.so.0.8 (0xb7748000)
>     libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb759e000)
>     /lib/ld-linux.so.2 (0xb779c000)
> second command  log is compile the program properly.
> any suggestion regrading this.
> and you did not given any advise for my previous query about compiling
> librohc.
> i am waiting for your reply.
>
>
>
> On Tue, Sep 10, 2013 at 10:31 PM, Didier Barvaux <
> question234832@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> > Question #234832 on rohc changed:
> > https://answers.launchpad.net/rohc/+question/234832
> >
> >     Status: Open => Needs information
> >
> > Didier Barvaux requested more information:
> > Hello,
> >
> > Do you mean that the command below does not work:
> >   $ gcc -Wl,--verbose -o test_pcap -lpcap test_pcap.c
> >
> > And the command below works:
> >   $ gcc -Wall test_pcap.c -o test_pcap -lpcap
> >
> > with the same content in the test_pcap.c file?
> >
> > 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     : rohc@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~rohc
> > More help   : https://help.launchpad.net/ListHelp
> >
>
> --
> 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     : rohc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~rohc
> More help   : https://help.launchpad.net/ListHelp
>

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