Bug 217002

Summary: games/allacrost: fails to build with lang/gcc6 or later
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Only Me CC: amdmi3, gerald
Priority: --- Keywords: needs-patch
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 219275    

Description Jan Beich freebsd_committer freebsd_triage 2017-02-11 16:29:54 UTC
src/main.cpp: In function 'int main(int, char**)':
src/main.cpp:370:44: error: no match for 'operator==' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'long int')
    if (ifstream("dat/config/settings.lua") == NULL)
                                            ^

gcc6 build log: http://sprunge.us/ahGI
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-02-11 16:34:06 UTC
Runtime is also completely broken. Consider unbundling luabind to fix build against libc++ then either adjust ifstream usage (see bug 216080) or define USE_CXXSTD=gnu++98.

$ allacrost
Segmentation fault

$ ldd $(which allacrost) | fgrep c++
        libstdc++.so.6 => /usr/local/lib/gcc6/libstdc++.so.6 (0x8024b8000)
        libc++.so.1 => /usr/lib/libc++.so.1 (0x804187000)
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2017-03-01 15:29:13 UTC
Switched
Comment 3 commit-hook freebsd_committer freebsd_triage 2017-03-01 15:30:07 UTC
A commit references this bug:

Author: amdmi3
Date: Wed Mar  1 15:29:10 UTC 2017
New revision: 435166
URL: https://svnweb.freebsd.org/changeset/ports/435166

Log:
  - Fix runtime and build with newer compilers, get rid of gcc dependency

  PR:		217002
  Reported by:	jbeich

Changes:
  head/games/allacrost/Makefile
  head/games/allacrost/files/patch-src-luabind-luabind-detail-format__signature.hpp
  head/games/allacrost/files/patch-src_luabind_luabind_detail_object__rep.hpp
  head/games/allacrost/files/patch-src_main.cpp