[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