Bug 273930 - www/nginx-full build error
Summary: www/nginx-full build error
Status: Closed DUPLICATE of bug 275161
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Jochen Neumeister
URL:
Keywords:
Depends on:
Blocks: 275262
  Show dependency treegraph
 
Reported: 2023-09-18 13:48 UTC by rachid
Modified: 2023-11-22 15:03 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rachid 2023-09-18 13:48:09 UTC
There is an error during the build of nginx-full.

2 warnings generated.
c++ -o buildout/nginx_dynamic/module_libpassenger_common/StrIntTools/StrIntUtilsNoStrictAliasing.o  -Isrc/cxx_supportlib -Isrc/cxx_supportlib/vendor-copy -Isrc/cxx_supportlib/vendor-modified -Isrc/cxx_supportlib/vendor-modified/libev -Wno-ambiguous-member-template -DUSE_VENDORED_LIBEV -Isrc/cxx_supportlib/vendor-copy/libuv/include -O2 -fno-strict-aliasing -fPIC -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -Wno-ambiguous-member-template -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -DHAVE_ACCEPT4 -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -g -fno-limit-debug-info -Wno-unused-local-typedefs -Wno-format-nonliteral -DHAS_UNORDERED_MAP -c src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp
mkdir -p buildout/nginx_dynamic/module_libpassenger_common/IOTools
c++ -o buildout/nginx_dynamic/module_libpassenger_common/IOTools/IOUtils.o  -Isrc/cxx_supportlib -Isrc/cxx_supportlib/vendor-copy -Isrc/cxx_supportlib/vendor-modified -Isrc/cxx_supportlib/vendor-modified/libev -Wno-ambiguous-member-template -DUSE_VENDORED_LIBEV -Isrc/cxx_supportlib/vendor-copy/libuv/include -O -fPIC -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -Wno-ambiguous-member-template -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -DHAVE_ACCEPT4 -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -g -fno-limit-debug-info -Wno-unused-local-typedefs -Wno-format-nonliteral -DHAS_UNORDERED_MAP -c src/cxx_supportlib/IOTools/IOUtils.cpp
src/cxx_supportlib/IOTools/IOUtils.cpp:288:3: error: use of undeclared identifier 'random_shuffle'
                random_shuffle(result.begin(), result.end());
                ^
1 error generated.
rake aborted!
Command failed with status (1): [c++ -o buildout/nginx_dynamic/module_libpassenger_common/IOTools/IOUtils.o  -Isrc/cxx_supportlib -Isrc/cxx_supportlib/vendor-copy -Isrc/cxx_supportlib/vendor-modified -Isrc/cxx_supportlib/vendor-modified/libev -Wno-ambiguous-member-template -DUSE_VENDORED_LIBEV -Isrc/cxx_supportlib/vendor-copy/libuv/include -O -fPIC -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -Wno-ambiguous-member-template -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -DHAVE_ACCEPT4 -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -g -fno-limit-debug-info -Wno-unused-local-typedefs -Wno-format-nonliteral -DHAS_UNORDERED_MAP -c src/cxx_supportlib/IOTools/IOUtils.cpp]
/usr/ports/www/nginx-full/work/passenger-6.0.17/build/support/cplusplus.rb:53:in `run_compiler'
/usr/ports/www/nginx-full/work/passenger-6.0.17/build/support/cplusplus.rb:104:in `compile_cxx'
/usr/ports/www/nginx-full/work/passenger-6.0.17/build/support/cplusplus.rb:162:in `block in define_cxx_object_compilation_task'
Tasks: TOP => nginx:as_dynamic_module => nginx_dynamic_without_native_support => buildout/nginx_dynamic/module_libpassenger_common/IOTools/IOUtils.o
(See full trace by running task with --trace)
===>  Script "configure" failed unexpectedly.
Please report the problem to joneum@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/nginx-full/work/nginx-1.24.0/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/nginx-full
*** Error code 1

Stop.
make: stopped in /usr/ports/www/nginx-full

===>>> make build failed for www/nginx-full
===>>> Aborting update
Comment 1 Xin LI freebsd_committer freebsd_triage 2023-09-18 16:30:08 UTC
Over to maintainer and remove from secteam queue.

It seems that the code was using deprecated std::random_shuffle (removed in C++17) and should be modified to use std::shuffle (available since C++11).

For example modify it to something like:

auto rng = std::default_random_engine {};
std::shuffle(result.begin(), result.end(), rng);
Comment 2 Jaap Akkerhuis 2023-10-30 14:20:38 UTC
This mail message https://www.mail-archive.com/ports@freebsd.org/msg04080.html suggests a fix.

The suggestion seems to work for nginx-devel
Comment 3 Koichiro Iwao freebsd_committer freebsd_triage 2023-11-22 15:03:29 UTC
Closing this duplicate of bug 275161. Because bug 275161 has a patch.

*** This bug has been marked as a duplicate of bug 275161 ***