From nobody Thu Dec 14 17:03:36 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SrdwT1YW5z52kkL; Thu, 14 Dec 2023 17:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SrdwT0vHNz3Zbb; Thu, 14 Dec 2023 17:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1702573417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OoJtSUPUhpnACX1+aQh3rb4e7u0V9ghi8UQw/j+C8Zk=; b=HyG2Jqylv1QbPps+DqCbLw0RWptflTdCA1zO9sRVxYUkLKoq4r16WOojTrrCKHRL54GSKO pg/7L0S6c+HjRt1gf3Nj7ugQmijVPCAz8yZOwm2GZr1Y6ByYZJSCpELZKqmiTPcK+vcpvJ Gr8T2pwTf4kNfPJbb5h6Z3O0rNZ+tJLbG1lAV7LwOcZlWd87oabkpJnh+K4TKo8vJI2Uj/ JudCNQyJq0fQiGVXPnvWLl+ubN/97y6QIEI495cU5uedjytcVWpId/vj0bATfaRTmB0myr WhLKXj+UgyaSVldBGm7M1coXb1Q3hefzvMAhNfb/VjkbnmENX5vlX767BVO3JQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1702573417; a=rsa-sha256; cv=none; b=IAg/3lpQRfk4gPQaxvMBSwynoG3nUrDVxQLoA8F3Qa1+x8iwmx7N8ZtrSv8wsV5R3dFT4i KeZdL2xTnV64hzy2qK3utamtmpraFRgv38q7D5+lMnm7VeLoCl4rpx9dZP/Dk8zKVgNE1x Ip4smYPi88y4pNWdteXmWSCThn3CGkz3wqVK8qnmMnxMcFaZmNaNEMUerMRWIYjY6ZsFVi 7GRI0OEQs7+3HB+VSCIXq9Eu8JYdA9gNs3OOnO7vHwbX1rCHtSI5t/UXOaQb5YzvQQZd0C 3GdyWNAMuYNiIRFCjuY2Vm+J8E2IWLdKsGlaMNngRXE5dNA+HH3pgzeU0soW0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1702573417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OoJtSUPUhpnACX1+aQh3rb4e7u0V9ghi8UQw/j+C8Zk=; b=hNQWxtQst9If6ktCCrXnfm2JPsVZOYzmt2jXycBgu/zcGY0OMkXQMpeOYzSfo8RRrdp2KX ge1bzIKYBTxUdesi9OEs70CdxG9GgUFtQFXmlhIba8zdaQKL8EUw9rBpFOMke3/NC2kkHT ooJzS14K8IAD2TyeS/ArsIT7/gj9A0cfAe6bcNuq8PrN3bwVeezBM+RoeNTTTvrps/yrRN jerHO+yi5Sy2IMLph2wjoGQ05TJep5X1An6Pw+mimoTtqaUr7MNMeeGPketRgO8RZF3vpU kM6FLpRIHgR4Yttu841hmwmWxa9eEigJAWjkFK/3og8hwm91TuPu7wxa4cdKZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SrdwT00kwzbWf; Thu, 14 Dec 2023 17:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BEH3aFQ017096; Thu, 14 Dec 2023 17:03:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BEH3aS1017093; Thu, 14 Dec 2023 17:03:36 GMT (envelope-from git) Date: Thu, 14 Dec 2023 17:03:36 GMT Message-Id: <202312141703.3BEH3aS1017093@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 1cf964ed6e83 - main - misc/caffe: Fix build with protobuf 22+ List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cf964ed6e83f5ff2b26c72f9afc7c346a5fda89 Auto-Submitted: auto-generated The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=1cf964ed6e83f5ff2b26c72f9afc7c346a5fda89 commit 1cf964ed6e83f5ff2b26c72f9afc7c346a5fda89 Author: Po-Chuan Hsieh AuthorDate: 2023-12-14 16:22:37 +0000 Commit: Po-Chuan Hsieh CommitDate: 2023-12-14 17:03:06 +0000 misc/caffe: Fix build with protobuf 22+ --- misc/caffe/Makefile | 5 +-- misc/caffe/files/patch-protobuf | 77 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/misc/caffe/Makefile b/misc/caffe/Makefile index 040ebe90ed01..02ca395819c9 100644 --- a/misc/caffe/Makefile +++ b/misc/caffe/Makefile @@ -36,8 +36,8 @@ RUN_DEPENDS= ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} -USES= cmake fortran pkgconfig python -USE_CXXSTD= c++14 +USES= cmake compiler:c++17-lang fortran localbase:ldflags pkgconfig python +USE_CXXSTD= c++17 USE_LDCONFIG= yes USE_GITHUB= yes @@ -46,6 +46,7 @@ GH_ACCOUNT= BVLC CMAKE_ARGS= -DBLAS=Open \ -DPYTHON_EXECUTABLE=${PYTHON_CMD} \ -DFREEBSD_PYTHONPREFIX_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} +LDFLAGS+= -lpython${PYTHON_VER} PORTSCOUT= limit:^[0-9].*[0-9]$$ # should begin and end with a digit to prevent tags like rcnn-release and rc5 diff --git a/misc/caffe/files/patch-protobuf b/misc/caffe/files/patch-protobuf new file mode 100644 index 000000000000..b1139c7e1bb7 --- /dev/null +++ b/misc/caffe/files/patch-protobuf @@ -0,0 +1,77 @@ +--- src/caffe/layers/hdf5_data_layer.cpp.orig 2020-02-13 07:20:36 UTC ++++ src/caffe/layers/hdf5_data_layer.cpp +@@ -7,7 +7,9 @@ TODO: + :: don't forget to update hdf5_daa_layer.cu accordingly + - add ability to shuffle filenames if flag is set + */ ++#include + #include // NOLINT(readability/streams) ++#include + #include + #include + +@@ -38,6 +40,9 @@ void HDF5DataLayer::LoadHDF5FileData(const char + const int MIN_DATA_DIM = 1; + const int MAX_DATA_DIM = INT_MAX; + ++ std::random_device rd; ++ std::mt19937 g(rd()); ++ + for (int i = 0; i < top_size; ++i) { + hdf_blobs_[i] = shared_ptr >(new Blob()); + // Allow reshape here, as we are loading data not params +@@ -62,7 +67,7 @@ void HDF5DataLayer::LoadHDF5FileData(const char + + // Shuffle if needed. + if (this->layer_param_.hdf5_data_param().shuffle()) { +- std::random_shuffle(data_permutation_.begin(), data_permutation_.end()); ++ std::shuffle(data_permutation_.begin(), data_permutation_.end(), g); + DLOG(INFO) << "Successfully loaded " << hdf_blobs_[0]->shape(0) + << " rows (shuffled)"; + } else { +@@ -73,6 +78,8 @@ void HDF5DataLayer::LoadHDF5FileData(const char + template + void HDF5DataLayer::LayerSetUp(const vector*>& bottom, + const vector*>& top) { ++ std::random_device rd; ++ std::mt19937 g(rd()); + // Refuse transformation parameters since HDF5 is totally generic. + CHECK(!this->layer_param_.has_transform_param()) << + this->type() << " does not transform data."; +@@ -105,7 +112,7 @@ void HDF5DataLayer::LayerSetUp(const vectorlayer_param_.hdf5_data_param().shuffle()) { +- std::random_shuffle(file_permutation_.begin(), file_permutation_.end()); ++ std::shuffle(file_permutation_.begin(), file_permutation_.end(), g); + } + + // Load the first HDF5 file and initialize the line counter. +@@ -138,14 +145,16 @@ bool HDF5DataLayer::Skip() { + + template + void HDF5DataLayer::Next() { ++ std::random_device rd; ++ std::mt19937 g(rd()); + if (++current_row_ == hdf_blobs_[0]->shape(0)) { + if (num_files_ > 1) { + ++current_file_; + if (current_file_ == num_files_) { + current_file_ = 0; + if (this->layer_param_.hdf5_data_param().shuffle()) { +- std::random_shuffle(file_permutation_.begin(), +- file_permutation_.end()); ++ std::shuffle(file_permutation_.begin(), ++ file_permutation_.end(), g); + } + DLOG(INFO) << "Looping around to first file."; + } +@@ -154,7 +163,7 @@ void HDF5DataLayer::Next() { + } + current_row_ = 0; + if (this->layer_param_.hdf5_data_param().shuffle()) +- std::random_shuffle(data_permutation_.begin(), data_permutation_.end()); ++ std::shuffle(data_permutation_.begin(), data_permutation_.end(), g); + } + offset_++; + }