pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/39879: libX11 canoot build on systems with non-GNU 'cpp' (in this case, IRIX)



>Number:         39879
>Category:       pkg
>Synopsis:       libX11 canoot build on systems with non-GNU 'cpp' (in this 
>case, IRIX)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 07 17:45:00 +0000 2008
>Originator:     Stuart Shelton
>Release:        pkgsrc latest from CVS
>Organization:
>Environment:
IRIX 6.5.30f; MIPSpro Compilers, version 7.4.4m
>Description:

As establish in pkg/39877, the best solution to build modern packages which use 
X on IRIX is to set X11_TYPE=modular.

Unfortunately, on attempting to then build libX11, the following error occurs 
during configure:

checking for cpp... /usr/bsd/var/tmp/x11/libX11/work/.wrapper/bin/cpp
checking if /usr/bsd/var/tmp/x11/libX11/work/.wrapper/bin/cpp requires 
-undef... CC ERROR:  no source or object file given
CC ERROR:  no source or object file given
configure: error: /usr/bsd/var/tmp/x11/libX11/work/.wrapper/bin/cpp defines 
unix with or without -undef.  I don't know what to do.
*** Error code 1

Stop.
bmake: stopped in /usr/bsd/src/x11/libX11
WARNING: *** Please consider adding fortran to USE_LANGUAGES in the package 
Makefile.
*** Error code 1

Stop.
bmake: stopped in /usr/bsd/src/x11/libX11


... which is because the pkgsrc 'cpp' wrapper actually invokes MIPSpro CC, and 
this doesn't understand '-undef'.  The options '-ansi', '-cckr', '-xansi' all 
specify different sets of standard definitions which could be present.

The best workaround, however, might be to add "-Uunix" to the 'cpp' wrapper... 
which is a horrible hack, but might do the job.

The configure script itself says:

# Check for flag to avoid builtin definitions - assumes unix is predefined,
# which is not the best choice for supporting other OS'es, but covers most
# of the ones we need for now.

... so the test itself is far from great.  From what I can see, there is no 
MIPSpro option to define no symbols.
>How-To-Repeat:

More to the point, since the cpp wrapper calls CC with no arguments, it outputs:

CC ERROR:  no source or object file given

... and exits with status 1.

This means that the libX11 test of:

if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then

... will always fail before grep is even called.
>Fix:

Possibly an IRIX-specific flag which simply removes this particular test?

The following test for the '-traditional' flag will fail in exactly the same 
way.



Home | Main Index | Thread Index | Old Index