[MacPorts] #6800: BUG: exclude darwintracelib1.0 on non-darwin operating systems

MacPorts trac at macosforge.org
Fri Dec 28 10:19:07 PST 2007


#6800: BUG: exclude darwintracelib1.0 on non-darwin operating systems
-----------------------------+----------------------------------------------
  Reporter:  cssdev at mac.com  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  defect          |      Status:  closed                               
  Priority:  Normal          |   Milestone:                                       
 Component:  base            |     Version:  1.0                                  
Resolution:  fixed           |    Keywords:                                       
-----------------------------+----------------------------------------------
Old description:

> Because darwintrace is very specific to darwin, consider excluding it
> from the build process in order to build on non-darwin operating systems
> such as FreeBSD. Attempting to compile on FreeBSD 5.4 using the
> DarwinPorts-1.2 tarball results in the following error:
>
> $ uname -a
> FreeBSD thoth 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May  8 10:21:06 UTC
> 2005     root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
> $ ./configure --prefix=/home/dp --mandir=/home/dp/share/man --with-
> curlprefix=/usr/local --with-tcl=/usr/local/lib/tcl8.4 --with-
> tclinclude=/usr/local/include/tcl8.4/
> [ ... ]
> $ gmake
> [ ... ]
> gcc -c -DUSE_TCL_STUBS -W -Wall -pedantic -g -O -DHAVE_CONFIG_H -I.. -I.
> -I"/usr/local/include/tcl8.4/" -I/usr/local/include
> -DDARWINTRACE_LOG_CREATE -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1
> -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1
> -DHAVE_PTHREAD_ATFORK=1 -DHAVE_READDIR_R=1 -DHAVE_THREE_ARG_READDIR_R=1
> -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1
> -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1
> -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1
> -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1
> -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1
> -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1
> -DHAVE_SIGNED_CHAR=1 -DHAVE_PUTENV_THAT_COPIES=1 -DHAVE_LANGINFO=1
> -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1  -fPIC darwintrace.c -o
> darwintrace.o
> darwintrace.c:34:25: crt_externs.h: No such file or directory
> darwintrace.c: In function `log_op':
> darwintrace.c:94: error: `F_GETPATH' undeclared (first use in this
> function)
> darwintrace.c:94: error: (Each undeclared identifier is reported only
> once
> darwintrace.c:94: error: for each function it appears in.)
> gmake[2]: *** [darwintrace.o] Error 1
> gmake[2]: Leaving directory
> `/usr/home/css/DarwinPorts-1.2/src/darwintracelib1.0'
> gmake[1]: *** [all] Error 1
> gmake[1]: Leaving directory `/usr/home/css/DarwinPorts-1.2/src'
> gmake: *** [all] Error 1
>
> Perhaps the base configure script could only build darwintracelib for
> darwin. It looks like porttrace.tcl won't do anything on non-darwin
> operating systems anyway. After a little poking around, I modified the
> configure script to only build darwintracelib1.0 if it could find the
> crt_extensions.h header. This header should (?) only be available on
> darwin-based systems.

New description:

 Because darwintrace is very specific to darwin, consider excluding it from
 the build process in order to build on non-darwin operating systems such
 as FreeBSD. Attempting to compile on FreeBSD 5.4 using the DarwinPorts-1.2
 tarball results in the following error:

 {{{
 $ uname -a
 FreeBSD thoth 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May  8 10:21:06 UTC
 2005     root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
 $ ./configure --prefix=/home/dp --mandir=/home/dp/share/man --with-
 curlprefix=/usr/local --with-tcl=/usr/local/lib/tcl8.4 --with-
 tclinclude=/usr/local/include/tcl8.4/
 [ ... ]
 $ gmake
 [ ... ]
 gcc -c -DUSE_TCL_STUBS -W -Wall -pedantic -g -O -DHAVE_CONFIG_H -I.. -I.
 -I"/usr/local/include/tcl8.4/" -I/usr/local/include
 -DDARWINTRACE_LOG_CREATE -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1
 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1
 -DHAVE_PTHREAD_ATFORK=1 -DHAVE_READDIR_R=1 -DHAVE_THREE_ARG_READDIR_R=1
 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1
 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1
 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1
 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1
 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1
 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_ST_BLKSIZE=1
 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DHAVE_SIGNED_CHAR=1
 -DHAVE_PUTENV_THAT_COPIES=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1
 -DHAVE_SYS_FILIO_H=1  -fPIC darwintrace.c -o darwintrace.o
 darwintrace.c:34:25: crt_externs.h: No such file or directory
 darwintrace.c: In function `log_op':
 darwintrace.c:94: error: `F_GETPATH' undeclared (first use in this
 function)
 darwintrace.c:94: error: (Each undeclared identifier is reported only once
 darwintrace.c:94: error: for each function it appears in.)
 gmake[2]: *** [darwintrace.o] Error 1
 gmake[2]: Leaving directory
 `/usr/home/css/DarwinPorts-1.2/src/darwintracelib1.0'
 gmake[1]: *** [all] Error 1
 gmake[1]: Leaving directory `/usr/home/css/DarwinPorts-1.2/src'
 gmake: *** [all] Error 1
 }}}

 Perhaps the base configure script could only build darwintracelib for
 darwin. It looks like porttrace.tcl won't do anything on non-darwin
 operating systems anyway. After a little poking around, I modified the
 configure script to only build darwintracelib1.0 if it could find the
 crt_extensions.h header. This header should (?) only be available on
 darwin-based systems.

-- 
Ticket URL: <http://trac.macosforge.org/projects/macports/ticket/6800#comment:9>
MacPorts </projects/macports>
Ports system for Mac OS


More information about the macports-tickets mailing list