The hsfmodem source packaged with the ebuild references EXPORT_SYMBOL_NOVERS, which has been designated as deprecated, and removed completely from more recent 2.6 kernels. However, because the hsfmodem internal build process contained in ``hsfconfig'' hides both stdout and stderr, coupled with the fact that gcc 3.2.3 will emit a warning (not error) condition for prototypes that reference unknown return data types (in this case EXPORT_SYMBOL_NOVERS), it is not exposed to the user that gcc assigns a default return value of int and completes the compile anyway. The result is that the modules don't link properly, returning errors like: hsfengine: Unknown symbol cnxthsf_OsSleep hsfengine: Unknown symbol cnxthsf_OsStrnCpy etc. I fixed this by editing the ``oscompat.h'' support file provided in ``/usr/lib/hsfmodem/GPL'', and adding the following line at the end, before the __cplusplus guard: #define EXPORT_SYMBOL_NOVERS EXPORT_SYMBOL and re-launching the ``hsfconfig'' process to build the appropriate kernel modules. I did this based on the following post: http://www.ussg.iu.edu/hypermail/linux/kernel/0409.0/1938.html Reproducible: Always Steps to Reproduce: 1. emerge hsfmodem 2. run hsfconfig to compile the kernel modules Actual Results: hsfconfig fails Expected Results: hsfconfig succeeds and provides various details about the installed modem and driver Portage 2.0.51.19 (default-linux/x86/2004.2, gcc-3.2.3, glibc-2.3.4.20040808-r1, 2.6.11 i686) ================================================================= System uname: 2.6.11 i686 Intel(R) Pentium(R) M processor 2.00GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 12:08:09) ] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.21-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/ share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb / usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/ share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/ distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 X acpi alsa arts avi berkdb bitmap-fonts cdr crypt cups curl dbm dvd emacs emboss encode f77 fam flac font-server foomaticdb fortran gdbm gif iconv imagemagick jpeg kde libg++ libwww mad mbox mikmod mmx mp3 mpeg ncurses nls oci8 oggvorbis opengl oss pam pcmcia pdflib perl png python qt quicktime readline samba sdl sockets sse ssl sysvipc tcpd tetex tiff truetype truetype-fonts type1- fonts usb userlocales xine xinerama xml2 xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
fixed in hsfmodem-7.18.00.03-r1. please test it and reopen the bug if something is wrong. thanks for your help!
I've removed patch for this problem. the original already have in oscompat.h following lines: #ifndef EXPORT_SYMBOL_NOVERS #define EXPORT_SYMBOL_NOVERS(x) EXPORT_SYMBOL(x) #endif