erlang-runtime-16.b.01 does not build the wx application when using clang since otp_src_R16B01/lib/wx/configure:5137 states CXXFLAGS="$CXXFLAGS $CFLAGS $CPPFLAGS" which makes '-std=gnu89' (from USE_CSTD in Makefile) end up in the c++ command. clang fails: error: invalid argument '-std=gnu89' not allowed with 'C++/ObjC++' during configure of lib/wx. (Can not link the wx driver, wx will NOT be useable) When this is fixed (by not including CFLAGS into CXXFLAGS) the wx build failes: /usr/bin/ld: amd64-portbld-freebsd10.0/wxe_impl.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC amd64-portbld-freebsd10.0/wxe_impl.o: could not read symbols: Bad value How-To-Repeat: build lang/erlang-runtime16 with WX enabled and clang
Responsible Changed From-To: freebsd-bugs->freebsd-ports-bugs reassign to ports team
Responsible Changed From-To: freebsd-ports-bugs->olgeni Over to maintainer (via the GNATS Auto Assign Tool)
Hi Stefan, Testing on redports has shown that USE_CSTD=gnu89 can be removed from the Makefile. Can you confirm this also works for you? https://redports.org/buildarchive/20131018174900-4709/
Author: tijl Date: Tue Oct 22 07:55:09 2013 New Revision: 331232 URL: http://svnweb.freebsd.org/changeset/ports/331232 Log: Remove USE_CSTD=gnu89 to fix compilation of C++ code when the WX option is enabled. It was added in r300328 to fix compilation with clang but testing has shown it is no longer necessary. PR: ports/180017 Tested by: Stefan Grundmann <sg2342@googlemail.com> Modified: head/lang/erlang-runtime16/Makefile Modified: head/lang/erlang-runtime16/Makefile ============================================================================== --- head/lang/erlang-runtime16/Makefile Tue Oct 22 07:53:02 2013 (r331231) +++ head/lang/erlang-runtime16/Makefile Tue Oct 22 07:55:09 2013 (r331232) @@ -53,7 +53,6 @@ OPTIONS_DEFAULT=SMP OPENSSL THREADS SCTP ERL_RELEASE= R${PORTVERSION:S/.//g:U} USES= gmake perl5 -USE_CSTD= gnu89 GNU_CONFIGURE= yes NO_STAGE= yes _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Fixed in r331232.
Author: olgeni Date: Tue Oct 22 14:59:32 2013 New Revision: 331282 URL: http://svnweb.freebsd.org/changeset/ports/331282 Log: - Add staging support and simplify plist generation. - Add LDFLAGS to unbreak the ODBC build. - Remove unnecessary USE_CSTD (see r331232). [1] - Change PKGNAMESUFFIX to avoid using LATEST_LINK. [2] PR: ports/180017 [1] Submitted by: Stefan Grundmann <sg2342@googlemail.com> [1] Submitted by: tijl [2] Deleted: head/lang/erlang-runtime15/Makefile.lib head/lang/erlang-runtime15/Makefile.man Modified: head/lang/erlang-runtime15/Makefile head/lang/erlang-runtime15/files/pkg-message.in head/lang/erlang-runtime15/pkg-plist Modified: head/lang/erlang-runtime15/Makefile ============================================================================== --- head/lang/erlang-runtime15/Makefile Tue Oct 22 14:54:01 2013 (r331281) +++ head/lang/erlang-runtime15/Makefile Tue Oct 22 14:59:32 2013 (r331282) @@ -3,16 +3,12 @@ PORTNAME= erlang PORTVERSION= 15.b.03.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang parallel java MASTER_SITES= http://www.erlang.org/download/:erlangorg \ http://erlang.stacken.kth.se/download/:erlangorg \ - http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg \ - http://www.erlang.se/doc/:erlangse \ - http://www.erlang.se/publications/:publications \ - http://www.sics.se/~joe/thesis/:joe \ - ${MASTER_SITE_LOCAL:S/$/:local/:S,%SUBDIR%/,olgeni/,} -PKGNAMESUFFIX= -runtime + http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg +PKGNAMESUFFIX= -runtime15 DISTNAME= otp_src_${ERL_RELEASE} DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:erlangorg \ ${ERLANG_MAN}:erlangorg @@ -24,14 +20,12 @@ PATCH_SITES= http://www.erlang.org/downl MAINTAINER= olgeni@FreeBSD.org COMMENT= A functional programming language from Ericsson -LATEST_LINK= ${PORTNAME}${PKGNAMESUFFIX}${PORTVERSION:C/\..*//} - WRKSRC= ${WRKDIR}/otp_src_R15B03 ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//} SUB_FILES= pkg-message -SUB_LIST= TOOLS_VSN=${TOOLS_VSN} ERLANG_LIB=${ERLANG_LIB} +SUB_LIST= ERLANG_LIB=${ERLANG_LIB} PLIST_SUB= ERLANG_LIB=${ERLANG_LIB} MAKE_JOBS_UNSAFE=yes @@ -54,10 +48,9 @@ OPTIONS_DEFAULT=SMP OPENSSL THREADS SCTP ERL_RELEASE= R${PORTVERSION:S/.//g:U:S/1$/-1/} USES= gmake perl5 -USE_CSTD= gnu89 GNU_CONFIGURE= yes +LDFLAGS+= -L${LOCALBASE}/lib -NO_STAGE= yes .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MDOCS} @@ -170,72 +163,36 @@ MAKE_ARGS+= ARCH=x86 # Erlang man pages are more of internal documentation using the man format than # actual system man pages. (erl.1 and epmd.1 perhaps being the exception). -NO_MANCOMPRESS= yes - -MAN1PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN3PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN4PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN6PREFIX= ${PREFIX}/lib/${ERLANG_LIB} - # Install documentation. (HTML docs need to be in same dir as the # rest, not in share/doc/erlang as it should, because of relative # links in the documentation. + post-install: @for SECTION in 1 3 4 6; do \ ${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_MAN} \ - -C ${PREFIX}/lib/${ERLANG_LIB} \ + -C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} \ "man/man$${SECTION}/*.$${SECTION}" || ${TRUE}; \ done - @${RM} -rf ${PREFIX}/lib/${ERLANG_LIB}/man/cat? + @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/man/cat? + .if ${PORT_OPTIONS:MDOCS} @${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_DOCS} \ - -C ${PREFIX}/lib/${ERLANG_LIB} + -C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} @${INSTALL_DATA} ${WRKSRC}/lib/dialyzer/doc/*.txt \ - ${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/ + ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/ .endif - @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/lib/${ERLANG_LIB} - @${CHMOD} -R o+rX-w,g+rX-w ${PREFIX}/lib/${ERLANG_LIB} - -# All non-library files. - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d -empty \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d -empty \ | ${SORT} \ | ${SED} -e 's#^#@exec ${MKDIR} %D/#g' \ > ${ERLANG_PLIST} - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \ - | ${GREP} -v "^lib/${ERLANG_LIB}/man" \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \ | ${SORT} \ >> ${ERLANG_PLIST} -# Stock OTP libraries. - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type f -o -type l; \ - done | ${SORT} >> ${ERLANG_PLIST} - -# Stock OTP library directories. - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type d -empty \ - | ${SED} -e 's#^#@exec ${MKDIR} %D/#g'; \ - done | ${SORT} >> ${ERLANG_PLIST} - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type d \ - | ${SED} -e 's/^/@dirrm /g'; \ - done | ${SORT} -r >> ${ERLANG_PLIST} - -# Other directories. - - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d | ${SORT} -r \ - | ${GREP} -v "^lib/${ERLANG_LIB}/man" \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d \ + | ${SORT} -r \ | ${SED} -e 's/^/@dirrm /g' \ >> ${ERLANG_PLIST} @@ -245,9 +202,5 @@ post-install: @${ECHO_CMD} "r ${ERLANG_PLIST}" >> ${WRKDIR}/ex.script @${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script @cd ${WRKDIR}; ex < ex.script - @${CAT} ${PKGMESSAGE} - -.include "Makefile.lib" -.include "Makefile.man" .include <bsd.port.mk> Modified: head/lang/erlang-runtime15/files/pkg-message.in ============================================================================== --- head/lang/erlang-runtime15/files/pkg-message.in Tue Oct 22 14:54:01 2013 (r331281) +++ head/lang/erlang-runtime15/files/pkg-message.in Tue Oct 22 14:59:32 2013 (r331282) @@ -1,13 +1,4 @@ =========================================================================== -Installation tips: - -You can find an emacs mode for Erlang here: - - %%LOCALBASE%%/lib/%%ERLANG_LIB%%/lib/tools-%%TOOLS_VSN%%/emacs - -You may wish to add the following line to /etc/manpath.config: - -OPTIONAL_MANPATH %%LOCALBASE%%/lib/%%ERLANG_LIB%%/man To use this runtime port for development or testing, just prepend its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable. Modified: head/lang/erlang-runtime15/pkg-plist ============================================================================== --- head/lang/erlang-runtime15/pkg-plist Tue Oct 22 14:54:01 2013 (r331281) +++ head/lang/erlang-runtime15/pkg-plist Tue Oct 22 14:59:32 2013 (r331282) @@ -1,10 +1,4 @@ @comment Insert PLIST here @comment -=[ begin PLIST.lib-erlang ]=- @comment -=[ end PLIST.lib-erlang ]=- -@dirrm lib/%%ERLANG_LIB%%/man/man6 -@dirrm lib/%%ERLANG_LIB%%/man/man4 -@dirrm lib/%%ERLANG_LIB%%/man/man3 -@dirrm lib/%%ERLANG_LIB%%/man/man1 -@dirrm lib/%%ERLANG_LIB%%/man -@dirrmtry lib/%%ERLANG_LIB%%/lib @dirrmtry lib/%%ERLANG_LIB%% _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Author: olgeni Date: Tue Oct 22 19:02:06 2013 New Revision: 331306 URL: http://svnweb.freebsd.org/changeset/ports/331306 Log: - Add staging support and simplify plist generation. - Add LDFLAGS to unbreak the ODBC build. - Remove unnecessary USE_CSTD (see r331232). [1] - Remove build_plt target, which is overkill for normal usage anyway. PR: ports/180017 [1] Submitted by: Stefan Grundmann <sg2342@googlemail.com> [1] Deleted: head/lang/erlang/Makefile.lib head/lang/erlang/Makefile.man Modified: head/lang/erlang/Makefile head/lang/erlang/pkg-plist Modified: head/lang/erlang/Makefile ============================================================================== --- head/lang/erlang/Makefile Tue Oct 22 18:50:47 2013 (r331305) +++ head/lang/erlang/Makefile Tue Oct 22 19:02:06 2013 (r331306) @@ -3,7 +3,7 @@ PORTNAME= erlang PORTVERSION= 15.b.03.1 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 3 CATEGORIES= lang parallel java MASTER_SITES= http://www.erlang.org/download/:erlangorg \ @@ -52,11 +52,13 @@ OPTIONS_DEFAULT=SMP OPENSSL THREADS SCTP ERL_RELEASE= R${PORTVERSION:S/.//g:U:S/1$/-1/} USES= gmake perl5 -USE_CSTD= gnu89 USE_RC_SUBR= epmd GNU_CONFIGURE= yes +LDFLAGS+= -L${LOCALBASE}/lib + +EI_VSN= 3.7.9 +TOOLS_VSN= 2.6.8 -NO_STAGE= yes .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MDOCS} @@ -176,78 +178,41 @@ MAKE_ARGS+= ARCH=x86 # Erlang man pages are more of internal documentation using the man format than # actual system man pages. (erl.1 and epmd.1 perhaps being the exception). -NO_MANCOMPRESS= yes - -MAN1PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN3PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN4PREFIX= ${PREFIX}/lib/${ERLANG_LIB} -MAN6PREFIX= ${PREFIX}/lib/${ERLANG_LIB} - # Install documentation. (HTML docs need to be in same dir as the # rest, not in share/doc/erlang as it should, because of relative # links in the documentation. + post-install: - @${LN} -sf ${PREFIX}/lib/${ERLANG_LIB}/lib/erl_interface-*/bin/erl_call ${PREFIX}/bin/erl_call + @${LN} -sf ../lib/${ERLANG_LIB}/lib/erl_interface-${EI_VSN}/bin/erl_call ${STAGEDIR}${PREFIX}/bin/erl_call @for SECTION in 1 3 4 6; do \ ${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_MAN} \ - -C ${PREFIX}/lib/${ERLANG_LIB} \ + -C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} \ "man/man$${SECTION}/*.$${SECTION}" || ${TRUE}; \ done - @${RM} -rf ${PREFIX}/lib/${ERLANG_LIB}/man/cat? + @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/man/cat? + .if ${PORT_OPTIONS:MDOCS} @${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_DOCS} \ - -C ${PREFIX}/lib/${ERLANG_LIB} + -C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} @${INSTALL_DATA} ${WRKSRC}/lib/dialyzer/doc/*.txt \ - ${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/ - - @${MKDIR} ${DOCSDIR} + ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/ + @${MKDIR} ${STAGEDIR}${DOCSDIR} .for FILE in ${DOC_DISTFILES} - @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/$$(expr ${FILE} : '\([^:]*\)') ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/$$(expr ${FILE} : '\([^:]*\)') ${STAGEDIR}/${DOCSDIR} .endfor .endif - @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/lib/${ERLANG_LIB} - @${CHMOD} -R o+rX-w,g+rX-w ${PREFIX}/lib/${ERLANG_LIB} - -# All non-library files. - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d -empty \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d -empty \ | ${SORT} \ | ${SED} -e 's#^#@exec ${MKDIR} %D/#g' \ > ${ERLANG_PLIST} - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \ - | ${GREP} -v "^lib/${ERLANG_LIB}/man" \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \ | ${SORT} \ >> ${ERLANG_PLIST} -# Stock OTP libraries. - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type f -o -type l; \ - done | ${SORT} >> ${ERLANG_PLIST} - -# Stock OTP library directories. - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type d -empty \ - | ${SED} -e 's#^#@exec ${MKDIR} %D/#g'; \ - done | ${SORT} >> ${ERLANG_PLIST} - - @for LIBRARY in ${OTP_LIBS}; do \ - cd ${PREFIX}; ${TEST} -d lib/${ERLANG_LIB}/lib/$${LIBRARY} \ - && ${FIND} lib/${ERLANG_LIB}/lib/$${LIBRARY} -type d \ - | ${SED} -e 's/^/@dirrm /g'; \ - done | ${SORT} -r >> ${ERLANG_PLIST} - -# Other directories. - - @cd ${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d | ${SORT} -r \ - | ${GREP} -v "^lib/${ERLANG_LIB}/man" \ - | ${GREP} -v "^lib/${ERLANG_LIB}/lib" \ + @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type d \ + | ${SORT} -r \ | ${SED} -e 's/^/@dirrm /g' \ >> ${ERLANG_PLIST} @@ -257,18 +222,5 @@ post-install: @${ECHO_CMD} "r ${ERLANG_PLIST}" >> ${WRKDIR}/ex.script @${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script @cd ${WRKDIR}; ex < ex.script - @${CAT} ${PKGMESSAGE} - -buildplt: - @${ECHO_CMD} ===================================================== - @${ECHO_CMD} WARNING: building a full PLT may literally take hours - @${ECHO_CMD} - @${ECHO_CMD} You may wish to settle for the standard PLT built by - @${ECHO_CMD} dialyzer on the first run. - @${ECHO_CMD} ===================================================== - @cd ${PREFIX}/lib/${ERLANG_LIB}/lib; ${PREFIX}/bin/dialyzer --verbose --build_plt --output_plt ${HOME}/.dialyzer_plt -c $$(find ${OTP_LIBS} -name ebin -maxdepth 1) || true - -.include "Makefile.lib" -.include "Makefile.man" .include <bsd.port.mk> Modified: head/lang/erlang/pkg-plist ============================================================================== --- head/lang/erlang/pkg-plist Tue Oct 22 18:50:47 2013 (r331305) +++ head/lang/erlang/pkg-plist Tue Oct 22 19:02:06 2013 (r331306) @@ -12,12 +12,6 @@ bin/typer @comment Insert PLIST here @comment -=[ begin PLIST.lib-erlang ]=- @comment -=[ end PLIST.lib-erlang ]=- -@dirrm lib/%%ERLANG_LIB%%/man/man6 -@dirrm lib/%%ERLANG_LIB%%/man/man4 -@dirrm lib/%%ERLANG_LIB%%/man/man3 -@dirrm lib/%%ERLANG_LIB%%/man/man1 -@dirrm lib/%%ERLANG_LIB%%/man -@dirrmtry lib/%%ERLANG_LIB%%/lib @dirrmtry lib/%%ERLANG_LIB%% %%PORTDOCS%%%%DOCSDIR%%/armstrong_thesis_2003.pdf %%PORTDOCS%%%%DOCSDIR%%/bjarnelic.pdf _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"