pkgsrc-Bugs archive

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

pkg/42428: test for mkdtemp botched in lang/f2c



>Number:         42428
>Category:       pkg
>Synopsis:       test for mkdtemp botched in lang/f2c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 08 16:05:00 +0000 2009
>Originator:     Jörn Clausen
>Release:        
>Organization:
University of Bielefeld
>Environment:
>Description:
Compiling lang/f2c on Solaris results in

gcc -O -I/usr/pkgsrc/20090630/gcc34/include -I/usr/include 
-I/usr/pkgsrc/20090630/include  -Werror  -I. -I. -c niceprintf.c
gcc -O -I/usr/pkgsrc/20090630/gcc34/include -I/usr/include 
-I/usr/pkgsrc/20090630/include  -Werror  -I. -I. -c cds.c
gcc -O -I/usr/pkgsrc/20090630/gcc34/include -I/usr/include 
-I/usr/pkgsrc/20090630/include  -Werror  -I. -I. -c sysdep.c
In file included from sysdep.c:120:
/usr/include/unistd.h:307: error: conflicting types for 'fork'
sysdep.c:84: error: previous declaration of 'fork' was here
/usr/include/unistd.h:307: error: conflicting types for 'fork'
sysdep.c:84: error: previous declaration of 'fork' was here
/usr/include/unistd.h:356: error: conflicting types for 'getpid'
sysdep.c:84: error: previous declaration of 'getpid' was here
/usr/include/unistd.h:356: error: conflicting types for 'getpid'
sysdep.c:84: error: previous declaration of 'getpid' was here
sysdep.c: In function `set_tmp_names':
sysdep.c:226: warning: assignment makes pointer from integer without a cast
*** Error code 1


The reason is the test in files/f2c.mk - or actually the removal of this test. 
Compiling f2c outside pkgsrc works as expected:

$ gmake -f makefile.u CC=gcc
gcc -c -O niceprintf.c
gcc -c -O cds.c
if gcc sysdeptest.c; then echo '/*OK*/' > sysdep.hd;\
        elif gcc -DNO_MKDTEMP sysdeptest.c; then echo '#define NO_MKDTEMP' 
>sysdep.hd;\
        else echo '#define NO_MKDTEMP' >sysdep.hd; echo '#define NO_MKSTEMP' 
>>sysdep.hd; fi
Undefined                       first referenced
 symbol                             in file
mkdtemp                             /var/tmp//ccKTT90a.o
ld: fatal: Symbol referencing errors. No output written to a.out
collect2: ld returned 1 exit status
rm -f a.out
gcc -c -O sysdep.c
gcc -c -O version.c
gcc  main.o init.o gram.o lex.o proc.o equiv.o data.o format.o expr.o exec.o 
intr.o io.o misc.o error.o mem.o names.o output.o p1output.o pread.o put.o 
putpcc.o vax.o formatdata.o parse_args.o niceprintf.o cds.o sysdep.o version.o  
-o f2c
>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index