[Clfs-dev] glib-2.18.3 build fails on ps3

John Frankish frankish at dubai.oilfield.slb.com
Fri Dec 12 06:05:08 PST 2008


At 17:06 12-12-08, you wrote:
>John Frankish wrote:
> > At 06:41 12-12-08, you wrote:
> >> John Frankish wrote:
> >> > At 08:05 11-12-08, you wrote:
> >> >> John Frankish wrote:
> >> >> > hopefully this is the correct list for bclfs...
> >> >> >
> >> >> > the multi-lib build for glib-2.18.3 fails with the error
> >> >> > "...unexpected symbol near |" on a ps3
> >> >> >
> >> >> > google turns up the same error on macs, etc but no particular
> >> >> solution?
> >> >> Based on the information provided, I couldn't tell you anything. If I
> >> >> was to look at the glib source I would not be able to locate the
> >> >> offending line of code, or re-create the environment that compiled it
> >> >> because the compile command is missing.
> >> >> _______________________________________________
> >> >> sorry - more details below
> >> >
> >> > make (multi-lib 32-bit)
> >> > <snip>
> >> Also, after you run configure, could you please post the output of these
> >> two commands? They should be run in the top of the glib source dir.
> >>
> >> grep global_symbol_pipe= libtool
> >> grep export_symbols_cmds= libtool
> >>
> >> They should produce 3 lines that look something along the lines of:
> >>
> >> global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[
> >> ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
> >> export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe
> >> | \$SED 's/.* //' | sort | uniq > \$export_symbols"
> >> export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe
> >> | \$SED 's/.* //' | sort | uniq > \$export_symbols"
> >>
> >> Note that this may vary, though It doesn't look like that much on linux.
> >>
> >> I started looking through configure. There's a case that states to only
> >> use global_symbol_pipe if it works.
> >>
> >> See configure line 12513 where it gets set and configure line 12615 for
> >> the line that blanks it out if it doesn't work. I also believe that
> >> configure line 12540 is where the test actually takes place.
> >>
> >> I'd also be interested in seeing the peice of config.log that is related
> >> to testing wether this variable works or not. You should beable to find
> >> the relevant information by searching in config.log for "checking
> >> command to parse "$NM" output from "$compiler" object..." When in doubt
> >> just attach the entire thing to a reply email.
> >> _______________________________________________
> >
> > hopefully I got all the details:
> >
> > USE_ARCH=32 CC="gcc ${BUILD32}" ./configure --prefix=/usr
> > --host=${CLFS_TARGET32}
> > ...
> > # grep global_symbol_pipe= libtool
> > global_symbol_pipe=""
> > # grep export_symbols_cmds= libtool
> > export_symbols_cmds="\$NM \$libobjs \$convenience |
> > \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
> > export_symbols_cmds="\$NM \$libobjs \$convenience |
> > \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
> >
> > config.log
> > ...
> > <snip>
> >
> > ...
> >
> > make
> > ...
> > <snip>
> >
>Ok, get a clean source dir and try this configure command.
>
>USE_ARCH=32 NM=nm CC="gcc ${BUILD32}" ./configure --prefix=/usr
>--host=${CLFS_TARGET}
>
>I think due to --host it's looking for NM=i686-pc-linux-nm and when it's
>not finding that it's resorting to link -dump -symbols which doesn't
>exist on linux. Will look into it further this weekend.
>_______________________________________________

Thanks

USE_ARCH=32 NM=nm CC="gcc ${BUILD32}" ./configure --prefix=/usr
--host=${CLFS_TARGET32}

did the trick.

Note on this machine:

echo ${CLFS_TARGET32} = powerpc-unknown-linux-gnu
uname -a = ...ppc64 Broadband Engine, altivec supported GNU/Linux

John





More information about the Clfs-dev mailing list