EDE Equinox

http://sourceforge.net/projects/ede/forums/forum/249614/topic/3458921

Seems to solve the problem. At least changing the given line in the filename_list.cpp file it compiles without problems.

Also EDE itself seems to install & run without any problems.

May you please put the following patch into the patches dir commenting out the "broken" part in the Makefile of the port and confirm if this works ? Could only test on a i386 AMD64 FreeBSD 8.1 box.

Code:
--- src/core/filename_list.cpp	2010-11-12 00:31:17.000000000 +0100
+++ src/core/filename_list.cpp	2009-04-22 13:51:38.000000000 +0200
@@ -59,7 +59,7 @@
     // The vast majority of Unix systems want the sort function to have this
     // prototype, most likely so that it can be passed to qsort without any
     // changes:
-    return scandir(dir, list, 0, (int(*)(const void*,const void*))sort);
+    return scandir(dir, list, 0, (int(*)(const dirent **, const dirent **))sort);
 #else
     // This version is when we define our own scandir (WIN32 and perhaps
     // some Unix systems) and apparently on Irix:
 
On efltk :)

Either copy & paste and create a file - I've named it filename_fl.cpp - inside the patches directory in the elftk port directory.
Or gunzip the attached file inside the patches directory.
Then edit the Makefile and comment out the 3 lines that mark the port as broken.

Once efltk is installed, EDE will build and run without problems, at least here.

Good luck
 

Attachments

  • filename_list.cpp.gz
    377 bytes · Views: 214
Is not compiling with error:
Code:
Compiling filename_list.cpp...
filename_list.cpp: In function 'int fl_filename_list(const char*, dirent***, int (*)(dirent**, dirent**))':
filename_list.cpp:62: error: invalid conversion from 'int (*)(const void*, const void*)' to 'int (*)(const dirent**, const dirent**)'
filename_list.cpp:62: error:   initializing argument 4 of 'int scandir(const char*, dirent***, int (*)(const dirent*), int (*)(const dirent**, const dirent**))'
gmake[2]: *** [filename_list.shared.o] Error 1
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/efltk/work/efltk/src/core'
gmake[1]: *** [shared] Error 2
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/efltk/work/efltk/src'
gmake: *** [all] Error 2
*** Error code 1

Stop in /usr/ports/x11-toolkits/efltk.

My Makefile:
Code:
# New ports collection makefile for:	efltk
# Date created:				27 Febrary 2004
# Whom:					Sergey Matveychuk <sem@ciam.ru>
#
# $FreeBSD: ports/x11-toolkits/efltk/Makefile,v 1.18 2010/05/31 02:01:48 ade Exp $
#

PORTNAME=	efltk
PORTVERSION=	2.0.8
PORTREVISION=	1
CATEGORIES=	x11-toolkits
MASTER_SITES=	SF/ede/${PORTNAME}/${PORTVERSION}

MAINTAINER=	sem@FreeBSD.org
COMMENT=	Extended Fast Light Toolkit

LIB_DEPENDS=	png.6:${PORTSDIR}/graphics/png \
		jpeg.11:${PORTSDIR}/graphics/jpeg

WRKSRC=		${WRKDIR}/${PORTNAME}

#ONLY_FOR_ARCHS=	i386

.if defined(WITHOUT_MYSQL)
CONFIGURE_ARGS+=	--disable-mysql
.else
USE_MYSQL=	yes
.endif

USE_GMAKE=	yes
USE_GETTEXT=	yes
USE_AUTOTOOLS=	autoconf:213
GNU_CONFIGURE=	yes
CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" \
		DEBUGFLAG="${CFLAGS} -I${LOCALBASE}/include"
MAKE_ENV+=	LD_LIBRARY_PATH="${WRKSRC}/lib"

USE_LDCONFIG=	yes
USE_XORG=	x11 xext

.include <bsd.port.pre.mk>

#.if ${OSVERSION} >= 800501
#BROKEN=		does not build
#.endif

.include <bsd.port.post.mk>
 
Looks like the patch wasn't applied. May you please use the attached patch and place it inside the x11-toolkits dir of your ports tree running:

gzip -dc efltk_patch.gz | patch -p0

to manually patch the port ? Then it'll patch both the Makefile and the cpp file.

Sorry about the trouble
 

Attachments

  • efltk_patch.gz
    588 bytes · Views: 199
Code:
sudo gzip -dc efltk_patch.gz | patch -p0
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN efltk/Makefile efltk_new/Makefile
|--- efltk/Makefile	2010-05-31 04:01:48.000000000 +0200
|+++ efltk_new/Makefile	2010-11-14 06:29:13.000000000 +0100
--------------------------
File to patch:

What I should write?
 
According this:
Code:
gzip -dc efltk_patch.gz | patch -p0
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN efltk/Makefile efltk_new/Makefile
|--- efltk/Makefile	2010-05-31 04:01:48.000000000 +0200
|+++ efltk_new/Makefile	2010-11-14 06:29:13.000000000 +0100
--------------------------
Patching file efltk/Makefile using Plan A...
Reversed (or previously applied) patch detected!  Assume -R? [y] 
Hunk #1 succeeded at 40 with fuzz 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ruN efltk/files/patch-src-filename_list.cpp efltk_new/files/patch-src-filename_list.cpp
|--- efltk/files/patch-src-filename_list.cpp	1970-01-01 01:00:00.000000000 +0100
|+++ efltk_new/files/patch-src-filename_list.cpp	2010-11-12 00:33:03.000000000 +0100
--------------------------
(Creating file efltk/files/patch-src-filename_list.cpp...)
Patching file efltk/files/patch-src-filename_list.cpp using Plan A...
Hunk #1 succeeded at 1.
done
patch must be applied.
But:
Code:
sudo make WITHOUT_MYSQL=YES install clean
return to me this.
Code:
gmake[2]: Entering directory `/usr/ports/x11-toolkits/efltk/work/efltk/src/db'
Compiling Fl_Data_Dialog.cpp...
Compiling Fl_Database.cpp...
Compiling Fl_Query.cpp...
Compiling Fl_Params.cpp...
Compiling Fl_Record_DS.cpp...
gmake[3]: Entering directory `/usr/ports/x11-toolkits/efltk/work/efltk/src/db/odbc'
Compiling fl_odbc.cpp...
Compiling Fl_ODBC_Database.cpp...
Fl_ODBC_Database.cpp: In member function 'void Fl_ODBC_Database::bind_parameters(Fl_Query*)':
Fl_ODBC_Database.cpp:366: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '10' to 'SQLRETURN SQLBindParameter(void*, 
SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, long unsigned int, SQLSMALLINT, void*, long int, long int*)'
Fl_ODBC_Database.cpp: In member function 'void Fl_ODBC_Database::query_col_attributes(Fl_Query*, short int, short int, long int&)':
Fl_ODBC_Database.cpp:392: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '7' to 'SQLRETURN SQLColAttributes(void*, 
SQLUSMALLINT, SQLUSMALLINT, void*, SQLSMALLINT, SQLSMALLINT*, long int*)'
Fl_ODBC_Database.cpp: In member function 'virtual void Fl_ODBC_Database::fetch_query(Fl_Query*)':
Fl_ODBC_Database.cpp:588: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, 
SQLSMALLINT, void*, long int, long int*)'
Fl_ODBC_Database.cpp:593: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, 
SQLSMALLINT, void*, long int, long int*)'
Fl_ODBC_Database.cpp:601: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, 
SQLSMALLINT, void*, long int, long int*)'
Fl_ODBC_Database.cpp:610: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, 
SQLSMALLINT, void*, long int, long int*)'
Fl_ODBC_Database.cpp:623: error: cannot convert 'SQLINTEGER*' to 'long int*' for argument '6' to 'SQLRETURN SQLGetData(void*, SQLUSMALLINT, 
SQLSMALLINT, void*, long int, long int*)'
gmake[3]: *** [Fl_ODBC_Database.shared.o] Error 1
gmake[3]: Leaving directory `/usr/ports/x11-toolkits/efltk/work/efltk/src/db/odbc'
gmake[2]: *** [shared] Error 2
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/efltk/work/efltk/src/db'
gmake[1]: *** [shared] Error 2
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/efltk/work/efltk/src'
gmake: *** [all] Error 2
*** Error code 1

Stop in /usr/ports/x11-toolkits/efltk.
*** Error code 1

Stop in /usr/ports/x11-wm/ede

My Makefile:

Code:
# New ports collection makefile for:	efltk
# Date created:				27 Febrary 2004
# Whom:					Sergey Matveychuk <sem@ciam.ru>
#
# $FreeBSD: ports/x11-toolkits/efltk/Makefile,v 1.18 2010/05/31 02:01:48 ade Exp $
#

PORTNAME=	efltk
PORTVERSION=	2.0.8
PORTREVISION=	1
CATEGORIES=	x11-toolkits
MASTER_SITES=	SF/ede/${PORTNAME}/${PORTVERSION}

MAINTAINER=	sem@FreeBSD.org
COMMENT=	Extended Fast Light Toolkit

LIB_DEPENDS=	png.6:${PORTSDIR}/graphics/png \
		jpeg.11:${PORTSDIR}/graphics/jpeg

WRKSRC=		${WRKDIR}/${PORTNAME}

#ONLY_FOR_ARCHS=	i386

.if defined(WITHOUT_MYSQL)
CONFIGURE_ARGS+=	--disable-mysql
.else
USE_MYSQL=	yes
.endif

USE_GMAKE=	yes
USE_GETTEXT=	yes
USE_AUTOTOOLS=	autoconf:213
GNU_CONFIGURE=	yes
CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" \
		DEBUGFLAG="${CFLAGS} -I${LOCALBASE}/include"
MAKE_ENV+=	LD_LIBRARY_PATH="${WRKSRC}/lib"

USE_LDCONFIG=	yes
USE_XORG=	x11 xext

.include <bsd.port.pre.mk>

#.if ${OSVERSION} >= 800501
#BROKEN=		does not build
#.endif

.include <bsd.port.post.mk>

uname -a:
Code:
FreeBSD area51.bsdserver 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #4: Wed Nov 10 17:12:50 EET 2010     
root@area51.bsdserver:/usr/obj/usr/src/sys/MYKERNEL  amd64
I am doing something wrong? This should work I guess.
 
Nope - everything ok. I was compiling without MySQL support and - without - it works. Still the port itself is far from working if all flavors aren't supported.

Let's see if that can be get working again too :)
 
Back
Top