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

Joe Ciccone jciccone at gmail.com
Fri Dec 12 05:06:50 PST 2008


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.



More information about the Clfs-dev mailing list