ports/134198: build problem with math/octave-forge-engine
Stephen Montgomery-Smith
stephen at missouri.edu
Mon May 4 02:00:08 UTC 2009
>Number: 134198
>Category: ports
>Synopsis: build problem with math/octave-forge-engine
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Mon May 04 02:00:07 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Stephen Montgomery-Smith
>Release: FreeBSD 7.1-STABLE i386
>Organization:
>Environment:
FreeBSD laptop3.gateway.2wire.net 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sat May 2 15:16:46 CDT 2009 stephen at laptop3.gateway.2wire.net:/usr/obj/usr/src/sys/LAPTOP3 amd64
>Description:
The port math/octave-forge-engine seems not to be building on recent versions of FreeBSD current with recent versions of gcc43.
The problem seems to be created in that the source code has a function called getline, which conflicts with the function getline that is now part of FreeBSD and/or gcc43.
>How-To-Repeat:
>Fix:
Add a file called something like files/patch-getline, with the following content:
--- src/engGetFull.c.bak 2008-08-24 16:13:55.000000000 +0000
+++ src/engGetFull.c 2009-05-04 01:44:43.000000000 +0000
@@ -30,7 +30,7 @@
flushjunk();
sprintf( buf, "exist(\"%s\")\n", name );
putline( buf );
- getline( buf );
+ local_getline( buf );
flushprompt( 0 );
sscanf( buf, " ans = %d", &i );
@@ -39,20 +39,20 @@
sprintf( buf, "save -ascii \"-\" %s\n", name );
putline( buf );
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %s", &comm, str1, str2 );
if( comm != '#' )
return retval;
if( !strcmp( "Created", str1 ) ) /* New in Octave 2.0.14 */
{
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %s", &comm, str1, str2 );
}
if( strcmp( "name:", str1 ) )
return retval;
if( strcmp( name, str2 ) )
return retval;
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %s %s", &comm, str1, str2, str3 );
if( comm != '#' )
return retval;
@@ -66,18 +66,18 @@
*n = 1;
*pr = mxCalloc( 1, sizeof( **pr ) );
*pi = mxCalloc( 1, sizeof( **pi ) );
- getline( buf );
+ local_getline( buf );
sscanf( buf, "(%lf,%lf)", &pr[0][0], &pi[0][0] );
}
else
{
if( !strcmp( "matrix", str3 ) )
{
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %d", &comm, str1, m );
if( strcmp( "rows:", str1 ) )
return retval;
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %d", &comm, str1, n );
if( strcmp( "columns:", str1 ) )
return retval;
@@ -85,7 +85,7 @@
*pi = mxCalloc( (*m)*(*n), sizeof( **pi ) );
for( i=0; i<*m; i++ )
{
- getline( buf );
+ local_getline( buf );
ptr = strtok( buf, " " );
for( j=0; j<*n; j++ )
{
@@ -106,18 +106,18 @@
*n = 1;
*pr = mxCalloc( 1, sizeof( **pr ) );
*atrix", str2 ) )
{
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %d", &comm, str1, m );
if( strcmp( "rows:", str1 ) )
return retval;
- getline( buf );
+ local_getline( buf );
sscanf( buf, "%c %s %d", &comm, str1, n );
if( strcmp( "columns:", str1 ) )
return retval;
@@ -125,7 +125,7 @@
*pi = NULL;
for( i=0; i<*m; i++ )
{
- getline( buf );
+ local_getline( buf );
ptr = strtok( buf, " " );
for( j=0; j<*n; j++ )
{
--- src/engif.c.bak 2008-08-24 16:13:55.000000000 +0000
+++ src/engif.c 2009-05-04 01:44:43.000000000 +0000
@@ -78,7 +78,7 @@
}
-int getline( char* buf )
+int local_getline( char* buf )
{
int i;
@@ -95,7 +95,7 @@
buf[i] = '\0';
#ifdef DEBUGAPI
- printf( "getline: %s", buf );
+ printf( "local_getline: %s", buf );
#endif
return 0;
--- src/engif.h.bak 2008-08-24 16:13:55.000000000 +0000
+++ src/engif.h 2009-05-04 01:44:43.000000000 +0000
@@ -1,6 +1,6 @@
int flushprompt( int outkey );
int flushjunk( void );
-int getline( char* buf );
+int local_getline( char* buf );
int putline( char* buf );
int openpipes( void );
int closepipes( void );
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list