Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 210149 - sys-libs/slang-2.1.3-r1 fails to build on IRIX
Summary: sys-libs/slang-2.1.3-r1 fails to build on IRIX
Status: RESOLVED INVALID
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: MIPS IRIX
: High normal (vote)
Assignee: Gentoo non-Linux Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-14 16:26 UTC by Stuart Shelton
Modified: 2008-02-28 15:20 UTC (History)
0 users

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-14 16:26:59 UTC
(slang-1.4.9-r2 installed correctly)

make[1]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/slsh'
cp ../src/config.h .
cc -c -c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970   -I/usr/opt/portage/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/src -DSLSH_CONF_DIR='"/opt/portage/etc"' -DSLSH_PATH='"/opt/portage/usr/share/slsh"' -DSLSH_CONF_DIR_ENV='"SLSH_CONF_DIR"' -DSLSH_LIB_DIR_ENV='"SLSH_LIB_DIR"' -DSLSH_PATH_ENV='"SLSH_PATH"'  slsh.c

cc-1196 cc: WARNING File = slsh.c, Line = 195
  The indicated function is declared implicitly.

        if (SLang_get_error () == 0)
            ^

cc-1196 cc: WARNING File = slsh.c, Line = 202
  The indicated function is declared implicitly.

     if (SLang_get_error ())
         ^

cc-1196 cc: WARNING File = slsh.c, Line = 214
  The indicated function is declared implicitly.

     else if (-1 == SLang_pop_int (&status))
                    ^

cc-1196 cc: WARNING File = slsh.c, Line = 496
  The indicated function is declared implicitly.

     (void) SLutf8_enable (-1);
            ^

cc-1020 cc: ERROR File = slsh.c, Line = 564
  The identifier "SL_TB_FULL" is undefined.

             SLang_Traceback = SL_TB_FULL;
                               ^

cc-1196 cc: WARNING File = slsh.c, Line = 661
  The indicated function is declared implicitly.

       return SLang_get_error ();
              ^

cc-1196 cc: WARNING File = slsh.c, Line = 671
  The indicated function is declared implicitly.

       return SLang_get_error ();
              ^

cc-1020 cc: ERROR File = slsh.c, Line = 693
  The identifier "SL_TB_FULL" is undefined.

        if (SLang_Traceback != SL_TB_FULL)
                               ^

cc-1020 cc: ERROR File = slsh.c, Line = 694
  The identifier "SL_TB_NONE" is undefined.

          SLang_Traceback = SL_TB_NONE;
                            ^

cc-1196 cc: WARNING File = slsh.c, Line = 699
  The indicated function is declared implicitly.

     exit_val = SLang_get_error ();
                ^

3 errors detected in the compilation of "slsh.c".
make[1]: *** [slsh.o] Error 2
make[1]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/slsh'
make: *** [elf] Error 2
 * ERROR: sys-libs/slang-2.1.3-r1 failed:
 *   emake elf static failed.
 * 
 * Call stack:
 *               ebuild.sh:  46: <call src_compile>
 *             environment:2058:     emake -j1 elf static || die "emake elf static failed.";
Comment 1 Stuart Shelton 2008-02-28 13:52:45 UTC
Ah, actually this was my fault <embarrassed>

My wrapper for the MIPSpro compilers was incorrectly munging the command-line and placing system include directories before those specified by the build itself - so it was finding an older slang.h rather than the slang.h for the code being built.

(Oh, and src/slutty.c should #include unistd.h and fcntl.h)

With this corrected I now get the following errors:

ld32: ERROR   33 : Unresolved text symbol "tputs" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(display.o).
ld32: ERROR   33 : Unresolved text symbol "tgoto" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(display.o).
ld32: ERROR   33 : Unresolved text symbol "tgetnum" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(terminal.o).
ld32: ERROR   33 : Unresolved text symbol "tgetstr" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(terminal.o).
ld32: ERROR   33 : Unresolved text symbol "tgetent" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(terminal.o).
ld32: ERROR   33 : Unresolved text symbol "tgetflag" -- 1st referenced by /opt/portage/usr/lib/libreadline.a(terminal.o).

... so I'll investigate this next
Comment 2 Fabian Groffen gentoo-dev 2008-02-28 13:54:20 UTC
my first guess is that it isn't linked correctly to ncurses or something, e.g. missing rpath.
Comment 3 Stuart Shelton 2008-02-28 14:53:00 UTC
I've just rebuilt readline, and the final-stage link error has changed to:

ld32: ERROR   33 : Unresolved text symbol "SLang_get_error" -- 1st referenced by slsh.o.
ld32: ERROR   33 : Unresolved text symbol "SLang_pop_int" -- 1st referenced by slsh.o.
ld32: ERROR   33 : Unresolved text symbol "SLutf8_enable" -- 1st referenced by slsh.o.
ld32: ERROR   33 : Unresolved text symbol "SLang_handle_interrupt" -- 1st referenced by readline.o.
ld32: ERROR   33 : Unresolved text symbol "SLang_push_function" -- 1st referenced by readline.o.
ld32: ERROR   33 : Unresolved text symbol "SLang_push_int" -- 1st referenced by readline.o.
ld32: ERROR   33 : Unresolved text symbol "SLrline_open2" -- 1st referenced by readline.o.
ld32: ERROR   33 : Unresolved text symbol "SLrline_close" -- 1st referenced by readline.o.
ld32: ERROR   33 : Unresolved data symbol "SL_RunTime_Error" -- 1st referenced by readline.o.

... so I think that my readline was broken previously, and this could potentially be a DSO ordering issue (as these symbols are UNDEF according to nm in readline.o
Comment 4 Stuart Shelton 2008-02-28 15:20:04 UTC
Argh - my fault again!

I had a '-L' option set in $LDFLAGS (which I'd forgotten about), meaning that it was trying to link against the old slang-1.4.9-r2 library rather than the newly built library.

On the plus side, the IRIX wrapper has greatly improved.

Sorry for wasting your time...