Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#40634 closed defect (fixed)

vigra: recursive template instantiation exceeded maximum depth of 128

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: BSeppke (Benjamin Seppke)
Priority: Normal Milestone:
Component: ports Version: 2.2.0
Keywords: Cc: cooljeanius (Eric Gallager)
Port: vigra

Description

vigra fails to build with:

fatal error: recursive template instantiation exceeded maximum depth of 128

Attachments (1)

main.log (64.5 KB) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:2 Changed 11 years ago by BSeppke (Benjamin Seppke)

Hi there!

I'll have a look at this issue tomorrow. From the log-file, I am guessing that you are using the latest XCode with Clang 5.0.0? Pleas confirm this pr better: Post the complete system setup. On my Macs, I have still 10.6.X installed. However, at work I have access to a 10.8 machine. I will try to reproduce this error on that Mac tomorrow.

It's really a mess to support the different compilers bundled with the different Mac OS' Xcode's but I'll do my best ot fix this. If I do not succeed, you'll have to wait a bit, since I am on holidays for the following 1 1/2 weeks.

Best wishes, Benjamin

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

Yes, it is OS X 10.8.5 with Xcode 5. I was also wondering if the new clang was the cause. I can try with some other clang versions later.

comment:4 Changed 11 years ago by BSeppke (Benjamin Seppke)

You may also try the compiler flag -ftemplate-depth-N, where N is the maximum template depth, with values larger than 128... I found this for clang version 3.1, maybe this flag is also available in clang-5?

comment:5 in reply to:  4 Changed 11 years ago by BSeppke (Benjamin Seppke)

Hi there!

Finally, I managed to fix that error! Just add a line to the port file:

configure.cxxflags-append -ftemplate-depth-1024

since this template depth seems to be sufficient. The reason, why the vigra does not compile from scratch with clang-5.0 may be due to a different (implicit) setting for the max. recursion depth between v.4.2 and v.5.0.

I'd highly appreciate, if anybody with writing privileges adds this line to the port file (e.g. after configure.args-append). This bug should be marked as fixed afterwards!

Best wishes, Benjamin

Replying to benjamin.seppke@…:

You may also try the compiler flag -ftemplate-depth-N, where N is the maximum template depth, with values larger than 128... I found this for clang version 3.1, maybe this flag is also available in clang-5?

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

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

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.