[Udpcast] compile udpcdialog failed

Alain Knaff alain at knaff.lu
Mon Feb 16 09:06:31 CET 2009


xy zou wrote:
> I want to compile udpcast in fedora9(gcc version 4.3), my process as
> follows:

Sorry, I only noticed this mail now, for some reason it went into my
junk folder ....

> 
> 1)  download and complile ncurses-5.7
> 2)  sudo make install  /* Install ncurses library */
> 3)  tar xfjv busybox-1.13.2.tar.bz2
> 4)  cd busybox-1.13.2
> 5)  tar xfzv ../udpcast-20081213.tar.gz
> 6)  (cd udpcast-20081213  && ./configure)
> 7)  tar xfzv ../udpbusybox-20081130.tar.gz
> 8)  ../addBbApp.pl udpcdialog udpcast-20081213
> 9)  make *defconfig*  /* Create the maximum "sane" configuration. */
      ^^^^^^^^^^^^^^^^^
... and I think here lies the problem.

The busybox config shipped with udpcast is carefully tuned for usage
with udpcast. There are to configs.

The "mini" config is intended for cases where space is premium. It makes
a busybox with the least number of features for udpcast to work, but in
so little space that it fits on a floppy.

The "maxi" config is intended for cases where space is not an issue. It
makes a busybox with a number of goodies, in addition to those strictly
needed for udpcast.

If you need some particular feature, I'd suggest starting with the
"maxi" config, and if your feature is still missing, just add what you need.


> 10) vi Makefile, modify line to LDLIBS := pthread ncurses
> 11) make
> 
> But i got following error message:
> udpcdialog/lib.a(udpc_dialog.o):(__libc_atexit+0x0): undefined
> reference to '_IO_cleanup'
> collect2: ld returned 1 exit status
> make: *** [busybox_unstripped] Error 1
> 
> I think that the problem is with shared libc library.
                                   ^^^^^^
Exactly. In normal circumstances, with udpcast, you should compile
busybox _statically_

But on the other hand, the issue that IO_cleanup is meant to fix only
occurs with static compilation, so with dynamic compilation, you can
indeed safely remove it.

You might still run into other issue though, due to the changed busybox
config.

> nm result as follows:
> $ nm /usr/lib/libc.a | grep _IO_cleanup
> 
>          U _IO_cleanup
> 00001330 T _IO_cleanup
> 00000000 r __elf_set__libc_atexit_element__IO_cleanup__
>          U _IO_cleanup
> 
> I need help !!!
> 
> wanyozxy

Regards,

Alain



More information about the Udpcast mailing list