Re: Help. Porting "FreeOCL" fails (atomic_ops.h missing, CLANG++ libc++ issues ...)

"O. Hartmann" <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports,gmane.os.freebsd.performance
Message-ID <[email protected]>
Hello Dimitry,

thanks for your response and patches.


On 09/06/12 14:51, Dimitry Andric wrote:
> On 2012-09-05 16:45, O. Hartmann wrote:
> ...
>> Well, I tried LLVM/CLANG, but Cmake of the sources fairly fails many
>> checks especuially for OpenMP.
> 
> Yes, it is currently not supported.  I am not sure if there are serious
> attempts to add it.
> 
> 
>> Using clang++ requisites the usage of the
>> new libc++ (CXXFLAGS+= -stdlib=libc++). But this fails with this error:
> ...
>> /usr/ports/devel/freeocl/work/FreeOCL-0.3.6-Source/src/parser/parser.h:118:15:
>>
>> error: no viable conversion from 'std::__1::basic_istream<char>' to
>> 'const bool'
>>                          const bool ok = in.get(c);
>>                                     ^    ~~~~~~~~~
> 
> This is a bug in FreeOCL.  The istream::get() function returns an
> istream reference, which can't be cast directly to bool.  However, there
> is a negation operator defined for istream, so the line can be changed
> to:
> 
>                          const bool ok = !!in.get(c);
> 
> I have attached a patch for the port as I have built it here with clang.
> I didn't add the dependency on atomic_ops yet, but it should be fairly
> trivial.

I fixed that, I forgot the pkg-plist, also. Will followup the PR I sent.
it is a simple line:

BUILD_DEPENDS=	...

> 
> Note I also needed a fix for Mk/bsd.cmake.mk, otherwise the required
> ${CPPFLAGS} would not be passed along to CMake, and then the build would
> still fail to find the atomic_ops headers in /usr/local/include.

Is this going to be fixed with your patch in the ports tree?

I'm amazed by the speed you came up with the patches ...;-)

My port request can be found here:

http://www.freebsd.org/cgi/query-pr.cgi?pr=171376

and one for providing the OpenCL header:

http://www.freebsd.org/cgi/query-pr.cgi?pr=171375

Matthieu Volat also stated that there is another promising OpenCL port
"Portable OpenCL", pocl. It seems to have a better LLVM support by design:

http://sourceforge.net/apps/mediawiki/pocl/index.php?title=Main_Page

Attached you'll find my first naiv attempt to build a port-Makefile, but
I fail to fetch(1), since there is an authentication error while trying
to fetch from a HTTPS:// source.

My abilities in depp-insight-development are limited, so I'm happy if
some experienced developers could also look at those software projects
and help making a port ;-)

it would be nice having FreeOCL and portable OCL for comparison purposes
available on FreeBSD. I still have the hope to "lurd" more developers
and scientists back to FreeBSD. Never mind ...

oh
Makefile (text/plain, 471 B)
PORTNAME=		pocl
PORTVERSION=		0.6
CATEGORIES=             devel

MAINTAINER=             [email protected]
COMMENT=		Portable OpenCL - an efficient open source (MIT-licensed) implementation of the OpenCL 1.2 standard.

MASTER_SITES=		https://launchpad.net/pocl/${PORTVERSION}/0.6.0/+download/

#CONFLICTS=		freeocl

CXXFLAGS+=		-stdlib=libc++

LIB_DEPENDS=		ltdl:${PORTSDIR}/devel/libltdl

#USE_GMAKE=		yes
GNU_CONFIGURE=		yes

USE_LDCONFIG=		yes

.include <bsd.port.mk>
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQEcBAEBAgAGBQJQSK1zAAoJEOgBcD7A/5N8GVUH/A3OIDJSmhXV/QImCnV5nRvp
YeumzzpO8WB7LnMVS2L439wZ4WKjiinPOJCV0qA8GLB2GqyLhW0f36dqD200tZmm
nObZxm6W6E2o5acleeVVV3RSdA9PklKomUIDs4qMNr83Cmy+gUIOZD/sTGcnc7xc
IBnHs2JjMA5nCrIbfZRL5PmVwckPeT8xPY1bvgVSNusxfQa2DjQzig+0J5K77wiL
77wxUaRz6BVRpcfZJW0F8QlCRgaxvBUIGhSpEn48gNfpmg5JpTNJpVJiqSLCZk5E
IvCl0Fa4jQx5HCENVXkYwiEb7bhlDaL/MteRBpnIPNuIRoDMMLTCBr65NnpWSJY=
=upkW
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.