Opened 10 years ago

Closed 10 years ago

#41463 closed defect (fixed)

hugin-app @2013.0.0 fails: "recursive template instantiation exceeded maximum depth"

Reported by: gthb (Gunnlaugur Thor Briem) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: mojca (Mojca Miklavec)
Port: hugin-app

Description

Building hugin-app @2013.0.0 fails with this:

:info:build /opt/local/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp:32:32: fatal error: recursive template instantiation exceeded maximum depth of 128
:info:build                     result_of::value_of<typename Iterator::first_type>::type
:info:build                                ^

followed by a stack of template instantiation contexts, see attached main.log.

Attachments (3)

main.log (1006.6 KB) - added by gthb (Gunnlaugur Thor Briem) 10 years ago.
main.log from the failing build
hugin-app.Portfile.patch (662 bytes) - added by gthb (Gunnlaugur Thor Briem) 10 years ago.
Portfile patch fixing this particular problem
patch-src-hugin1-icpfind-AutoCtrlPointCreator.cpp.diff (338 bytes) - added by ryandesign (Ryan Carsten Schmidt) 10 years ago.
potential patch

Download all attachments as: .zip

Change History (13)

Changed 10 years ago by gthb (Gunnlaugur Thor Briem)

Attachment: main.log added

main.log from the failing build

comment:1 Changed 10 years ago by gthb (Gunnlaugur Thor Briem)

This may be a specific instance of the problem alluded to in comment:ticket:41365:2 — hugin-app failing with boost 1.54.0 and allegedly building successfully with 1.55.0.

Last edited 10 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

I would rather expect that we just need to increase the maximum recursive template instantiation depth, like we already did for vigra in #40634.

comment:3 Changed 10 years ago by gthb (Gunnlaugur Thor Briem)

Yep, I tried that out, and the build got past this, failing further down with this error:

:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_hugin-app/hugin-app/work/hugin-2013.0.0/src/hugin1/icpfind/AutoCtrlPointCreator.cpp:32:10: fatal error: 'ext/stdio_filebuf.h' file not found
:info:build #include <ext/stdio_filebuf.h>
:info:build          ^

which seems pretty certainly unrelated.

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

Hmm. Looking on my system, I see the file /usr/include/c++/4.2.1/ext/stdio_filebuf.h exists. Does it exist on your system?

I haven't yet tried building hugin-app because I'm having unrelated issues with its dependencies.

Changed 10 years ago by gthb (Gunnlaugur Thor Briem)

Attachment: hugin-app.Portfile.patch added

Portfile patch fixing this particular problem

comment:5 Changed 10 years ago by gthb (Gunnlaugur Thor Briem)

Yes, it exists on my system too.

comment:6 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: mojca@… added

Cc Me!

comment:7 in reply to:  3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to gunnlaugur@…:

Yep, I tried that out, and the build got past this

Thanks for testing that. Committed that part of the fix in r113935.

comment:8 in reply to:  3 ; Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to gunnlaugur@…:

fatal error: 'ext/stdio_filebuf.h' file not found

We saw the same with GitX (#40924). There the workaround was to use libstdc++ instead of libc++, but that's not a viable solution for hugin-app, because hugin-app needs to use C++ features of boost, and boost was built using libc++ on Mavericks, and you cannot mix C++ runtimes.

Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

potential patch

comment:9 in reply to:  8 ; Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

Replying to gunnlaugur@…:

fatal error: 'ext/stdio_filebuf.h' file not found

Taking a cue from this upstream fix already included in the port, I've attached a potential fix for this which makes the same change to another file. My research suggested that ext/stdio_filebuf.h is a GNU extension that would not be available with clang, so I wanted to try simply not including it.

The next problem I run into is one that I believe will be fixed by updating boost to 1.55.0.

comment:10 in reply to:  9 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

Replying to ryandesign@…:

Replying to ryandesign@…:

Replying to gunnlaugur@…:

fatal error: 'ext/stdio_filebuf.h' file not found

Taking a cue from this upstream fix already included in the port, I've attached a potential fix for this which makes the same change to another file. My research suggested that ext/stdio_filebuf.h is a GNU extension that would not be available with clang, so I wanted to try simply not including it.

The next problem I run into is one that I believe will be fixed by updating boost to 1.55.0.

This worked. Committed the patch to hugin-app in r113943. Will update boost to 1.55.0 after I've tested a few other ports with it.

Note: See TracTickets for help on using tickets.