Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

solaris Cups & compiling stop

Status
Not open for further replies.

Mauric

Technical User
Feb 18, 2003
72
CH
Hello everyone,

I want compile cups 1.1.23 on me solaris 9 i386 machine
i become every time the same error.

i have googled about this error but without 100% succsess, one topic i have found about
reg.h the assumption it's of gcc ver (the discussion over gcc problem i haven't understnd ),
please have any more infos for me ?

--> gcc -v
gcc version 3.4.2
SunOS 5.9 Generic_117172-12 i86pc i386 i86pc

any pkginfo's here
application SMCghosts ghostscript
system SUNWTiff libtiff
system SUNWjpg jpeg
system SUNWzlib zlib
system SUNWpng PNG


Compiling PSOutputDev.cxx...
In file included from /usr/include/sys/reg.h:13,
from /usr/include/sys/regset.h:24,
from /usr/include/sys/ucontext.h:21,
from /usr/local/lib/gcc/i386-pc-solaris2.9/3.4.2/include/sys/sign al.h:249,
from /usr/include/signal.h:27,
from PSOutputDev.cxx:18:
/usr/include/ia32/sys/reg.h:300: error: `upad128_t' does not name a type
/usr/include/ia32/sys/reg.h:301: error: `upad128_t' does not name a type
/usr/include/ia32/sys/reg.h:331: error: `upad128_t' does not name a type
*** Error code 1
The following command caused the error:
gcc -Wall -fPIC -O2 -I.. -c PSOutputDev.cxx
make: Fatal error: Command failed for target `PSOutputDev.o'
Current working directory /usr/cups-1.1.23/pdftops
*** Error code 1
The following command caused the error:
for dir in cups backend berkeley cgi-bin filter man pdftops scheduler systemv; do\
echo Making all in $dir... ;\
(cd $dir ; make ) || exit 1;\
done
make: Fatal error: Command failed for target `all'


best regards
Maurizio
 
This is a problem that can happen with all gcc releases.

Problem is:

- someone builds a gcc package, compiled on a system using "old" system
header files.

In this case, a /usr/include/sys/types.h header file that does not yet define
the typedef upad128_t.


The gcc compilation procedure munges the /usr/include/sys/types.h
header file into (for example)
/opt/sfw/gcc-3/lib/gcc-lib/i386-pc-solaris2.9/3.3.2/include/ sys/types.h
(sunfreeware gcc has this header file somewhere else)

% head -10 /opt/sfw/gcc-3/lib/gcc-lib/i386-pc-solaris2.9/3.3.2/include/sys/types.h
/* DO NOT EDIT THIS FILE.

It has been auto-edited by fixincludes from:

"/usr/include/sys/types.h"

This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */

/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */




This header file does not define upad128_t, either.


- You install a SunOS patch, or update to a newer version of SunOS.
(Or you're running a SunOS release that is newer than the one that
was used to build the gcc package)

The patch (or the OS upgrade) installs new system header files, in
this case a newer release of the /usr/include/sys/types.h file,
which defines a new typedef upad128_t. Apparently this new typedef
was needed for x86 SSE2 kernel support.

The include file /usr/include/sys/regset.h needs the new typedef
upad128_t


- If you compile a program that includes both <sys/regset.h> and
<sys/types.h>, gcc-3.x.x will use it's own old (now obsolete) version of
the "fixed" sys/types.h file, that does not define upad128_t.



Possible solutions are:

- the installed gcc-3 should contain a "mkheaders" script that is supposed
to build fresh "fixed" gcc header files.

- build your own gcc-3 from scratch; during a gcc-3 build a fresh set of
"fixed" gcc headers are built

- You can also try to copy the missing upad128_t typedef definition from
/usr/include/sys/types.h into gcc's "fixed"
/opt/sfw/gcc-3/lib/gcc-lib/i386-pc-solaris2.9/3.3.2/include/ sys/types.h
file (but I'm not sure if upad128_t is the only problem; maybe you have
to manually fix more errors like this).

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top