Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 187118 - net-misc/hylafax-4.3.1 won't compile
Summary: net-misc/hylafax-4.3.1 won't compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Steve Arnold
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-30 11:45 UTC by Billy DeVincentis
Modified: 2007-08-24 03:45 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to fix test for gcc version (gentoo-gcc-version.patch,534 bytes, patch)
2007-08-20 00:42 UTC, Iain Buchanan
Details | Diff
ebuild that uses above patch (hylafax-4.3.1.ebuild,4.22 KB, text/plain)
2007-08-20 00:43 UTC, Iain Buchanan
Details
second try for patch to fix match for gcc version with gentoo branding (gentoo-gcc-version.patch,524 bytes, patch)
2007-08-20 02:14 UTC, Iain Buchanan
Details | Diff
third try for patch to fix match for gcc version with gentoo branding (gentoo-gcc-version.patch,531 bytes, patch)
2007-08-21 00:49 UTC, Iain Buchanan
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Billy DeVincentis 2007-07-30 11:45:38 UTC
Cant compile  with  new  gcc  4.2.0

Reproducible: Always

Steps to Reproduce:
1.emerge hylafax
2.
3.

Actual Results:  
fails

Expected Results:  
compiles  okay

emerge =net-misc/hylafax-4.3.1
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) net-misc/hylafax-4.3.1 to /
 * hylafax-4.3.1.tar.gz RMD160 ;-) ...                                                                                 [ ok ]
 * hylafax-4.3.1.tar.gz SHA1 ;-) ...                                                                                   [ ok ]
 * hylafax-4.3.1.tar.gz SHA256 ;-) ...                                                                                 [ ok ]
 * hylafax-4.3.1.tar.gz size ;-) ...                                                                                   [ ok ]
 * checking ebuild checksums ;-) ...                                                                                   [ ok ]
 * checking auxfile checksums ;-) ...                                                                                  [ ok ]
 * checking miscfile checksums ;-) ...                                                                                 [ ok ]
 * checking hylafax-4.3.1.tar.gz ;-) ...                                                                               [ ok ]
>>> Unpacking source...
>>> Unpacking hylafax-4.3.1.tar.gz to /var/tmp/portage/net-misc/hylafax-4.3.1/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/net-misc/hylafax-4.3.1/work/hylafax-4.3.1 ...

Configuring HylaFAX (tm) (aka FlexFAX) 4.3.1.

If configure does the wrong thing, check the file config.log for
information that may help you understand what went wrong.

Reading site-wide parameters from ./config.site.
Here we are again, this time on a x86_64-unknown-linux-gnu system.
Using /usr/bin/gcc for a C compiler (set CC to override).
Looks like /usr/bin/gcc supports the -g option.
... but not together with the -O option, not using it.
Looks like /usr/bin/gcc has an ANSI C preprocessor.
... but __ANSI_CPP__ is not automatically defined, will compensate.
Looks like /usr/bin/gcc supports the -M option for generating make dependencies.

Cannot locate a suitable C++ compiler.

We attempted to compile the following test program:

----------------------------------------------------------
class foo {
public:
    struct bar {
        int a;
        bar();
    };
    foo();
};
foo::bar::bar() { a = 0; }
foo::foo() { bar x; }
int main() { foo t; return 0; }
----------------------------------------------------------

with these compilers:

     g++ gcc CC NCC DCC gcc2 xlC

but none of them were successful.

To build this software you need a C++ compiler that supports a
reasonably modern version of C++.  In particular the compiler must
support nested types and process temporary variables according to the
ANSI Reference Manual (the ARM).

If such a compiler is in a non-standard location, you can specify its
location in several ways:

    o set the environment variable CXX
    o create a config.local or config.site file that includes a
      definition for CXX
    o supply it on the command line using -with-CXX=<pathname>

If you are trying to use GNU gcc, but you do not have version 2.6.1
or newer, then you must update your compiler (and probably libg++ as
well) before you can compile this software.  Consult the documentation
for information about obtaining an up-to-date version of gcc.

Unrecoverable error!  Once you've corrected the problem rerun this script.
 * 
 * ERROR: net-misc/hylafax-4.3.1 failed.
 * Call stack:
 *   ebuild.sh, line 1648:   Called dyn_compile
 *   ebuild.sh, line 988:   Called qa_call 'src_compile'
 *   ebuild.sh, line 44:   Called src_compile
 *   hylafax-4.3.1.ebuild, line 102:   Called die
 * 
 * ./configure failed
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-misc/hylafax-4.3.1/temp/build.log'.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-07-30 12:12:19 UTC
> If configure does the wrong thing, check the file config.log for
> information that may help you understand what went wrong.

Please, attach the config.log here. Also emerge --info is missing.
Comment 2 Billy DeVincentis 2007-07-30 17:04:55 UTC
emerge --info
Portage 2.1.3_rc9 (default-linux/amd64/2007.0/desktop, gcc-4.2.0, glibc-2.6-r0, 2.6.22-gentoo-r1 x86_64)
=================================================================
System uname: 2.6.22-gentoo-r1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Gentoo Base System release 1.12.10
Timestamp of tree: Sun, 29 Jul 2007 03:00:01 +0000
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17.50.0.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/fax /usr/share/X11/xkb /usr/share/config /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe "
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/miscellaneous"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowtext S3TC X a52 aac aalib accessibility acl acpi aiglx alsa amarok amd64 apm arts artworkextra asf audiofile avahi avi bash-completion berkdb bitmap-fonts bittorrent branding bzip2 cairo calendar cann cdparanoia cdr cli cpudetection cracklib crypt cups curl dbus dga directfb dlloader doc dri dts dv dvb dvd dvdr dvdread eds effects emacs emboss emerald encode esd evo examples exif ext-man ext-rtf ext-tex extraicons fam fat fax fbcon fbsplash ffmpeg firefox flac flash foomaticdb fortran freetype gb gcj gd gdbm gdphoto2 gedit gif gimp gimpprint glitz gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml hal hddtemp hfs howl html iconv idn ieee1394 imagemagick imlib inkjar ipv6 isdnlog jack java jfs joystick jpeg kde kdehiddenvisibility kerberos lcms ldap libao libcaca libg++ lm_senors logrotate mad mail midi mikmod mime mjpeg mmx mmxext mng mozbranding mozcalendar mozilla mp3 mpeg mplayer mudflap mysql nas nautilus ncurses nforce2 nls nptl nptlonly nsplugin ntfs nvidia odbc offensive ogg opengl openmp oss pam parport pcre pdf pdflib perl pmu png postgres ppds pppd python qt3 qt3support qt4 quicktime rar rdesktop readline reflection reiser4 reiserfs samba scanner sdl seamonkey session skins slp smp sndfile sounds speex spell spl spreadsheet sqlite sse sse2 ssl startup-notification streams subversion svg swat symlink sysfs syslog tcltk tcpd tetex theora thesaurus thunderbird tidy tiff truetype truetype-fonts type1-fonts udev unicode usb utempter v4l vcd vdr voice vorbis weather wmf wordperfect xattr xcomposite xforms xfs xine xml xorg xpm xscreensaver xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

And  the  config.log


Mon Jul 30 12:58:35 EDT 2007

This file contains information that was captured from running the configure
script.  Lines that begin with a "+" are command lines echoed by the
shell.  Other lines are the output of commands; usually the contents of
test case files or the output from compilers.  If configure does the
wrong thing, use the information captured here to aid in debugging.

++ . ./config.site
TARGET: x86_64-unknown-linux-gnu
RELEASE: 2.6.22-gentoo-r1
++ cat dummy.c
main(int argc, char* argv) { exit(0); }
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ gcc -E xgnu.c
++ egrep yes
yes;
++ gcc -o dummy dummy.c
dummy.c: In function 'main':
dummy.c:1: warning: incompatible implicit declaration of built-in function 'exit'
++ /usr/bin/gcc -g -c dummy.c
dummy.c: In function 'main':
dummy.c:1: warning: incompatible implicit declaration of built-in function 'exit'
./configure: eval: line 489: syntax error near unexpected token `('
./configure: eval: line 489: `set -x; grep -i (error|warning) t'
++ cat dummy.c
#define ansiIDENT(a) a
#define ansiCAT(a,b) a##b
A=ansiCAT(ANSI,CPP);
++ grep ANSICPP
++ /usr/bin/gcc -E dummy.c
A=ANSICPP;
++ cat dummy.c
#ifdef __ANSI_CPP__
yes
#else
no
#endif
++ /usr/bin/gcc -E dummy.c
++ grep no
no
++ cat dummy.c
main(int argc, char* argv) { exit(0); }
++ /usr/bin/gcc -c -M dummy.c
++ grep '^dummy.o[ 	]*:[ 	]*dummy.c'
dummy.o: dummy.c
++ cat dummy.C
class foo {
public:
    struct bar {
	int a;
	bar();
    };
    foo();
};
foo::bar::bar() { a = 0; }
foo::foo() { bar x; }
int main() { foo t; return 0; }
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ g++ -E xgnu.c
++ egrep yes
yes;
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ egrep yes
yes;
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ CC -E xgnu.c
++ egrep yes
./configure: line 489: CC: command not found
++ CC -o dummy dummy.C
./configure: line 489: CC: command not found
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ NCC -E xgnu.c
./configure: line 489: NCC: command not found
++ egrep yes
++ NCC -o dummy dummy.C
./configure: line 489: NCC: command not found
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ DCC -E xgnu.c
./configure: line 489: DCC: command not found
++ egrep yes
++ DCC -o dummy dummy.C
./configure: line 489: DCC: command not found
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ gcc2 -E xgnu.c
./configure: line 489: gcc2: command not found
++ egrep yes
++ gcc2 -o dummy dummy.C
./configure: line 489: gcc2: command not found
++ cat xgnu.c
#ifdef __GNUC__
yes;
#endif
++ xlC -E xgnu.c
./configure: line 489: xlC: command not found
++ xlC -o dummy dummy.C
./configure: line 489: xlC: command not found



Comment 3 Greisberger Christophe 2007-08-14 14:55:48 UTC
Same problem here, also amd64 arch.
I tried with 4.3.1, 4.3.0 and 4.2.5, with gcc-4.1.2
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-08-14 14:59:32 UTC
Noone will ever notice again if you don't reopen the bug; doing so now.
Comment 5 Jan Hübner 2007-08-16 20:59:11 UTC
There is at least one person having the same problem with a i686-pc-linux-gnu system.

See: http://forums.gentoo.org/viewtopic-t-574846-start-0-postdays-0-postorder-asc-highlight-hylafax+gcc.html

I can reproduce the same unexpected behavior with and amd64 system and version 4.3.0 of hylafax and gcc 4.1.2

---
Portage 2.1.2.11 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r2-xxxx x86_64)
=================================================================
System uname: 2.6.22-gentoo-r2-xxxx x86_64 Intel(R) Celeron(R) D CPU 3.20GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 15 Aug 2007 12:20:01 +0000
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/
config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=nocona -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo/"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LINGUAS="de en en_GB en_US"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --dele
te-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-
*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.1.2/gentoo-portage/"
USE="X acl acpi alsa amd64 bash-completion berkdb bitmap-fonts cairo cli cracklib cups dbus dri fam fortran gdbm gif
 glitz gpm hal iconv ipv6 isdnlog jpeg kde midi mmx mudflap ncurses nls nptl nptlonly openmp pam pcre pdf perl png p
ppd python readline reflection samba session spl sse sse2 ssl svg tcpd tiff truetype truetype-fonts type1-fonts unic
ode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 e
s1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="
adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw mult
i null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVI
CES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en en_GB en_US" USERLAND="GN
U" VIDEO_CARDS="radeon vesa fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, POR
TAGE_RSYNC_EXTRA_OPTS


Comment 6 Chris Humbert 2007-08-17 01:33:03 UTC
hylafax's configure script is getting the wrong GCC version because of Gentoo's branding.  The sed line in the checkGCCVersion() function grabs the last tuplet as the gcc version, which on my system is 1.0.1 from "gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.1)".  Since 1.0.1 < 2.6.1, hylafax refuses to use the compiler.  It compiled after I gutted checkGCCVersion() to always return 0.
Comment 7 Steve Arnold archtester gentoo-dev 2007-08-19 19:16:08 UTC
I can't reproduce this here, with basically the same versions as some posters:

Portage 2.1.3 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4, 2.6.22.1 x86_64)
=================================================================
System uname: 2.6.22.1 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System release 1.12.10

>>> Regenerating /etc/ld.so.cache...
>>> net-misc/hylafax-4.3.1 merged.

Hylafax configure does not seem to have a problem detecting my gcc versions, so I'm not sure what to say...

It's hard to imagine everyone on this bug having toolchain problems, but that's my best answer right now.  Please make sure your toolchain is correct, ie, run gcc-config to switch once or twice, run fix_libtool_files.sh, and check the following to make sure your installed versions of gcc are what you expect:

$ ls -l /usr/bin/gcc-3.4.6 
lrwxrwxrwx 1 root root 62 Jun 18 01:12 /usr/bin/gcc-3.4.6 -> /usr/x86_64-pc-linux-gnu/gcc-bin/3.4.6/x86_64-pc-linux-gnu-gcc

$ ls /usr/lib64/gcc/x86_64-pc-linux-gnu/
3.4.6  4.1.2  4.2.0

$ ls /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/
32                   hardenednopiessp.specs  libgcc.a        libstdc++.so.6.0.3
SYSCALLS.c.X         hardenednossp.specs     libgcc_eh.a     libstdc++_pic.a
crtbegin.o           include                 libgcc_s.so     libsupc++.a
crtbeginS.o          libfrtbegin.a           libgcc_s.so.1   libsupc++.la
crtbeginT.o          libg2c.a                libgcov.a       specs
crtend.o             libg2c.la               libstdc++.a     vanilla.specs
crtendS.o            libg2c.so               libstdc++.la
hardened.specs       libg2c.so.0             libstdc++.so
hardenednopie.specs  libg2c.so.0.0.0         libstdc++.so.6
Comment 8 Steve Arnold archtester gentoo-dev 2007-08-19 20:27:27 UTC
Can someone with this error please try the following, and let me know if it makes any difference.  

Try adding this line to the ebuild:

myconf="CC=$(tc-getCC) ${my_conf}"

right before the line that calls configure, then re-digest and give it a try.
Comment 9 Steve Arnold archtester gentoo-dev 2007-08-19 20:31:07 UTC
Crap, better add CXX=$(tc-getCXX) to that line as well:

myconf="CC=$(tc-getCC) CXX=$(tc-getCXX) ${my_conf}"

Comment 10 Steve Arnold archtester gentoo-dev 2007-08-19 21:16:12 UTC
I've filed an upstream bug here:

http://bugs.hylafax.org/show_bug.cgi?id=869

but I don't have time to mess with something like this right now.  Feel free to post a patch if you have one, otherwise I'll see about a more appropriate fix as things develop.
Comment 11 Iain Buchanan 2007-08-20 00:40:12 UTC
(In reply to comment #7)
> I can't reproduce this here, with basically the same versions as some posters:

I can!

portage-2.1.3.3 and portage-2.1.3.6, gcc 4.1.2, glibc 2.6.1, suspend2-sources 2.6.22-r1, i686.

> It's hard to imagine everyone on this bug having toolchain problems, but that's
> my best answer right now.  Please make sure your toolchain is correct, ie, run
> gcc-config to switch once or twice, run fix_libtool_files.sh, and check the
> following to make sure your installed versions of gcc are what you expect:

have done all your steps, and nothing looks out of the ordinary.  The fix in comment #6 works.  I changed the configure script a bit for the checkGCCVersion function:
...
    fi
    echo unsupported gcc version ${GCCversion}:
    echo `$app -v`
    return 1
}

and it prints out this:

unsupported gcc version 1.0.1:
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)

which is essentially the output from `gcc -v`, which again confirms comment #6.

I'll see if I can make a patch...
Comment 12 Iain Buchanan 2007-08-20 00:42:41 UTC
Created attachment 128629 [details, diff]
patch to fix test for gcc version
Comment 13 Iain Buchanan 2007-08-20 00:43:51 UTC
Created attachment 128630 [details]
ebuild that uses above patch

This may not be the right way to do it, I'm no dev, but it works for me.  Basically I just added:

src_unpack() {
	unpack ${A}
	cd "${S}"
   epatch ${FILESDIR}/gentoo-gcc-version.patch
}

to the existing ebuild.  YMMV & HTH!
Comment 14 Lee Howard 2007-08-20 01:26:50 UTC
(In reply to comment #12)
> Created an attachment (id=128629) [edit]
> patch to fix test for gcc version
> 

The patch here assumes that the branding would never include the word "version" within it.  If it were to include "version" then the sed may break down again.

The bottom-line is that sed should not be looking at the branding text in the first place.  The branding consistently appears within parenthesis, thus simply tell sed to look only at the text preceding the branding... like this:

sed -n -e '/[Vv]ersion/s/[^(]* [a-z\-]*\([0-9]*\)\.\([0-9]*\).\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'
Comment 15 Iain Buchanan 2007-08-20 02:12:08 UTC
(In reply to comment #14)
>  The branding consistently appears within parenthesis

thanks. I wasn't sure exactly what the definitives were on how the branding appeared.

Note though that yours doesn't work either, because the [^(]* is greedy and therefore matches up to and including the 4 (in 4.1.2), and then GCCdist (the first [0-9]* matches nothing, and GCCmajor=1 and GCCminor=2...

Incidentally, there is a . where there should be a \. even in the original configure file (between the second and third ([0-9]*\) which makes the above match slightly different...

Anyway, this seems to work better:
sed -n -e '/[Vv]ersion/s/[^0-9]*[a-z\-]*\([0-9]*\)\.\([0-9]*\).\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'
Comment 16 Iain Buchanan 2007-08-20 02:14:48 UTC
Created attachment 128633 [details, diff]
second try for patch to fix match for gcc version with gentoo branding

Man, regexs, I love 'em (and hate them :)

this one is slightly different, I got rid of the [a-z]:

sed -n -e '/[Vv]ersion/s/[^0-9]*\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'
Comment 17 Lee Howard 2007-08-20 16:42:29 UTC
This works for me, and it matches the tuplet outside of the parenthesis.

sed -n -e '/[Vv]ersion/s/[^(]*
[a-z\-]*\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'

Yes, the [^(]* is greedy, but it's less greedy than .*  Remember that there is a whitespace following the [^(]* preceding the [a-z\-]*  The whitespace keeps the greediness in check.

I believe that the [a-z\-]* is there for the reason that some version at some time must have said something like "gcc-4.1.2".  So it's there for a reason.

The mere [^0-9]* at the outset does not handle the situation where the app name has a number in it, i.e. "gcc4 version 4.1.2", which numbering some distributions are apt to make.

Again, please do try the regex I give above.  Remember the whitespace.  It works for me.
Comment 18 Billy DeVincentis 2007-08-20 22:42:55 UTC
Even  after  I  compiled  it  it  didnt  work,  and  I  have  set  up  hylafax  before,  several  times,  something  seems  screwed  up,  even  though  my  modem  is  on  ttyS0  and  the  config  is  for  ttyS0  it  tries  to  fax  on  tty4c
Comment 19 Iain Buchanan 2007-08-21 00:46:05 UTC
(In reply to comment #17)
> This works for me, and it matches the tuplet outside of the parenthesis.
> 
> sed -n -e '/[Vv]ersion/s/[^(]* [a-z\-]*\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'

I was about to say it didn't work, but then I remembered the whitespace! (damn line breaks :)

yes, I think that does it.  I agree on your other points about matching "gcc4" etc., too.

thanks.  I'll make a new patch.
Comment 20 Iain Buchanan 2007-08-21 00:49:48 UTC
Created attachment 128729 [details, diff]
third try for patch to fix match for gcc version with gentoo branding
Comment 21 Steve Arnold archtester gentoo-dev 2007-08-24 03:45:03 UTC
This is fixed in 4.3.0 and 4.3.1 (the latter has some additions that need testing and then stabilization).  Thanks Lee and Iain for the patch.