Bug 14396 - Solaris build fails: main.c: non-constant initializer: op "U&"
Solaris build fails: main.c: non-constant initializer: op "U&"
Status: RESOLVED FIXED
Product: pkg-config
Classification: Unclassified
Component: src
unspecified
SPARC Solaris
: medium normal
Assigned To: Tollef Fog Heen
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-05 21:43 UTC by Daniel Richard G.
Modified: 2012-05-21 21:27 UTC (History)
0 users

See Also:


Attachments
Patch againt main.c (1.61 KB, patch)
2008-02-05 21:43 UTC, Daniel Richard G.
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Richard G. 2008-02-05 21:43:27 UTC
Created attachment 14168 [details] [review]
Patch againt main.c

Building pkg-config-0.23 on Solaris 8 using the vendor compiler fails with the following error:

----begin----
source='main.c' object='main.o' libtool=no \
depfile='.deps/main.Po' tmpdepfile='.deps/main.TPo' \
depmode=none /bin/ksh ./depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I. -DPKG_CONFIG_PC_PATH="\"/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig\"" -I./glib-1.2.10   -D__EXTENSIONS__ -D_REENTRANT -Dsparc  -Xa -misalign -mt -v -xarch=v9 -xcrossfile -xO5 -c `test -f 'main.c' || echo './'`main.c
"main.c", line 212: warning: initialization type mismatch
"main.c", line 213: non-constant initializer: op "U&"
"main.c", line 215: non-constant initializer: op "U&"
"main.c", line 217: non-constant initializer: op "U&"
"main.c", line 219: non-constant initializer: op "U&"
"main.c", line 221: non-constant initializer: op "U&"
"main.c", line 223: non-constant initializer: op "U&"
"main.c", line 225: non-constant initializer: op "U&"
"main.c", line 227: non-constant initializer: op "U&"
"main.c", line 229: non-constant initializer: op "U&"
"main.c", line 231: non-constant initializer: op "U&"
"main.c", line 233: non-constant initializer: op "U&"
"main.c", line 235: non-constant initializer: op "U&"
"main.c", line 237: non-constant initializer: op "U&"
"main.c", line 241: non-constant initializer: op "U&"
"main.c", line 243: non-constant initializer: op "U&"
"main.c", line 245: non-constant initializer: op "U&"
"main.c", line 247: non-constant initializer: op "U&"
"main.c", line 249: non-constant initializer: op "U&"
"main.c", line 251: non-constant initializer: op "U&"
"main.c", line 257: non-constant initializer: op "U&"
"main.c", line 667: cannot recover from previous errors
cc: acomp failed for main.c
*** Error code 2
make: Fatal error: Command failed for target `main.o'
----end----

I resolved this by adding the "static" keyword to all the local variables in main() that are referenced in the options_table array. (I'm assuming that main() is not called more than once in any invocation of the program.)

A patch is attached.
Comment 1 Dan Nicholson 2012-05-21 21:27:05 UTC
I think this was fixed back in commit 9e5bcc26. Please reopen if this is still an issue.