bug-bash
[Top][All Lists]
Advanced

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

Bash fails to build on Solaris when configured with --prexfix=/usr


From: Jason Tishler
Subject: Bash fails to build on Solaris when configured with --prexfix=/usr
Date: Tue, 8 May 2001 12:26:24 -0400
User-agent: Mutt/1.3.18i

Configuration Information [Automatically generated, do not change]:
Machine: sparc
OS: solaris2.6
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='sparc' 
-DCONF_OSTYPE='solaris2.6' -DCONF_MACHTYPE='sparc-sun-solaris2.6' 
-DCONF_VENDOR='sun' -DSHELL -DHAVE_CONFIG_H  -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I.  -I. -I./include -I./lib -I. 
-g -O2
uname output: SunOS prodserv2 5.6 Generic_105181-22 sun4u sparc SUNW,Ultra-30
Machine Type: sparc-sun-solaris2.6

Bash Version: 2.05
Patch Level: 0
Release Status: release

Description:
    Bash fails to build on Solaris when configured with --prexfix=/usr
    because of the following Makefile definitions:

        includedir = ${prefix}/include
        INCLUDES = -I.  -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) -I$(includedir)
    
    The above causes gcc to search in /usr/include *before* its standard
    include directories.  For example, gcc incorrectly includes:

        /usr/include/stdarg.h
    
    instead of:

        /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/include/stdarg.h
    
    which causes the following compilation error:

        gcc ... -I. -I. -I./include -I./lib -I/usr/include -g -O2 -c print_cmd.c
        print_cmd.c: In function `cprintf':
        print_cmd.c:1060: `__builtin_va_alist' undeclared (first use in this 
function)
    
    Note that this problem was reported by tech@mscs.mu.edu in:

        http://mail.gnu.org/pipermail/bug-bash/2000-June/000800.html
    
    but I did not see a resolution.  So, I am submitting a new bug report with
    information that I hope is useful.

Repeat-By:
    The build failure can be reproduced on Solaris by the following:

        $ configure --prefix=/usr
        $ make

Fix:
    My temporary workaround is to use the following make command instead:

        $ make includedir=.
    
    IMO, the correct fix is to remove -I$(includedir) from the definition
    of INCLUDES or at least make it independent of the configure --prefix
    option.

Thanks,
Jason

-- 
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp.               Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: Jason.Tishler@dothill.com
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]