Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 209623 - sys-apps/file-4.23 fails to build on IRIX
Summary: sys-apps/file-4.23 fails to build on IRIX
Status: RESOLVED DUPLICATE of bug 232737
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Other (show other bugs)
Hardware: MIPS IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-11 00:57 UTC by Stuart Shelton
Modified: 2009-10-25 11:27 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2008-02-11 00:57:18 UTC
Making all in magic
make[2]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-apps/file-4.23/work/file-4.23/magic'
cat ./Header ./Localstuff > magic
for frag in Magdir/acorn Magdir/adi Magdir/adventure Magdir/allegro Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix Magdir/att3b Magdir/audio Magdir/basis Magdir/bflt Magdir/blender Magdir/blit Magdir/bout Magdir/bsdi Magdir/btsnoop Magdir/cad Magdir/cafebabe Magdir/c-lang Magdir/c64 Magdir/cddb Magdir/chord Magdir/cisco Magdir/citrus Magdir/claris Magdir/clipper Magdir/cracklib Magdir/spec Magdir/commands Magdir/communications Magdir/compress Magdir/console Magdir/convex Magdir/ctags Magdir/dact Magdir/database Magdir/diamond Magdir/diff Magdir/digital Magdir/dolby Magdir/dump Magdir/editors Magdir/efi Magdir/elf Magdir/encore Magdir/epoc Magdir/esri Magdir/fcs Magdir/filesystems Magdir/flash Magdir/fonts Magdir/fortran Magdir/frame Magdir/freebsd Magdir/fsav Magdir/games Magdir/geos Magdir/gcc Magdir/gimp Magdir/gnu Magdir/grace Magdir/gringotts Magdir/hitachi-sh Magdir/hp Magdir/human68k Magdir/ibm370 Magdir/ibm6000 Magdir/iff Magdir/images Magdir/intel Magdir/interleaf Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/matroska Magdir/mcrypt Magdir/mime Magdir/mips Magdir/mirage Magdir/misctools Magdir/mkid Magdir/mlssa Magdir/mmdf Magdir/modem Magdir/motorola Magdir/msdos Magdir/msvc Magdir/mup Magdir/natinst Magdir/ncr Magdir/netbsd Magdir/netscape Magdir/news Magdir/nitpicker Magdir/ocaml Magdir/octave Magdir/olf Magdir/os2 Magdir/os400 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/parix Magdir/pbm Magdir/pdf Magdir/pdp Magdir/perl Magdir/pgp Magdir/pkgadd Magdir/plan9 Magdir/plus5 Magdir/printer Magdir/project Magdir/psdbms Magdir/psion Magdir/pulsar Magdir/pyramid Magdir/python Magdir/revision Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent Magdir/sgi Magdir/sgml Magdir/sharc Magdir/sinclair Magdir/sketch Magdir/smalltalk Magdir/sniffer Magdir/dyadic Magdir/scientific Magdir/softquad Magdir/spectrum Magdir/sql Magdir/sun Magdir/sysex Magdir/teapot Magdir/terminfo Magdir/tex Magdir/tgif Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/tuxedo Magdir/typeset Magdir/unknown Magdir/unicode Magdir/uuencode Magdir/varied.out Magdir/varied.script Magdir/vax Magdir/vicar Magdir/virtutech Magdir/visx Magdir/vms Magdir/vmware Magdir/vorbis Magdir/vxl Magdir/wordprocessors Magdir/xdelta Magdir/xenix Magdir/xo65 Magdir/xwindows Magdir/zilog Magdir/zyxel; do \
          if test -f ./$frag; then \
            f=./$frag; \
          else \
            f=$frag; \
          fi; \
          cat $f; \
        done >> magic
../src/file -C -m magic
magic, 983: Warning type `ledouble      x               \baspect:%.2f,' invalid
magic, 984: Warning type `ledouble      x               \bfps:%.2f' invalid
lt-file: could not find any magic files!
make[2]: *** [magic.mgc] Error 255
make[2]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/file-4.23/work/file-4.23/magic'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/file-4.23/work/file-4.23'
make: *** [all] Error 2
 * ERROR: sys-apps/file-4.23 failed:
 *   emake failed
 * 
 * Call stack:
 *               ebuild.sh:  46: <call src_compile>
 *             environment:3097:     emake || die "emake failed";


Manually running lt-file against the magic file results in the same output:

$ ./lt-file -C -m ../../magic/magic
../../magic/magic, 983: Warning type `ledouble  x               \baspect:%.2f,' invalid
../../magic/magic, 984: Warning type `ledouble  x               \bfps:%.2f' invalid
lt-file: could not find any magic files!


However, if those two lines are removed, then lt-file completes successfully, and the build completes.
Comment 1 Fabian Groffen gentoo-dev 2008-03-31 20:14:28 UTC
can this be an endian problem that was misdetected or something?
sparc and ppc do work fine here
Comment 2 Stuart Shelton 2008-04-02 19:20:55 UTC
From memory, these two lines were the only instances of 'ledouble' in the file...

Is there anything I can do to help clarify the situation?
Comment 3 Fabian Groffen gentoo-dev 2008-04-02 19:25:36 UTC
I'm still in the dark as to what ledouble is and why IRIX doesn't like it
Comment 4 Fabian Groffen gentoo-dev 2008-05-16 20:23:53 UTC
according to bug #209627 this works with USE="-python"?
Comment 5 Edouard Klein 2009-02-20 20:50:48 UTC
I ran into this very bug when trying to emerge something else (this was a dependency) for a ppc on a x86.
Comment 6 Andrei Slavoiu 2009-04-12 11:20:00 UTC
I'm getting a similar error when crosscompiling for arm on my amd64 machine, not sure if it's a different bug:
file -C -m ./magic.mime                                                                                                                                                            
for frag in Magdir/acorn Magdir/adi Magdir/adventure Magdir/allegro Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix Magdir/att3b Magdir/audio Magdir/basis Magdir/bflt Magdir/blender Magdir/blit Magdir/bout Magdir/bsdi Magdir/btsnoop Magdir/cad Magdir/cafebabe Magdir/c-lang Magdir/c64 Magdir/cddb Magdir/chord Magdir/cisco Magdir/citrus Magdir/claris Magdir/clipper Magdir/cracklib Magdir/spec Magdir/commands Magdir/communications Magdir/compress Magdir/console Magdir/convex Magdir/ctags Magdir/dact Magdir/database Magdir/diamond Magdir/diff Magdir/digital Magdir/dolby Magdir/dump Magdir/editors Magdir/efi Magdir/elf Magdir/encore Magdir/epoc Magdir/esri Magdir/fcs Magdir/filesystems Magdir/flash Magdir/fonts Magdir/fortran Magdir/frame Magdir/freebsd Magdir/fsav Magdir/games Magdir/geos Magdir/gcc Magdir/gimp Magdir/gnu Magdir/grace Magdir/gringotts Magdir/hitachi-sh Magdir/hp Magdir/human68k Magdir/ibm370 Magdir/ibm6000 Magdir/iff Magdir/images Magdir/intel Magdir/interleaf Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/matroska Magdir/mcrypt Magdir/mime Magdir/mips Magdir/mirage Magdir/misctools Magdir/mkid Magdir/mlssa Magdir/mmdf Magdir/modem Magdir/motorola Magdir/msdos Magdir/msvc Magdir/mup Magdir/natinst Magdir/ncr Magdir/netbsd Magdir/netscape Magdir/news Magdir/nitpicker Magdir/ocaml Magdir/octave Magdir/olf Magdir/os2 Magdir/os400 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/parix Magdir/pbm Magdir/pdf Magdir/pdp Magdir/perl Magdir/pgp Magdir/pkgadd Magdir/plan9 Magdir/plus5 Magdir/printer Magdir/project Magdir/psdbms Magdir/psion Magdir/pulsar Magdir/pyramid Magdir/python Magdir/revision Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent Magdir/sgi Magdir/sgml Magdir/sharc Magdir/sinclair Magdir/sketch Magdir/smalltalk Magdir/sniffer Magdir/dyadic Magdir/scientific Magdir/softquad Magdir/spectrum Magdir/sql Magdir/sun Magdir/sysex Magdir/teapot Magdir/terminfo Magdir/tex Magdir/tgif Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/tuxedo Magdir/typeset Magdir/unknown Magdir/unicode Magdir/uuencode Magdir/varied.out Magdir/varied.script Magdir/vax Magdir/vicar Magdir/virtutech Magdir/visx Magdir/vms Magdir/vmware Magdir/vorbis Magdir/vxl Magdir/wordprocessors Magdir/xdelta Magdir/xenix Magdir/xo65 Magdir/xwindows Magdir/zilog Magdir/zyxel; do \                                                                                        
          if test -f ./$frag; then \                                                                                                                                               
            f=./$frag; \                                                                                                                                                           
          else \                                                                                                                                                                   
            f=$frag; \                                                                                                                                                             
          fi; \                                                                                                                                                                    
          cat $f; \                                                                                                                                                                
        done >> magic                                                                                                                                                              
file -C -m magic                                                                                                                                                                   
magic, 2252: Warning: <= not supported                                                                                                                                             
magic, 3910: Warning: <= not supported                                                                                                                                             
magic, 5963: Warning: <= not supported                                                                                                                                             
magic, 5966: Warning: <= not supported                                                                                                                                             
magic, 7880: Warning: >= not supported                                                                                                                                             
file: could not find any magic files!                                                                                                                                              
make[2]: *** [magic.mgc] Error 1                                                                                                                                                   
make[2]: Leaving directory `/var/tmp/portage/sys-apps/file-4.23/work/file-4.23/magic'                                                                                              
make[1]: *** [all-recursive] Error 1                                                                                                                                               
make[1]: Leaving directory `/var/tmp/portage/sys-apps/file-4.23/work/file-4.23'                                                                                                    
make: *** [all] Error 2                                                                                                                                                            
Comment 7 Fabian Groffen gentoo-dev 2009-04-12 12:56:50 UTC
how about file-5.00 by the way?
Comment 8 Andrei Slavoiu 2009-04-12 17:24:42 UTC
(In reply to comment #7)
> how about file-5.00 by the way?
> 

sys-apps/file-5.00-r2 installed fine for me (again, I'm not using Gentoo Prefix, I'm crosscompiling for arm, so it might be unrelated to the original bug)
Comment 9 Stuart Shelton 2009-04-14 22:52:55 UTC
Unfortunately, file-4.23 was the last version to compile on IRIX :(

file-5.00-r2 fails with:

cc-1204 cc: WARNING File = getopt_long.c, Line = 360
  The indicated declaration is not visible outside of the function.

        const struct option *long_options;
                     ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 408
  The expression must be a pointer to a complete object type.

                for (i = 0; long_options[i].name; i++) {
                            ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 410
  The expression must be a pointer to a complete object type.

                        if (strncmp(current_argv, long_options[i].name,
                                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 414
  The expression must be a pointer to a complete object type.

                        if (strlen(long_options[i].name) ==
                                   ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 423
  The expression must be a pointer to a complete object type.

                        else if (!IDENTICAL_INTERPRETATION(i, match))
                                  ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 435
  The expression must be a pointer to a complete object type.

                        if (long_options[match].has_arg == no_argument
                            ^

cc-1020 cc: ERROR File = getopt_long.c, Line = 435
  The identifier "no_argument" is undefined.

                        if (long_options[match].has_arg == no_argument
                                                           ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 444
  The expression must be a pointer to a complete object type.

                                if (long_options[match].flag == NULL)
                                    ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 445
  The expression must be a pointer to a complete object type.

                                        optopt = long_options[match].val;
                                                 ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 450
  The expression must be a pointer to a complete object type.

                        if (long_options[match].has_arg == required_argument ||
                            ^

cc-1020 cc: ERROR File = getopt_long.c, Line = 450
  The identifier "required_argument" is undefined.

                        if (long_options[match].has_arg == required_argument ||
                                                           ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 451
  The expression must be a pointer to a complete object type.

                            long_options[match].has_arg == optional_argument) {
                            ^

cc-1020 cc: ERROR File = getopt_long.c, Line = 451
  The identifier "optional_argument" is undefined.

                            long_options[match].has_arg == optional_argument) {
                                                           ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 454
  The expression must be a pointer to a complete object type.

                                else if (long_options[match].has_arg ==
                                         ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 463
  The expression must be a pointer to a complete object type.

                        if ((long_options[match].has_arg == required_argument)
                             ^

cc-1020 cc: ERROR File = getopt_long.c, Line = 463
  The identifier "required_argument" is undefined.

                        if ((long_options[match].has_arg == required_argument)
                                                            ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 475
  The expression must be a pointer to a complete object type.

                                if (long_options[match].flag == NULL)
                                    ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 476
  The expression must be a pointer to a complete object type.

                                        optopt = long_options[match].val;
                                                 ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 488
  The expression must be a pointer to a complete object type.

                if (long_options[match].flag) {
                    ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 489
  The expression must be a pointer to a complete object type.

                        *long_options[match].flag = long_options[match].val;
                         ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 489
  The expression must be a pointer to a complete object type.

                        *long_options[match].flag = long_options[match].val;
                                                    ^

cc-3316 cc: ERROR File = getopt_long.c, Line = 492
  The expression must be a pointer to a complete object type.

                        retval = long_options[match].val;
                                 ^

26 errors detected in the compilation of "getopt_long.c".
make[2]: *** [getopt_long.lo] Error 1
make[2]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/sys-apps/file-5.00-r2/work/file-5.00/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/sys-apps/file-5.00-r2/work/file-5.00'
make: *** [all] Error 2
 * ERROR: sys-apps/file-5.00-r2 failed:
 *   emake failed
 * 
 * Call stack:
 *               ebuild.sh:  49: <call src_compile>
 *             environment:3396:     emake || die "emake failed";
Comment 10 Fabian Groffen gentoo-dev 2009-10-25 09:22:35 UTC
(In reply to comment #9)
> Unfortunately, file-4.23 was the last version to compile on IRIX :(

so how did you fix it then?
Comment 11 Fabian Groffen gentoo-dev 2009-10-25 09:49:14 UTC
duping it on 232737, both versions aren't in the tree any more

*** This bug has been marked as a duplicate of bug 232737 ***
Comment 12 Stuart Shelton 2009-10-25 11:27:27 UTC
> > Unfortunately, file-4.23 was the last version to compile on IRIX :(
> so how did you fix it then?
> 

file-4.23 built but failed when trying to process the 'magic' file (as per comment #1), which can be manually altered to allow it to complete.

Anything later fails to even compile (as per comment #9) - but it's possible that gnulib might be able to provide a suitable getopt_long implementation which will allow it to succeed.