Re: update: devel/llvm
On Thu, Nov 12, 2015 at 10:25:53AM +0100, Pascal Stumpf wrote: > On Thu, 12 Nov 2015 00:08:35 +0100, Christian Weisgerber wrote: > > Pascal Stumpf: > > > > > I have done manual builds of some ports that use clang (various > > > firefoxes, multimedia stuff, vlc, mplayer), but maybe this needs a bulk > > > build? > > > > If I get a complete patch, I can kick off an amd64 bulk build with it > > tom^Hday. > > Next try to get the diff unmangled. If that fails, it's on cvs too ... I tried to build mesa git with clang/clang++ but it seems clang can't compile it's own headers? libtool: compile: /usr/local/bin/clang++ -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"11.2.0-devel\" "-DPACKAGE_STRING=\"Mesa 11.2.0-devel\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"; -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"11.2.0-devel\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_SHA1_IN_LIBC=1 -I. -fvisibility=hidden -Werror=pointer-arith -Werror=vla -I../../../include -I../../../src -I../../../src/gallium/include -I../../../src/gallium/auxiliary -D__STDC_LIMIT_MACROS -DUSE_SSE41 -DDEBUG -DUSE_X86_64_ASM -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DHAVE_SHA1 -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0 -I/usr/local/include -pipe -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=c++11 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -Wall -fno-strict-aliasing -fno-builtin-memcmp -Qunused-arguments -MT gallivm/lp_bld_debug.lo -MD -MP -MF gallivm/.deps/lp_bld_debug.Tpo -c gallivm/lp_bld_debug.cpp -fPIC -DPIC -o gallivm/.libs/lp_bld_debug.o warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option] In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:36:29: error: no member named 'move' in namespace 'std'; did you mean 'modf'? : begin_iterator(std::move(begin_iterator)), ~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:37:27: error: no member named 'move' in namespace 'std'; did you mean 'modf'? end_iterator(std::move(end_iterator)) {} ~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:48:33: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range(std::move(x), std::move(y)); ~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:48:47: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range(std::move(x), std::move(y)); ~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double
Re: update: devel/llvm
On 2015/11/12 20:53, Stuart Henderson wrote: > Here's the first i386 failure, in devel/xulrunner/24: That was the only build-time fallout. It's not so easy for to actually run those packages though.
Re: update: devel/llvm
On 2015-11-12, Stuart Hendersonwrote: > Here's the first i386 failure, in devel/xulrunner/24: amd64, tail -100: INPUT("../../gfx/skia/SkImage_Raster.o") INPUT("../../gfx/skia/SkLayerDrawLooper.o") INPUT("../../gfx/skia/SkLayerRasterizer.o") INPUT("../../gfx/skia/SkLineClipper.o") INPUT("../../gfx/skia/SkLinearGradient.o") INPUT("../../gfx/skia/SkMallocPixelRef.o") INPUT("../../gfx/skia/SkMask.o") INPUT("../../gfx/skia/SkMaskFilter.o") INPUT("../../gfx/skia/SkMaskGamma.o") INPUT("../../gfx/skia/SkMath.o") INPUT("../../gfx/skia/SkMatrix.o") INPUT("../../gfx/skia/SkMemory_malloc.o") INPUT("../../gfx/skia/SkMetaData.o") INPUT("../../gfx/skia/SkOSFile_stdio.o") INPUT("../../gfx/skia/SkOTUtils.o") INPUT("../../gfx/skia/SkOrderedReadBuffer.o") INPUT("../../gfx/skia/SkOrderedWriteBuffer.o") INPUT("../../gfx/skia/SkPackBits.o") INPUT("../../gfx/skia/SkPaint.o") INPUT("../../gfx/skia/SkPath.o") INPUT("../../gfx/skia/SkPathEffect.o") INPUT("../../gfx/skia/SkPathHeap.o") INPUT("../../gfx/skia/SkPathMeasure.o") INPUT("../../gfx/skia/SkPicture.o") INPUT("../../gfx/skia/SkPictureFlat.o") INPUT("../../gfx/skia/SkPicturePlayback.o") INPUT("../../gfx/skia/SkPictureRecord.o") INPUT("../../gfx/skia/SkPictureStateTree.o") INPUT("../../gfx/skia/SkPixelRef.o") INPUT("../../gfx/skia/SkPoint.o") INPUT("../../gfx/skia/SkProcSpriteBlitter.o") INPUT("../../gfx/skia/SkPtrRecorder.o") INPUT("../../gfx/skia/SkQuadClipper.o") INPUT("../../gfx/skia/SkRTree.o") INPUT("../../gfx/skia/SkRadialGradient.o") INPUT("../../gfx/skia/SkRasterClip.o") INPUT("../../gfx/skia/SkRasterizer.o") INPUT("../../gfx/skia/SkRect.o") INPUT("../../gfx/skia/SkRefDict.o") INPUT("../../gfx/skia/SkRegion.o") INPUT("../../gfx/skia/SkRegion_path.o") INPUT("../../gfx/skia/SkRegion_rects.o") INPUT("../../gfx/skia/SkScalar.o") INPUT("../../gfx/skia/SkScalerContext.o") INPUT("../../gfx/skia/SkScan.o") INPUT("../../gfx/skia/SkScan_AntiPath.o") INPUT("../../gfx/skia/SkScan_Antihair.o") INPUT("../../gfx/skia/SkScan_Hairline.o") INPUT("../../gfx/skia/SkScan_Path.o") INPUT("../../gfx/skia/SkShader.o") INPUT("../../gfx/skia/SkSpriteBlitter_ARGB32.o") INPUT("../../gfx/skia/SkSpriteBlitter_RGB16.o") INPUT("../../gfx/skia/SkStream.o") INPUT("../../gfx/skia/SkString.o") INPUT("../../gfx/skia/SkStroke.o") INPUT("../../gfx/skia/SkStrokerPriv.o") INPUT("../../gfx/skia/SkSurface.o") INPUT("../../gfx/skia/SkSurface_Picture.o") INPUT("../../gfx/skia/SkSurface_Raster.o") INPUT("../../gfx/skia/SkSweepGradient.o") INPUT("../../gfx/skia/SkTLS.o") INPUT("../../gfx/skia/SkTSearch.o") INPUT("../../gfx/skia/SkTwoPointConicalGradient.o") INPUT("../../gfx/skia/SkTwoPointRadialGradient.o") INPUT("../../gfx/skia/SkTypeface.o") INPUT("../../gfx/skia/SkTypefaceCache.o") INPUT("../../gfx/skia/SkUnPreMultiply.o") INPUT("../../gfx/skia/SkUtils.o") INPUT("../../gfx/skia/SkWriter32.o") INPUT("../../gfx/skia/SkXfermode.o") INPUT("../../media/webvtt/alloc.o") INPUT("../../media/webvtt/cue.o") INPUT("../../media/webvtt/cuetext.o") INPUT("../../media/webvtt/error.o") INPUT("../../media/webvtt/lexer.o") INPUT("../../media/webvtt/node.o") INPUT("../../media/webvtt/parser.o") INPUT("../../media/webvtt/string.o") ../../layout/svg/nsSVGFilterFrame.o: In function `tag_nsresult CallQueryInterface (nsIContent*, nsSVGFE**)': ../../dist/include/nsISupportsUtils.h:148: undefined reference to `nsSVGFE::COMTypeInfo::kIID' /usr/bin/ld: ../../layout/svg/nsSVGFilterFrame.o: relocation R_X86_64_PC32 against `_ZN7nsSVGFE11COMTypeInfoIiE4kIIDE' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation) /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:1023: recipe for target 'libxul.so.0.0' failed gmake[3]: *** [libxul.so.0.0] Error 1 gmake[3]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-amd64/toolkit/library' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/makefiles/target_libs.mk:16: recipe for target 'libs_tier_platform' failed gmake[2]: *** [libs_tier_platform] Error 2 gmake[2]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-amd64' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:737: recipe for target 'tier_platform' failed gmake[1]: *** [tier_platform] Error 2 gmake[1]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-amd64' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:670: recipe for target 'all' failed gmake: *** [all] Error 2 *** Error 2 in devel/xulrunner/24 (/usr/ports/infrastructure/mk/bsd.port.mk:2770
Re: update: devel/llvm
On 2015-11-11, Christian Weisgerberwrote: > If I get a complete patch, I can kick off an amd64 bulk build with it > tom^Hday. The results are in: devel/xulrunner/24 suffers explosive diarrhea and eventually dies. No problems otherwise. -- Christian "naddy" Weisgerber na...@mips.inka.de
Re: update: devel/llvm
Here's the first i386 failure, in devel/xulrunner/24: [...] INPUT("../../media/webvtt/error.o") INPUT("../../media/webvtt/lexer.o") INPUT("../../media/webvtt/node.o") INPUT("../../media/webvtt/parser.o") INPUT("../../media/webvtt/string.o") /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:1023: recipe for target 'libxul.so.0.0' failed gmake[3]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-i386/toolkit/library' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/makefiles/target_libs.mk:16: recipe for target 'libs_tier_platform' failed gmake[2]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-i386' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:737: recipe for target 'tier_platform' failed gmake[1]: Leaving directory '/usr/obj/ports/xulrunner-24.8.0/build-i386' /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/config/rules.mk:670: recipe for target 'all' failed ===> Exiting devel/xulrunner/24 with an error ../../layout/svg/nsSVGFilterFrame.o: In function `nsSVGFilterFrame::GetFilterContent(nsIContent*)': /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/layout/svg/nsSVGFilterFrame.cpp:(.text._ZN16nsSVGFilterFrame16GetFilterContentEP10nsIContent+0x31): undefined reference to `nsSVGFE::COMTypeInfo::kIID' ../../layout/svg/nsSVGFilterInstance.o: In function `nsSVGFilterInstance::BuildPrimitives()': /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/layout/svg/nsSVGFilterInstance.cpp:(.text._ZN19nsSVGFilterInstance15BuildPrimitivesEv+0x48): undefined reference to `nsSVGFE::COMTypeInfo::kIID' ../../content/svg/content/src/SVGFEComponentTransferElement.o: In function `mozilla::dom::SVGFEComponentTransferElement::Filter(nsSVGFilterInstance*, nsTArray const&, nsSVGFE::Image const*, nsIntRect const&)': /usr/obj/ports/xulrunner-24.8.0/mozilla-esr24/content/svg/content/src/SVGFEComponentTransferElement.cpp:(.text._ZN7mozilla3dom29SVGFEComponentTransferElement6FilterEP19nsSVGFilterInstanceRK8nsTArrayIPKN7nsSVGFE5ImageEES8_RK9nsIntRect+0xbc): undefined reference to `mozilla::dom::SVGComponentTransferFunctionElement::COMTypeInfo::kIID' /usr/bin/ld: libxul.so.0.0: hidden symbol `_ZN7nsSVGFE11COMTypeInfoIiE4kIIDE' isn't defined /usr/bin/ld: final link failed: Nonrepresentable section on output clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation) I won't include the whole log here as uncompressed it's just about big enough to fill a CD...
Re: update: devel/llvm
On 2015/11/11 10:26, Michael McConville wrote: > Pascal Stumpf wrote: > > mmc@ reminded me that I had been slacking on getting this into the tree. > > > > This patch updates LLVM to version 3.7, using GCC from ports as a > > compiler, and using its headers and libstdc++ at runtime. The downside > > is, of course, that everything compiled with clang++ will now depend on > > libstdc++ from ports. But until we have libc++, there is really nothing > > else we can do. Having a modern LLVM with a complete C++11 featureset > > is more important. > > > > Works on amd64, i386 and sparc64. powerpc and mips64 are still WIP, > > both upstream and portwise. > > > > The patch below is only the update itself. This also needs patches to > > gcc4.port.mk as well as clang.port.mk to integrate the new libstdc++ > > logic. I will send these shortly. > > I've been running this for weeks and have used it for some big builds. > No apparent problems. ok mmcc@ > What testing has been done so far in the ports tree?
Re: update: devel/llvm
Stuart Henderson wrote: > On 2015/11/11 10:26, Michael McConville wrote: > > Pascal Stumpf wrote: > > > mmc@ reminded me that I had been slacking on getting this into the tree. > > > > > > This patch updates LLVM to version 3.7, using GCC from ports as a > > > compiler, and using its headers and libstdc++ at runtime. The downside > > > is, of course, that everything compiled with clang++ will now depend on > > > libstdc++ from ports. But until we have libc++, there is really nothing > > > else we can do. Having a modern LLVM with a complete C++11 featureset > > > is more important. > > > > > > Works on amd64, i386 and sparc64. powerpc and mips64 are still WIP, > > > both upstream and portwise. > > > > > > The patch below is only the update itself. This also needs patches to > > > gcc4.port.mk as well as clang.port.mk to integrate the new libstdc++ > > > logic. I will send these shortly. > > > > I've been running this for weeks and have used it for some big builds. > > No apparent problems. ok mmcc@ > > > > What testing has been done so far in the ports tree? IIRC, I built Landry's Firefox beta with it. I also use scan-build often.
Re: update: devel/llvm
On Wed, 11 Nov 2015 17:32:35 +, Stuart Henderson wrote: > On 2015/11/11 10:26, Michael McConville wrote: > > Pascal Stumpf wrote: > > > mmc@ reminded me that I had been slacking on getting this into the tree. > > > > > > This patch updates LLVM to version 3.7, using GCC from ports as a > > > compiler, and using its headers and libstdc++ at runtime. The downside > > > is, of course, that everything compiled with clang++ will now depend on > > > libstdc++ from ports. But until we have libc++, there is really nothing > > > else we can do. Having a modern LLVM with a complete C++11 featureset > > > is more important. > > > > > > Works on amd64, i386 and sparc64. powerpc and mips64 are still WIP, > > > both upstream and portwise. > > > > > > The patch below is only the update itself. This also needs patches to > > > gcc4.port.mk as well as clang.port.mk to integrate the new libstdc++ > > > logic. I will send these shortly. > > > > I've been running this for weeks and have used it for some big builds. > > No apparent problems. ok mmcc@ > > > > What testing has been done so far in the ports tree? > > I have done manual builds of some ports that use clang (various firefoxes, multimedia stuff, vlc, mplayer), but maybe this needs a bulk build?
Re: update: devel/llvm
On Wed, Nov 11, 2015 at 05:32:35PM +, Stuart Henderson wrote: > On 2015/11/11 10:26, Michael McConville wrote: > > Pascal Stumpf wrote: > > > mmc@ reminded me that I had been slacking on getting this into the tree. > > > > > > This patch updates LLVM to version 3.7, using GCC from ports as a > > > compiler, and using its headers and libstdc++ at runtime. The downside > > > is, of course, that everything compiled with clang++ will now depend on > > > libstdc++ from ports. But until we have libc++, there is really nothing > > > else we can do. Having a modern LLVM with a complete C++11 featureset > > > is more important. > > > > > > Works on amd64, i386 and sparc64. powerpc and mips64 are still WIP, > > > both upstream and portwise. > > > > > > The patch below is only the update itself. This also needs patches to > > > gcc4.port.mk as well as clang.port.mk to integrate the new libstdc++ > > > logic. I will send these shortly. > > > > I've been running this for weeks and have used it for some big builds. > > No apparent problems. ok mmcc@ > > > > What testing has been done so far in the ports tree? > +1 here. Even if i really want us to move to upstream llvm instead of the monster we have now, it has to go into several bulks, and the resulting pkgs have to be tested at runtime for regressions. You dont want to be the one breaking mozilla or webkit or kde or half of the ports-tree now requiring decent compilers.. Landry
Re: update: devel/llvm
Pascal Stumpf wrote: > mmc@ reminded me that I had been slacking on getting this into the tree. > > This patch updates LLVM to version 3.7, using GCC from ports as a > compiler, and using its headers and libstdc++ at runtime. The downside > is, of course, that everything compiled with clang++ will now depend on > libstdc++ from ports. But until we have libc++, there is really nothing > else we can do. Having a modern LLVM with a complete C++11 featureset > is more important. > > Works on amd64, i386 and sparc64. powerpc and mips64 are still WIP, > both upstream and portwise. > > The patch below is only the update itself. This also needs patches to > gcc4.port.mk as well as clang.port.mk to integrate the new libstdc++ > logic. I will send these shortly. I've been running this for weeks and have used it for some big builds. No apparent problems. ok mmcc@
Re: update: devel/llvm
Pascal Stumpf: > I have done manual builds of some ports that use clang (various > firefoxes, multimedia stuff, vlc, mplayer), but maybe this needs a bulk > build? If I get a complete patch, I can kick off an amd64 bulk build with it tom^Hday. -- Christian "naddy" Weisgerber na...@mips.inka.de