Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#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)

main.log (70.1 KB) - added by ballapete (Peter "Pete" Dyballa) 5 years ago.
Main.log from PPC Tiger
main.2.log (179.4 KB) - added by ballapete (Peter "Pete" Dyballa) 4 years ago.
Main.log from PPC Tiger built via Portfile from 2019-12-22T171500 UTC

Download all attachments as: .zip

Change History (16)

Changed 5 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Tiger

comment:1 Changed 5 years ago by kencu (Ken)

this builds on Tiger PPC w gcc6

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: newassigned

comment:4 Changed 4 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 4 years ago by ryandesign (Ryan Carsten Schmidt)

In 9116a465108042438f05ef1296fb87871b18113b/macports-ports (master):

re2c: Blacklist gcc 4 and earlier

See: #58993

comment:6 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

re2c @1.3 builds when

PortGroup           cxx11 1.1

is inserted into Portfile.

comment:7 Changed 4 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 in reply to:  7 Changed 4 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 4 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 Changed 4 years ago by jmroot (Joshua Root)

Needs to blacklist *gcc-4.* not just gcc-4.* to match apple-gcc-4.2.

comment:10 in reply to:  9 Changed 4 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jmroot:

With this correction in Portfile re2c built on PPC Tiger.

comment:11 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In f79d0038cddf59f71ac057e277c22acd7339e863/macports-ports (master):

re2c: Also blacklist apple-gcc-4.2

Closes: #58993

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):

re2c: Blacklist gcc 4 and earlier

See: #58993

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):

re2c: Also blacklist apple-gcc-4.2

Closes: #58993

comment:14 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

In 2da42f34e4b288c484ce5f4765338ede4aa929b2/macports-ports (master):

re2c: Fix build with old compilers

Closes: #60755
See: #58993

Note: See TracTickets for help on using tickets.