Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#48664 closed defect (invalid)

inkscape-devel: ./inkgc/gc-core.h:25:11: fatal error: 'gc.h' file not found

Reported by: Ionic (Mihai Moldovan) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: haspatch Cc: su-v
Port: inkscape-devel

Description

inkscape-devel has been failing to build on my system for quite a while.

The autotools system for generating Makefiles seems to out of date and does not have a check for <gc/gc.h>, while the cmake-based generation does it correctly.

I don't understand how it ever worked for you. Do you have a stray ${prefix}/include/gc.h file? If yes, did you never have problems with other ports failing to build like ghc?

Anyway, main.log and a patch will be attached.

Attachments (2)

inkscape-devel.main.log (108.1 KB) - added by Ionic (Mihai Moldovan) 9 years ago.
main.log for inkscape-devel
inkscape-devel-autotools-gc.h.diff (1.1 KB) - added by Ionic (Mihai Moldovan) 9 years ago.
Adds <gc/gc.h> detection to autotools build system for inkscape-devel.

Download all attachments as: .zip

Change History (8)

Changed 9 years ago by Ionic (Mihai Moldovan)

Attachment: inkscape-devel.main.log added

main.log for inkscape-devel

Changed 9 years ago by Ionic (Mihai Moldovan)

Adds <gc/gc.h> detection to autotools build system for inkscape-devel.

comment:1 Changed 9 years ago by su-v

Cc: suv-sf@… added

Cc Me!

comment:2 Changed 9 years ago by Ionic (Mihai Moldovan)

Hum, turns out boehmgc does provide a compatibility header as ${prefix}/include/gc.h. It's likely I removed it due to ghc failing to build with this file in place, as it overrode ghc's internal gc.h file (which is totally different from boehmgc.)

So while the general problem probably arose from me deleting a file and was fixed by force-deactivating and activating boehmgc to get it back in place, I still mandate for the patch to be applied.

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

Since the port is not broken for anyone but you, you should probably instead send your patch to the developers of inkscape for consideration.

comment:4 Changed 9 years ago by Ionic (Mihai Moldovan)

Resolution: invalid
Status: newclosed

No, the port isn't even broken for me - or at least isn't anymore since I cycle-activated boehmgc.

Pushing the change upstream is not worth the effort, because the autotools-based build system is scheduled to be replaced by the cmake-based build system.

Closing as invalid.

comment:5 Changed 9 years ago by dbevans (David B. Evans)

I agree -- but ghc may be broken if it won't build with current boehmgc as installed. I'll leave that to you to work out.

comment:6 Changed 9 years ago by Ionic (Mihai Moldovan)

It probably wasn't ghc but some other port. I cannot remember which one, though.

I had two problems: an orphaned file ${prefix}/include/gc.h, which meant that it was not shadowed by trace mode (and thus this port I cannot remember failed to build because it pulled in gc.h from that location instead of its private gc.h). After finding out that it was orphaned, I deleted this file and suddenly inkscape-devel failed to build, because the autotools build system doesn't include the check for gc/gc.h, only gc.h, which I have removed previously.

Cycling boehmgc put back the not-orphaned gc.h file, which will now be shadowed by trace mode if a port does not specify boehmgc as a dependency, so I guess I'll never see the problem again. I could start not using trace mode for system upgrades to provoke the other port's build failure again, but I don't feel like messing up my otherwise rather clean system due to everything being built with trace mode.

Note: See TracTickets for help on using tickets.