Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 301530 - cscope 15.7a-r1 compilation breaks under Gentoo Prefix for OSX
Summary: cscope 15.7a-r1 compilation breaks under Gentoo Prefix for OSX
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Mac OSX (show other bugs)
Hardware: x86 OS X
: High normal (vote)
Assignee: Gentoo Prefix
URL: http://bugs.gentoo.org/show_bug.cgi?i...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-19 16:20 UTC by Robin Randhawa
Modified: 2010-01-23 11:04 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robin Randhawa 2010-01-19 16:20:03 UTC
I've found a fix but am reporting this bug as such for completeness' sake. Please note that I am new to Gentoo Prefix.

As per the summary an emerge attempt failed with the latest gentoo prefix on a snow leopard installation.

Here's a concise build log:

$ emerge cscope
<snip>
Making all in src
make[2]: Entering directory `/Volumes/CodeBox/gentoo/var/tmp/portage/dev-util/cscope-15.7a-r1/work/cscope-15.7a/src'
/Users/robin/CodeBox/gentoo/bin/bash ../ylwrap fscanner.l lex.yy.c fscanner.c -- flex  
if i686-apple-darwin10-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/Users/robin/CodeBox/gentoo/usr/include   -O2 -pipe -march=nocona -MT fscanner.o -MD -MP -MF ".deps/fscanner.Tpo" -c -o fscanner.o fscanner.c; \
	then mv -f ".deps/fscanner.Tpo" ".deps/fscanner.Po"; else rm -f ".deps/fscanner.Tpo"; exit 1; fi
/Users/robin/CodeBox/gentoo/bin/bash ../ylwrap egrep.y y.tab.c egrep.c y.tab.h egrep.h y.output egrep.output -- bison -y  
conflicts: 2 shift/reduce
if i686-apple-darwin10-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/Users/robin/CodeBox/gentoo/usr/include   -O2 -pipe -march=nocona -MT egrep.o -MD -MP -MF ".deps/egrep.Tpo" -c -o egrep.o egrep.c; \
	then mv -f ".deps/egrep.Tpo" ".deps/egrep.Po"; else rm -f ".deps/egrep.Tpo"; exit 1; fi
if i686-apple-darwin10-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/Users/robin/CodeBox/gentoo/usr/include   -O2 -pipe -march=nocona -MT alloc.o -MD -MP -MF ".deps/alloc.Tpo" -c -o alloc.o alloc.c; \
	then mv -f ".deps/alloc.Tpo" ".deps/alloc.Po"; else rm -f ".deps/alloc.Tpo"; exit 1; fi
if i686-apple-darwin10-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/Users/robin/CodeBox/gentoo/usr/include   -O2 -pipe -march=nocona -MT basename.o -MD -MP -MF ".deps/basename.Tpo" -c -o basename.o basename.c; \
	then mv -f ".deps/basename.Tpo" ".deps/basename.Po"; else rm -f ".deps/basename.Tpo"; exit 1; fi
if i686-apple-darwin10-gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/Users/robin/CodeBox/gentoo/usr/include   -O2 -pipe -march=nocona -MT build.o -MD -MP -MF ".deps/build.Tpo" -c -o build.o build.c; \
	then mv -f ".deps/build.Tpo" ".deps/build.Po"; else rm -f ".deps/build.Tpo"; exit 1; fi
In file included from build.c:50:
/Users/robin/CodeBox/gentoo/usr/include/ncurses.h:539:40: error: macro "cbreak" passed 1 arguments, but takes just 0
/Users/robin/CodeBox/gentoo/usr/include/ncurses.h:564:44: error: macro "erasechar" passed 1 arguments, but takes just 0
/Users/robin/CodeBox/gentoo/usr/include/ncurses.h:600:43: error: macro "killchar" passed 1 arguments, but takes just 0

This problem has been encountered with cscope 15.6 and solved by Fabian. [See Bug URL above].

My solution was based on a patch from Fabian. Here's what I did to solve the problem. Note that this is not intended to be a solution but IMHO the clearest way I could think off to describe the solution. I graciously leave a proper solution to more knowledgeable folk.

My patch looks like this (I couldn't find a way to attach it to the bug report, sorry)

$ cat cscope-15.7a-darwin.path
diff -Naur cscope.orig/cscope-15.7a-r1.ebuild cscope/cscope-15.7a-r1.ebuild
--- cscope.orig/cscope-15.7a-r1.ebuild	2010-01-19 16:03:11 +0000
+++ cscope/cscope-15.7a-r1.ebuild	2010-01-19 16:05:06 +0000
@@ -26,6 +26,7 @@
 	unpack ${A}
 	cd "${S}"
 	epatch "${FILESDIR}/${P}-ocs-sysdir.patch" #269305
+	epatch "${FILESDIR}/${P}-darwin.patch"
 }
 
 src_compile() {
diff -Naur cscope.orig/files/cscope-15.7a-darwin.patch cscope/files/cscope-15.7a-darwin.patch
--- cscope.orig/files/cscope-15.7a-darwin.patch	1970-01-01 01:00:00 +0100
+++ cscope/files/cscope-15.7a-darwin.patch	2010-01-19 16:05:23 +0000
@@ -0,0 +1,11 @@
+--- src/constants.h
++++ src/constants.h
+@@ -103,7 +103,7 @@
+ #define INCLUDES	8
+ #define	FIELDS		9
+ 
+-#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__
++#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__ && !__MACH__
+ # define TERMINFO	0	/* no terminfo curses */
+ #else
+ # define TERMINFO	1

$ cd $EPREFIX/usr/local/portage
$ ecopy dev-util/cscope
$ cd dev-util/cscope
$ patch -p1 < <path_to_attached_patch>
$ ebuild cscope-15.7a-r1.ebuild digest
$ emerge cscope

The package installs correctly. I've tested cscope's functionality with vim emerged with USE=cscope abd I can confirm that it works perfectly.

I'll be happy to provide any more information and I apologise if this is incomplete.
Comment 1 Fabian Groffen gentoo-dev 2010-01-23 11:01:48 UTC
the ebuild has a double src_unpack, that's why the original patch isn't applied and the interix patch has been added twice :(
Comment 2 Fabian Groffen gentoo-dev 2010-01-23 11:04:25 UTC
double src_unpack removed