Bug 72973 - asterisk build fails due to incorrect workdir path
Summary: asterisk build fails due to incorrect workdir path
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Maxim Sobolev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-21 19:10 UTC by Vick Khera
Modified: 2005-12-17 07:00 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vick Khera 2004-10-21 19:10:23 UTC
	

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.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2004-10-24 00:41:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->sobomax

Over to maintainer.
Comment 2 Sam Lawrance freebsd_committer freebsd_triage 2005-12-17 07:00:33 UTC
State Changed
From-To: open->closed

Committed, thanks!