Opened 7 years ago

Closed 5 years ago

#53877 closed defect (fixed)

LyX @2.2.2: fatal error: 'initializer_list' file not found

Reported by: alfredrajo (Alfred Herrmann) Owned by: kurthindenburg (Kurt Hindenburg)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: LyX

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I want to use LyX on the MacBookPro 15" Core 2 Duo (newest OS Lion 10.7.5), which coming back to me from my daughter

:info:build /opt/local/libexec/qt4/include/QtCore/qlist.h:55:10: fatal error: 'initializer_list' file not found
:info:build #include <initializer_list>
:info:build          ^
:info:build 1 warning and 1 error generated.
:info:build make[5]: *** [ConsoleApplication.o] Error 1
:info:build make[5]: *** Waiting for unfinished jobs....
:info:build In file included from FileMonitor.cpp:18:
:info:build In file included from ./../support/bind.h:15:
:info:build ./../support/functional.h:30:27: error: no member named 'function' in namespace 'std'
:info:build         using LYX_FUNCTIONAL_NS::function;
:info:build               ~~~~~~~~~~~~~~~~~~~^
:info:build In file included from FileMonitor.cpp:18:
:info:build ./../support/bind.h:23:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholders'?
:info:build         using std::placeholders::_1;
:info:build               ~~~~~^~~~~~~~~~~~
:info:build                    boost::mpl::placeholders
:info:build /opt/local/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared here
:info:build namespace placeholders {
:info:build           ^
:info:build In file included from FileMonitor.cpp:18:
:info:build ./../support/bind.h:24:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholders'?
:info:build         using std::placeholders::_2;
:info:build               ~~~~~^~~~~~~~~~~~
:info:build                    boost::mpl::placeholders
:info:build /opt/local/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared here

Attachments (1)

main.log (1.6 MB) - added by alfredrajo (Alfred Herrmann) 7 years ago.

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by alfredrajo (Alfred Herrmann)

Attachment: main.log added

comment:1 in reply to:  description Changed 7 years ago by alfredrajo (Alfred Herrmann)

Replying to alfredrajo:

I want to use LyX on the MacBookPro 15" Core 2 Duo (newest OS Lion 10.7.5), which coming back to me from my daughter

:info:build /opt/local/libexec/qt4/include/QtCore/qlist.h:55:10: fatal error: 'initializer_list' file not found
:info:build #include <initializer_list>
:info:build          ^
:info:build 1 warning and 1 error generated.
:info:build make[5]: *** [ConsoleApplication.o] Error 1
:info:build make[5]: *** Waiting for unfinished jobs....
:info:build In file included from FileMonitor.cpp:18:
:info:build In file included from ./../support/bind.h:15:
:info:build ./../support/functional.h:30:27: error: no member named 'function' in namespace 'std'
:info:build         using LYX_FUNCTIONAL_NS::function;
:info:build               ~~~~~~~~~~~~~~~~~~~^
:info:build In file included from FileMonitor.cpp:18:
:info:build ./../support/bind.h:23:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholde
rs'?
:info:build         using std::placeholders::_1;
:info:build               ~~~~~^~~~~~~~~~~~
:info:build                    boost::mpl::placeholders
:info:build /opt/local/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared her
e
:info:build namespace placeholders {
:info:build           ^
:info:build In file included from FileMonitor.cpp:18:
:info:build ./../support/bind.h:24:13: error: no member named 'placeholders' in namespace 'std'; did you mean 'boost::mpl::placeholde
rs'?
:info:build         using std::placeholders::_2;
:info:build               ~~~~~^~~~~~~~~~~~
:info:build                    boost::mpl::placeholders
:info:build /opt/local/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:101:11: note: 'boost::mpl::placeholders' declared her
e }}}

comment:2 Changed 7 years ago by alfredrajo (Alfred Herrmann)

Sorry, I m greenhorn

comment:3 Changed 7 years ago by kencu (Ken)

initializer_list is a c++11 feature <http://en.cppreference.com/w/cpp/utility/initializer_list>.

I would recommend that you follow the instructions in LibcxxOnOlderSystems, and upgrade your 10.7.5 machine to that configuration. Part of that configuration is to make clang-3.8 your default compiler, which will handle all further c++11 ports with no troubles or further input from you.

More and more ports need c++11, and if you do this, you will cover them all with no further adjustments on your end. However, it does mean you'll build all ports from source, which takes some time, but otherwise works very well. I have my 10.6.8 machine set up like this, and lyx just installed on that system without any hassle.

$ port -v installed lyx
The following ports are currently installed:
  LyX @2.2.2_0+python27 (active) platform='darwin 10' archs='x86_64' date='2017-03-28T18:10:09-0700'

Your other option is to post up build failures like this when you come across them, and people will update the portfiles as needed to include c++11 coverage. This takes time, and won't solve your immediate issues.

By the way, thanks for the pointer to lyx -- looks like a great piece of software!

comment:4 Changed 7 years ago by alfredrajo (Alfred Herrmann)

admirable answer! Thanks for competent advice, I will follow that...

comment:5 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: set to kurthindenburg
Port: LyX added; qt4 removed
Status: newassigned
Summary: qt4 'initializer_list' file not foundLyX @2.2.2: fatal error: 'initializer_list' file not found

comment:6 Changed 7 years ago by kurthindenburg (Kurt Hindenburg)

In 207137ef9a4923e921ef8612e09cb4a2c6cdbd1b/macports-ports:

LyX: add qt5 variant

There should be no change to current build as qt4 is the default still.

Correct configure args; add Debian patch to fix spelling errors.

Add cxx11 PG
see #53877
see #52236

comment:7 Changed 5 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: assignedclosed

Reopen this if this is still an issue.

Note: See TracTickets for help on using tickets.