#58993 closed defect (fixed)
re2c @1.2.1 does not compile on PPC Msc OS C 10.4.11, Tiger, because of strange C++ code
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | tiger | Cc: | |
Port: | re2c |
Description
/opt/local/bin/g++-apple-4.2 -DHAVE_CONFIG_H -I. -I/opt/local/include -std=c++98 -W -Wall -Wextra -Weffc++ -pedantic -Wformat=2 -Wredundant-decls -Wconversion -Werror=return-type -O2 -DRE2C_STDLIB_DIR='"/opt/local/share/re2c/stdlib/"' -pipe -Os -arch ppc -MT src/dfa/closure.o -MD -MP -MF $depbase.Tpo -c -o src/dfa/closure.o src/dfa/closure.cc &&\ mv -f $depbase.Tpo $depbase.Po In file included from ./src/dfa/tcmd.h:7, from ./src/dfa/dfa.h:11, from ./src/options/opt.h:10, from ./src/regexp/re.h:5, from ./src/nfa/nfa.h:10, from ./src/dfa/determinization.h:12, from src/dfa/closure.cc:10: ./src/dfa/tag_history.h: In function 'int32_t re2c::compare_reversed(const history_t&, re2c::hidx_t, re2c::hidx_t, size_t)': ./src/dfa/tag_history.h:159: warning: suggest a space before ';' or explicit braces around empty body in 'for' statement ./src/dfa/tag_history.h:160: warning: suggest a space before ';' or explicit braces around empty body in 'for' statement In file included from ./src/dfa/dfa.h:12, from ./src/options/opt.h:10, from ./src/regexp/re.h:5, from ./src/nfa/nfa.h:10, from ./src/dfa/determinization.h:12, from src/dfa/closure.cc:10: ./src/util/free_list.h: At global scope: ./src/util/free_list.h: In instantiation of 're2c::free_list<re2c::Code*>': ./src/regexp/rule.h:30: instantiated from here ./src/util/free_list.h:11: warning: base class 'class std::set<re2c::Code*, std::less<re2c::Code*>, std::allocator<re2c::Code*> >' has a non-virtual destructor ./src/dfa/closure_posix.h: In function 'void re2c::init_gor1(ctx_t&) [with ctx_t = re2c::determ_context_t<re2c::phistory_t>]': ./src/dfa/closure_posix.h:83: instantiated from 'void re2c::closure_posix_gor1(ctx_t&) [with ctx_t = re2c::determ_context_t<re2c::phistory_t>]' ./src/dfa/closure_posix.h:38: instantiated from here ./src/dfa/closure_posix.h:128: error: no match for 'operator!=' in 'c != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::clos_t, _Alloc = std::allocator<re2c::clos_t>]()' make[1]: *** [src/dfa/closure.o] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_re2c/re2c/work/re2c-1.2.1' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_re2c/re2c/work/re2c-1.2.1' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_re2c/re2c/work/re2c-1.2.1" && /usr/bin/make -w all Exit code: 2
Attachments (2)
Change History (16)
Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
comment:2 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
It builds with configure.compiler=macports-gcc-6
.
comment:3 Changed 5 years ago by jmroot (Joshua Root)
Cc: | ryandesign@… removed |
---|---|
Owner: | set to ryandesign |
Status: | new → assigned |
comment:4 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Duplicate #59869 shows it still happens with 1.3.
I guess I should blacklist gcc-4.2 and earlier and see what happens.
comment:5 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
comment:6 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
re2c @1.3
builds when
PortGroup cxx11 1.1
is inserted into Portfile
.
comment:7 follow-up: 8 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
We aren't using the cxx11 1.1 portgroup anymore. Now, we use compiler.cxx_standard 2011
to indicate when C++11 is required. Is it? I don't think it is, since it builds fine e.g. on 10.7 using its old non-C++11-compatible clang, and it uses the flag -std=c++98
.
Did the change I made above not allow the port to build? If not, please attach a new main.log.
comment:8 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign:
Did the change I made above not allow the port to build? If not, please attach a new main.log.
I think the failure is exactly the same. Still GCC 4.2
is used.
Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.2.log added |
---|
Main.log from PPC Tiger built via Portfile from 2019-12-22T171500 UTC
comment:9 follow-up: 10 Changed 5 years ago by jmroot (Joshua Root)
Needs to blacklist *gcc-4.*
not just gcc-4.*
to match apple-gcc-4.2.
comment:10 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jmroot:
With this correction in Portfile
re2c
built on PPC Tiger
.
comment:11 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:12 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
In 9116a465108042438f05ef1296fb87871b18113b/macports-ports (dar, master, py38-reproject, revert-6945-rust-1.43.0, wireshark):
comment:13 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
In f79d0038cddf59f71ac057e277c22acd7339e863/macports-ports (dar, master, py38-reproject, revert-6945-rust-1.43.0, wireshark):
Main.log from PPC Tiger