Re: [HEADS UP] Clang 8.0.0 upgrade on 13.0-CURRENT

2019-03-06 Thread Jan Beich
Robert Huff  writes:

> Charlie Li  writes:
>
>>  The LLVM ports are still needed for those consumers that need their
>>  components, such as llvm-config and the like. Please refer to the aptly
>>  named wiki page again:
>>  https://wiki.freebsd.org/WhyDoIHaveToBuildLLVMWhenIAlreadyHaveClangInstalled
>
>   This was the thing I thinking about.
>
>>  Think of it this way: the base system toolchain is *based on* some
>>  released version of LLVM (or GCC) as of a particular revision of
>>  base/.  "Based on" means that components that are not critical to
>>  the actual functioning of the toolchain or otherwise useful to
>>  FreeBSD itself are bound to be stripped away when included and
>>  integrated in the base system.
>
>   That may be the path of wisdom; and I understand keeping things
> working is a non-trivial job, for which I thank those who do it.
>   Please understand my ... frustration ... in having to deal with
> the conseqences, particularly with regard to the ongoing drm changes.
> To return to my original point, this is why I suggested an entry in
> ports/UPDATING  - to let others in my position know of possible
> impact.

If you want to avoid duplication don't build/install base Clang e.g.,

  $ echo 'WITHOUT_TOOLCHAIN=1' >>/etc/src.conf
  $ make delete-old -C/usr/src
  $ pkg install llvm80
  $ ln -s clang80 /usr/local/bin/cc
  $ ln -s clang++80 /usr/local/bin/c++
  $ ln -s clang-cpp80 /usr/local/bin/cpp
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


powerpc64: devel/qt5-core build fails with: "Q_ATOMIC_INT64_IS_SUPPORTED must be defined on a 64-bit platform", more

2019-03-06 Thread Mark Millard via freebsd-ports
The below is from a ports-mgmt/poudriere-devel run under FreeBSD head
-r344825 on an old PowerMac G5 (2 sockets, 2 cores each, powerpc64).
The /usr/ports is from head -r494751 . buildworld buildkernel
was via devel/powerpc64-xtoolchain-gcc materials and system-clang
(8.0.0) was built (and installed as cc) as part of that.
/usr/ports/base/binutils was used to supply the system binutils,
including ld. (Running the PowerPC G5 for this context does require
some hacks in /usr/src/ currently.)


--- .obj/qatomic.o ---
g++8 -c -O2 -pipe -g -Wl,-rpath=/usr/local/lib/gcc8 
-Wl,-rpath=/usr/local/lib/gcc8 -Og -std=c++1z -fvisibility=hidden 
-fvisibility-inlines-hidden -Wall -W -pthread -fPIC -DQT_GLIB 
-DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH 
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT 
-DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT 
-DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS 
-DQT_DISABLE_DEPRECATED_BEFORE=0x05 -D_LARGEFILE64_SOURCE 
-D_LARGEFILE_SOURCE -I. -I../3rdparty/zlib/src -Iglobal 
-I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 
-I../3rdparty/sha3 -I../3rdparty -I../3rdparty/double-conversion/include 
-I../3rdparty/double-conversion/include/double-conversion -I../3rdparty/forkfd 
-I../3rdparty/tinycbor/src -I../../include -I../../include/QtCore 
-I../../include/QtCore/5.12.1 -I../../include/QtCore/5.12.1/QtCore -I.moc 
-I.tracegen -isystem /usr/local/include/glib-2.0 
-I/usr/local/lib/glib-2.0/include -isystem /usr/local/include -I/u
 sr/local/lib/qt5/mkspecs/freebsd-g++ -o .obj/qatomic.o thread/qatomic.cpp
thread/qatomic.cpp:1624:4: error: #error "Q_ATOMIC_INT64_IS_SUPPORTED must be 
defined on a 64-bit platform"
 #  error "Q_ATOMIC_INT64_IS_SUPPORTED must be defined on a 64-bit platform"
^
In file included from ../../include/QtCore/qglobal.h:1,
 from thread/qatomic.h:41,
 from thread/qatomic.cpp:41:
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In instantiation 
of 'class QBasicAtomicInteger':
../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7:   required from 
'class QAtomicInteger'
thread/qatomic.cpp:1631:1:   required from here
../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: static 
assertion failed: template parameter is an integral of a size not supported on 
this platform
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), 
Message)
   ^~~
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: note: in 
expansion of macro 'Q_STATIC_ASSERT_X'
 Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, "template 
parameter is an integral of a size not supported on this platform");
 ^
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In instantiation 
of 'class QBasicAtomicInteger':
../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7:   required from 
'class QAtomicInteger'
thread/qatomic.cpp:1632:1:   required from here
../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: static 
assertion failed: template parameter is an integral of a size not supported on 
this platform
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), 
Message)
   ^~~
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: note: in 
expansion of macro 'Q_STATIC_ASSERT_X'
 Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, "template 
parameter is an integral of a size not supported on this platform");
 ^
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In instantiation 
of 'class QBasicAtomicInteger':
../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7:   required from 
'class QAtomicInteger'
thread/qatomic.cpp:1633:1:   required from here
../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: static 
assertion failed: template parameter is an integral of a size not supported on 
this platform
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), 
Message)
   ^~~
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:97:5: note: in 
expansion of macro 'Q_STATIC_ASSERT_X'
 Q_STATIC_ASSERT_X(QAtomicOpsSupport::IsSupported, "template 
parameter is an integral of a size not supported on this platform");
 ^
../../include/QtCore/../../src/corelib/thread/qbasicatomic.h: In instantiation 
of 'class QBasicAtomicInteger':
../../include/QtCore/../../src/corelib/thread/qatomic.h:55:7:   required from 
'class QAtomicInteger'
thread/qatomic.cpp:1634:1:   required from here
../../include/QtCore/../../src/corelib/global/qglobal.h:121:63: error: static 
assertion failed: template parameter is an integral of a size not supported o

FreeBSD ports you maintain which are out of date

2019-03-06 Thread portscout
Dear port maintainer,

The portscout new distfile checker has detected that one or more of your
ports appears to be out of date. Please take the opportunity to check
each of the ports listed below, and if possible and appropriate,
submit/commit an update. If any ports have already been updated, you can
safely ignore the entry.

You will not be e-mailed again for any of the port/version combinations
below.

Full details can be found at the following URL:
http://portscout.freebsd.org/po...@freebsd.org.html


Port| Current version | New version
+-+
audio/oss   | 4.2-build2017   | 
4.2-build2019
+-+


If any of the above results are invalid, please check the following page
for details on how to improve portscout's detection and selection of
distfiles on a per-port basis:

http://portscout.freebsd.org/info/portscout-portconfig.txt

Thanks.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


powerpc64 head -r344825: system-clang (8.0.0) asserts compiling mesa-dri-18.3.2_2's glsl/ir_clone.cpp: "Target supports vector op, but scalar requires expansion?"

2019-03-06 Thread Mark Millard via freebsd-ports
The below is from a ports-mgmt/poudriere-devel run under FreeBSD head
-r344825 on an old PowerMac G5 (2 sockets, 2 cores each, powerpc64).
The /usr/ports is from head -r494751 . buildworld buildkernel
was via devel/powerpc64-xtoolchain-gcc materials and system-clang
(8.0.0) was built (and installed as cc/c++) as part of that.
/usr/ports/base/binutils was used to supply the system binutils,
including ld. (Running the PowerPC G5 for this context does require
some hacks in /usr/src/ currently.)

Being a poudriere-devel run, the /tmp/nir_constant_expressions-be5a21.*
are not available (not recorded  in the tar of the failure). (Too
bad there is a mismatch betting poudriere's capture and where such
files are placed.)

But I do have a gdb based backtrace from the:

work/mesa-18.3.2/src/compiler/cc.15701.core

The assert was the one in:

  case ISD::FTRUNC: {
// We're going to widen this vector op to a legal type by padding with undef
// elements. If the wide vector op is eventually going to be expanded to
// scalar libcalls, then unroll into scalar ops now to avoid unnecessary
// libcalls on the undef elements. We are assuming that if the scalar op
// requires expanding, then the vector op needs expanding too.
EVT VT = N->getValueType(0);
if (TLI.isOperationExpand(N->getOpcode(), VT.getScalarType())) {
  EVT WideVecVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
  assert(!TLI.isOperationLegalOrCustom(N->getOpcode(), WideVecVT) &&
 "Target supports vector op, but scalar requires expansion?");
  Res = DAG.UnrollVectorOp(N, WideVecVT.getVectorNumElements());
  break;
}


(gdb) info threads
  Id   Target Id Frame 
* 1LWP 1001190x137251e8 in .__sys_thr_kill () at 
thr_kill.S:3
(gdb) bt
#0  0x137251e8 in .__sys_thr_kill () at thr_kill.S:3
#1  0x137247bc in __raise (s=) at 
/usr/src/lib/libc/gen/raise.c:52
#2  0x136e6410 in abort () at /usr/src/lib/libc/stdlib/abort.c:79
#3  0x13712fd8 in __assert (func=, file=, 
line=, failedexpr=) at 
/usr/src/lib/libc/gen/assert.c:51
#4  0x1351f20c in llvm::DAGTypeLegalizer::WidenVectorResult () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:2531
#5  0x12f1d7d8 in llvm::DAGTypeLegalizer::run () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:281
#6  0x12f1eab4 in llvm::SelectionDAG::LegalizeTypes () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1115
#7  0x12db9e50 in llvm::SelectionDAGISel::CodeGenAndEmitDAG () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:776
#8  0x12dbf934 in llvm::SelectionDAGISel::SelectAllBasicBlocks () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1784
#9  0x12dc2668 in llvm::SelectionDAGISel::runOnMachineFunction () at 
/usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:471
#10 0x120edfc8 in runOnMachineFunction () at 
/usr/src/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:155
#11 0x130514b4 in llvm::MachineFunctionPass::runOnFunction () at 
/usr/src/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp:74
#12 0x1296d640 in llvm::FPPassManager::runOnFunction () at 
/usr/src/contrib/llvm/lib/IR/LegacyPassManager.cpp:1644
#13 0x1296d908 in llvm::FPPassManager::runOnModule () at 
/usr/src/contrib/llvm/lib/IR/LegacyPassManager.cpp:1679
#14 0x1296e780 in runOnModule () at 
/usr/src/contrib/llvm/lib/IR/LegacyPassManager.cpp:1744
#15 llvm::legacy::PassManagerImpl::run () at 
/usr/src/contrib/llvm/lib/IR/LegacyPassManager.cpp:1857
#16 0x10bbac7c in EmitAssembly () at 
/usr/src/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:882
#17 0x10bbc9a8 in clang::EmitBackendOutput () at 
/usr/src/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:1318
#18 0x103cd0b0 in clang::BackendConsumer::HandleTranslationUnit () at 
/usr/src/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:295
#19 0x10821d40 in clang::ParseAST () at 
/usr/src/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp:170
#20 0x1080d528 in clang::ASTFrontendAction::ExecuteAction () at 
/usr/src/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:1037
#21 0x103cc108 in clang::CodeGenAction::ExecuteAction () at 
/usr/src/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1048
#22 0x10811eb0 in clang::FrontendAction::Execute () at 
/usr/src/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:935
#23 0x111b1960 in clang::CompilerInstance::ExecuteAction () at 
/usr/src/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:955
#24 0x103b602c in clang::ExecuteCompilerInvocation () at 
/usr/src/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:268
#25 0x103a47c8 in cc1_main () at 
/usr/src/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp:219
#

Django versions

2019-03-06 Thread Craig Leres
I'm working on a port for mailman 3. I want to use django 2.1 because 
that's what I'm using on the systems I'm currently running mailman 2 on 
you can't really run different version of django on the same system). 
But it turns out a lot of ports have RUN_DEPENDS for www/py-django111.


One possible solution would be to change these dependencies to the 
www/py-django meta port. This allows the user pick the version of django 
via py-django options. But I see a bunch of ports got added last month:


www/py-dj21-django-cors-headers
www/py-dj21-django-debug-toolbar
www/py-dj21-django-filter
www/py-dj21-django-js-asset
www/py-dj21-django-mptt
www/py-dj21-django-tables2
www/py-dj21-django-taggit
www/py-dj21-django-taggit-serializer
www/py-dj21-django-timezone-field
www/py-dj21-djangorestframework
www/py-dj21-drf-yasg

which are the py-django21 version of the py-django111 ports with similar 
names.


Anyway the current situation prevents folks from using py-django20 if 
that's what they want. And a ton of changes will be needed when django22 
(currently in beta) arrives.


The downside I see to changing dependencies from py-django111 to 
py-django is that only the py-django111 versions of things were get 
built/tested automatically (due to py-django111 being the default 
version). And I think there are issues for ports that don't work with 
all version of django (is there a way for a port's Makefile to know what 
version of django got installed?)


Are there other problems?

Are there other solutions? Flavors comes to mind but I'm told "doubly 
flavored" ports (python flavor vs. django flavor) are very difficult.


Without any changes I'll need to add DJANGO111 and DJANGO21 to my 
mailman 3 port and forget about folks being able to use django20. This 
will be extra messy because mailman 3 is split across several different 
packages.


Craig
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Django versions

2019-03-06 Thread Antoine Brodin
On Thu, Mar 7, 2019 at 8:14 AM Craig Leres  wrote:
>
> I'm working on a port for mailman 3. I want to use django 2.1 because
> that's what I'm using on the systems I'm currently running mailman 2 on
> you can't really run different version of django on the same system).
> But it turns out a lot of ports have RUN_DEPENDS for www/py-django111.
>
> One possible solution would be to change these dependencies to the
> www/py-django meta port. This allows the user pick the version of django
> via py-django options. But I see a bunch of ports got added last month:
>
>  www/py-dj21-django-cors-headers
>  www/py-dj21-django-debug-toolbar
>  www/py-dj21-django-filter
>  www/py-dj21-django-js-asset
>  www/py-dj21-django-mptt
>  www/py-dj21-django-tables2
>  www/py-dj21-django-taggit
>  www/py-dj21-django-taggit-serializer
>  www/py-dj21-django-timezone-field
>  www/py-dj21-djangorestframework
>  www/py-dj21-drf-yasg
>
> which are the py-django21 version of the py-django111 ports with similar
> names.
>
> Anyway the current situation prevents folks from using py-django20 if
> that's what they want. And a ton of changes will be needed when django22
> (currently in beta) arrives.
>
> The downside I see to changing dependencies from py-django111 to
> py-django is that only the py-django111 versions of things were get
> built/tested automatically (due to py-django111 being the default
> version). And I think there are issues for ports that don't work with
> all version of django (is there a way for a port's Makefile to know what
> version of django got installed?)
>
> Are there other problems?
>
> Are there other solutions? Flavors comes to mind but I'm told "doubly
> flavored" ports (python flavor vs. django flavor) are very difficult.
>
> Without any changes I'll need to add DJANGO111 and DJANGO21 to my
> mailman 3 port and forget about folks being able to use django20. This
> will be extra messy because mailman 3 is split across several different
> packages.

Hi,

Please don't use the django metaport,  this port should be removed and
people should stop using hacks.
Someone needs to integrate a USE_PYTHON=django in python.mk

Antoine
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Django versions

2019-03-06 Thread Charlie Li via freebsd-ports
On 07/03/2019 01:55, Craig Leres wrote:
> I'm working on a port for mailman 3. I want to use django 2.1 because
> that's what I'm using on the systems I'm currently running mailman 2 on
> you can't really run different version of django on the same system).
> But it turns out a lot of ports have RUN_DEPENDS for www/py-django111.
> 
I've been working on mail/mailman3 for over a year now (holy crap),
which is still in phab as D14126. It is only the core engine however.

Upstream Mailman have architected things such that anything outside of
the core engine are officially optional. Thus, it is probably best to
have the other parts, like the Django-consuming parts, as their own
ports, like mail/mailman3-portorius and mail/mailman3-hyperkitty.

-- 
Charlie Li
…nope, still don't have an exit line.

(This email address is for mailing list use; replace local-part with
vishwin for off-list communication if possible)



signature.asc
Description: OpenPGP digital signature