Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Aug 2013 16:20:09 +0200
From:      cpghost <cpghost@cordula.ws>
To:        Johan van Selst <johans@FreeBSD.org>
Cc:        ports@freebsd.org, bug-followup@FreeBSD.org
Subject:   Re: ports/172837: lang/swi-pl compiles with databases/libiodbc
Message-ID:  <51FBC019.5070908@cordula.ws>
In-Reply-To: <51E425F2.3080607@cordula.ws>
References:  <51E2FA98.2060507@cordula.ws> <20130715051310.GA12675@mud.stack.nl> <51E425F2.3080607@cordula.ws>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/15/13 18:40, cpghost wrote:
> On 07/15/13 07:13, Johan van Selst wrote:
>> cpghost wrote:
>>> Unfortunately, when OPTION iodbc is selected, the port now fails
>>> to compile:
>>
>> Corrected now, thanks for reporting.
>>
>> I have also disabled the optional Java interface (JPL) for now.
>> Will try and figure out how to get this working with varios JDKs
>> and add it as an option later.
> 
> Thank you.
> 
> The port still fails to compile:
> 
> cc -shared -rdynamic  -L/usr/local/lib -pthread
> -L/usr/ports/lang/swi-pl/work/pl-6.2.6/src/../lib/x86_64-freebsd  -o
> unix.so error.o unix.o
> cc -O2 -Wall -fno-strict-aliasing -pthread -fPIC -O2 -pipe
> -I/usr/local/include -fno-strict-aliasing
> -I/usr/ports/lang/swi-pl/work/pl-6.2.6/src/../include
> -I/usr/ports/lang/swi-pl/work/pl-6.2.6/src/../packages/clib
> -I/usr/ports/lang/swi-pl/work/pl-6.2.6/src/../packages/clib/maildrop/rfc2045
> -I/usr/ports/lang/swi-pl/work/pl-6.2.6/src/../packages/clib/maildrop/rfc822
> -DHAVE_CONFIG_H -D__SWI_PROLOG__   -c -o uuid.o uuid.c
> uuid.c: In function 'pl_uuid':
> uuid.c:45: error: 'UUID_MAKE_V1' undeclared (first use in this function)
> uuid.c:45: error: (Each undeclared identifier is reported only once
> uuid.c:45: error: for each function it appears in.)
> uuid.c:51: error: 'uuid_rc_t' undeclared (first use in this function)
> uuid.c:51: error: expected ';' before 'urc'
> uuid.c:73: error: 'UUID_MAKE_MC' undeclared (first use in this function)
> uuid.c:74: error: 'UUID_MAKE_V3' undeclared (first use in this function)
> uuid.c:75: error: 'UUID_MAKE_V4' undeclared (first use in this function)
> uuid.c:76: error: 'UUID_MAKE_V5' undeclared (first use in this function)
> uuid.c:114: warning: passing argument 1 of 'uuid_create' from
> incompatible pointer type
> uuid.c:114: error: too few arguments to function 'uuid_create'
> uuid.c:115: error: 'urc' undeclared (first use in this function)
> uuid.c:115: warning: implicit declaration of function 'uuid_make'
> uuid.c:115: error: 'UUID_RC_OK' undeclared (first use in this function)
> uuid.c:116: warning: implicit declaration of function 'uuid_error'
> uuid.c:125: warning: passing argument 1 of 'uuid_create' from
> incompatible pointer type
> uuid.c:125: error: too few arguments to function 'uuid_create'
> uuid.c:126: warning: passing argument 1 of 'uuid_create' from
> incompatible pointer type
> uuid.c:126: error: too few arguments to function 'uuid_create'
> uuid.c:127: warning: implicit declaration of function 'uuid_load'
> uuid.c:130: warning: implicit declaration of function 'uuid_destroy'
> uuid.c:139: error: 'UUID_LEN_STR' undeclared (first use in this function)
> uuid.c:143: warning: implicit declaration of function 'uuid_export'
> uuid.c:143: error: 'UUID_FMT_STR' undeclared (first use in this function)
> uuid.c:139: warning: unused variable 'buf'
> uuid.c:147: error: 'UUID_LEN_SIV' undeclared (first use in this function)
> uuid.c:152: error: 'UUID_FMT_SIV' undeclared (first use in this function)
> uuid.c:147: warning: unused variable 'buf'
> gmake[2]: *** [uuid.o] Error 1
> gmake[2]: Leaving directory
> `/usr/ports/lang/swi-pl/work/pl-6.2.6/packages/clib'
> gmake[1]: *** [objects] Error 1
> gmake[1]: Leaving directory `/usr/ports/lang/swi-pl/work/pl-6.2.6/packages'
> gmake: *** [packages] Error 2
> *** [do-build] Error code 1
> 
> Stop in /usr/ports/lang/swi-pl.
> *** [build] Error code 1
> 
> Stop in /usr/ports/lang/swi-pl.

I've discovered the reason for this:

If sysutils/sleuthkit is installed, so is also misc/e2fsprogs-libuuid.
If misc/e2fsprogs-libuuid is installed, lang/swi-pl picks up the wrong
<uuid.h> header. Instead, deinstall e2fsprogs-libuuid, install
instead misc/ossp-uuid, and then recompile lang/swi-pl.

I'd suggest adding the following dependency to swi-pl's Makefile,
so that misc/ossp-uuid gets installed (or bombs with a conflict
with misc/e2fsprogs-libuuid):

--- Makefile.orig       2013-08-01 19:47:37.000000000 +0200
+++ Makefile    2013-08-01 21:14:17.000000000 +0200
@@ -12,7 +12,8 @@
 
 LIB_DEPENDS=   gmp:${PORTSDIR}/math/gmp \
                readline:${PORTSDIR}/devel/readline \
-               jpeg:${PORTSDIR}/graphics/jpeg
+               jpeg:${PORTSDIR}/graphics/jpeg \
+               uuid:${PORTSDIR}/misc/ossp-uuid
 
 OPTIONS_SINGLE=        ODBC
 OPTIONS_SINGLE_ODBC=   IODBC UNIXODBC

Thanks,
-cphgost.

-- 
Cordula's Web. http://www.cordula.ws/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51FBC019.5070908>