when building net/asterisk, it fails to find the include files from pwlib and openh323 since the WORKDIR for those ports is improperly specified. Specifically, my /usr/ports is NFS mounted using automounter, so the work directory is not ${WRKDIRPREFIX}${PORTSDIR}/devel/pwlib/work/pwlib (which translates to /var/tmp/usr/ports/devel/pwlib/work/pwlib instead of the correct /var/tmp/amd/yertle/u/sources/usr/ports/devel/pwlib/work/pwlib. You can see it in this build excerpt: gmake -C h323 ast_h323.o gmake[2]: Entering directory `/var/tmp/amd/yertle/u/sources/usr/ports/net/asterisk/work/asterisk-1.0.1/channels/h323' c++ -O -pipe -c -fno-rtti -o ast_h323.o -O -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -march=i386 -I/usr/local/include -DZAPTEL_OPTIMIZATIONS -DASTERISK_VERSION=\"1.0.1\" -DINSTALL_PREFIX=\"/usr/local\" -DASTETCDIR=\"/usr/local/etc/asterisk\" -DASTLIBDIR=\"/usr/local/lib/asterisk\" -DASTVARLIBDIR=\"/usr/local/share/asterisk\" -DASTVARRUNDIR=\"/var/run\" -DASTSPOOLDIR=\"/var/spool/asterisk\" -DASTLOGDIR=\"/var/log/asterisk\" -DASTCONFPATH=\"/usr/local/etc/asterisk/asterisk.conf\" -DASTMODDIR=\"/usr/local/lib/asterisk/modules\" -DASTAGIDIR=\"/usr/local/share/asterisk/agi-bin\" -DBUSYDETECT_MARTIN -Wno-missing-prototypes -Wno-missing-declarations -DOLD_SANGOMA_API -DIAX_TRUNKING -I/usr/local/include -DCRYPTO -fPIC -DPBYTE_ORDER=PLITTLE_ENDIAN -DNDEBUG -DDO_CRASH -DDEBUG_THREADS -pipe -Wall -fPIC -pthread -D_REENTRANT -D_GNU_SOURCE -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA -I../../include -I/var/tmp/usr/ports/devel/pwlib/work/pwlib/include/ptlib/unix -I/var/tmp/usr/ports/devel/pwlib/work/pwlib/include -I/var/tmp/usr/ports/net/openh323/work/openh323/include -Wno-missing-prototypes -Wno-missing-declarations ast_h323.cpp cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wmissing-prototypes" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wmissing-declarations" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wno-missing-prototypes" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wno-missing-declarations" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wno-missing-prototypes" is valid for C/ObjC but not for C++ cc1plus: warning: command line option "-Wno-missing-declarations" is valid for C/ObjC but not for C++ ast_h323.cpp:34:19: ptlib.h: No such file or directory ast_h323.cpp:35:18: h323.h: No such file or directory ast_h323.cpp:36:21: h323pdu.h: No such file or directory ast_h323.cpp:37:22: mediafmt.h: No such file or directory ast_h323.cpp:38:17: lid.h: No such file or directory In file included from ast_h323.cpp:48: chan_h323.h:31: error: aggregate `sockaddr_in bindaddr' has incomplete type and cannot be defined chan_h323.h:51: error: field `addr' has incomplete type chan_h323.h:69: error: field `addr' has incomplete type In file included from ast_h323.cpp:49: ast_h323.h:61: error: expected class-name before '{' token ast_h323.h:62: error: `H323AudioCapability' has not been declared ast_h323.h:62: error: ISO C++ forbids declaration of `PCLASSINFO' with no type ast_h323.h:62: error: ISO C++ forbids declaration of `parameter' with no type [[[ gobs of other errors in these two files elided, since they seem to stem from the missing headers ]]] ast_h323.cpp:840: error: `H323_ExternalRTPChannel' has not been declared ast_h323.cpp:840: error: class `MyH323_ExternalRTPChannel' does not have any field named `H323_ExternalRTPChannel' ast_h323.cpp:840: error: `id' undeclared (first use this function) ast_h323.cpp:842: confused by earlier errors, bailing out gmake[2]: *** [ast_h323.o] Error 1 gmake[2]: Leaving directory `/var/tmp/amd/yertle/u/sources/usr/ports/net/asterisk/work/asterisk-1.0.1/channels/h323' gmake[1]: *** [h323/ast_h323.o] Error 2 gmake[1]: Leaving directory `/var/tmp/amd/yertle/u/sources/usr/ports/net/asterisk/work/asterisk-1.0.1/channels' gmake: *** [subdirs] Error 1 *** Error code 2 Stop in /amd/yertle/u/sources/usr/ports/net/asterisk. 55.592user 11.490sys 92.3%, 1ib 20ob 3577tx 1774da 5352to 0swp 1:12.67 Fix: Temporary fix is to make appropriate symlink in /var/tmp and restart the build. Permanent fix: in the port's Makefile, instead of using ${WRKDIRPREFIX}${PORTSDIR}/devel/pwlib/work/pwlib use this: `cd ${PORTSDIR}/devel/pwlib; make -V WRKSRC` Same thing applies for the openh323 port directory. How-To-Repeat: mount via automounter your /usr/ports.
Responsible Changed From-To: freebsd-ports-bugs->sobomax Over to maintainer.
State Changed From-To: open->closed Committed, thanks!