build guile-dbi

2019-12-15 Thread Java House
Hello

I am trying to built the guile-dbi but I am having issues.
Using FreeBSD 12.1 I followed instructions from here
https://github.com/opencog/guile-dbi

when trying to run gmake I get multiple error: duplicate symbol
Any ideas on how to resolve this?
Kind Regards
Nikolas

$ gmake
gmake  all-recursive
gmake[1]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build'
Making all in libltdl
gmake[2]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/libltdl'
gmake  all-am
gmake[3]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/libltdl'
gmake[3]: Leaving directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/libltdl'
gmake[2]: Leaving directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/libltdl'
Making all in src
gmake[2]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/src'
gmake  all-recursive
gmake[3]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/src'
Making all in dbi
gmake[4]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/src/dbi'
gmake[4]: Nothing to be done for 'all'.
gmake[4]: Leaving directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/src/dbi'
Making all in test
gmake[4]: Entering directory
'/usr/home/nikolas/Downloads/guile-dbi-guile-dbi-2.1.7/guile-dbi/build/src/test'
  CCLD libguile-dbd-test.la
/usr/bin/ld: error: duplicate symbol: lt_dlpreload
>>> defined at preopen.c:316 (../../libltdl/loaders/preopen.c:316)
>>>libltdlc_la-preopen.o:(lt_dlpreload) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at preopen.c:316 (../../libltdl/loaders/preopen.c:316)
>>>libltdlc_la-preopen.o:(.text+0x2E0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt_dlpreload_default
>>> defined at preopen.c:306 (../../libltdl/loaders/preopen.c:306)
>>>libltdlc_la-preopen.o:(lt_dlpreload_default) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at preopen.c:306 (../../libltdl/loaders/preopen.c:306)
>>>libltdlc_la-preopen.o:(.text+0x2D0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt_dlpreload_open
>>> defined at preopen.c:342 (../../libltdl/loaders/preopen.c:342)
>>>libltdlc_la-preopen.o:(lt_dlpreload_open) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at preopen.c:342 (../../libltdl/loaders/preopen.c:342)
>>>libltdlc_la-preopen.o:(.text+0x3D0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: preopen_LTX_get_vtable
>>> defined at preopen.c:63 (../../libltdl/loaders/preopen.c:63)
>>>libltdlc_la-preopen.o:(preopen_LTX_get_vtable) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at preopen.c:63 (../../libltdl/loaders/preopen.c:63)
>>>libltdlc_la-preopen.o:(.text+0x0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__alloc_die
>>> defined at lt__alloc.c:40 (../../libltdl/lt__alloc.c:40)
>>>libltdlc_la-lt__alloc.o:(lt__alloc_die) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at lt__alloc.c:40 (../../libltdl/lt__alloc.c:40)
>>>libltdlc_la-lt__alloc.o:(.data+0x0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__malloc
>>> defined at lt__alloc.c:52 (../../libltdl/lt__alloc.c:52)
>>>libltdlc_la-lt__alloc.o:(lt__malloc) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at lt__alloc.c:52 (../../libltdl/lt__alloc.c:52)
>>>libltdlc_la-lt__alloc.o:(.text+0x30) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__memdup
>>> defined at lt__alloc.c:83 (../../libltdl/lt__alloc.c:83)
>>>libltdlc_la-lt__alloc.o:(lt__memdup) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at lt__alloc.c:83 (../../libltdl/lt__alloc.c:83)
>>>libltdlc_la-lt__alloc.o:(.text+0xD0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__realloc
>>> defined at lt__alloc.c:74 (../../libltdl/lt__alloc.c:74)
>>>libltdlc_la-lt__alloc.o:(lt__realloc) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at lt__alloc.c:74 (../../libltdl/lt__alloc.c:74)
>>>libltdlc_la-lt__alloc.o:(.text+0xA0) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__strdup
>>> defined at lt__alloc.c:94 (../../libltdl/lt__alloc.c:94)
>>>libltdlc_la-lt__alloc.o:(lt__strdup) in archive
../../libltdl/.libs/libltdlc.a
>>> defined at lt__alloc.c:94 (../../libltdl/lt__alloc.c:94)
>>>libltdlc_la-lt__alloc.o:(.text+0x120) in archive
../../libltdl/.libs/libltdlc.a

/usr/bin/ld: error: duplicate symbol: lt__zalloc
>>> defined at lt__alloc.c:63 (../../libltdl/lt_

Re: GNU Guile 2.9.7 Released [beta]

2019-12-15 Thread Amirouche Boubekki
Le sam. 14 déc. 2019 à 19:03, Amirouche Boubekki
 a écrit :
>
> Le ven. 13 déc. 2019 à 14:31, Andy Wingo  a écrit :
> >
> > We are pleased to announce GNU Guile release 2.9.7.  This is the seventh
> > and hopefully next-to-last pre-release of what will eventually become
> > the 3.0 release series.
>
> I tested with nomunofu v0.2.0 (http://hyper.dev/nomunofu-v0.2.0.tar.gz)
>
> The import process is 2% faster using Guile 2.9.7 compared to Guile 2.9.6.
>
> The import process is between 3 and 4 times slower a similar database
> written in C called 4store. The import process is 5 times slower than
> Virtuoso.
>
> Those tests were done against a test file that is much smaller than memory.

I did some tests against more data around 5GB with 32GB of RAM available.

The query with a cold cache is much faster using guile:

cold cache: 0.027838s
hot cache: 0.023536s

The timings for virtuoso with the same query on first start:

cold cache: 0.744s
hot cache: 0.008s

After restarting virtuoso, I got the following timings for the same query:

first query: 0.058s
second query: 0.008s

In the case the cache is cold, the query is 27 times faster with guile
nomunofu. After restarting virtuoso, guile-nomunofu first query is two
times faster.

Disclaimer: benchmarking is a dark art, take those numbers with a grain of salt.


-- 
Amirouche ~ https://hyper.dev



Guile-Gcrypt 0.2.1 released

2019-12-15 Thread Ludovic Courtès
I’m pleased to announce Guile-Gcrypt version 0.2.1:

  git clone https://notabug.org/cwebber/guile-gcrypt.git
  cd guile-gcrypt
  git checkout v0.2.1  # or d7b3aab53d6efd62c7a5990b291ca91ca9637d46
  git tag -v v0.2.1

The ‘git tag -v’ command checks the authenticity of your checkout.
You may need to retrieve the signing key first:

  gpg --keyserver pool.sks-keyservers.net \
  --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

Guile-Gcrypt provides Guile 2.x/3.0 bindings to the GNU Libgcrypt
cryptography library.  It provides modules for cryptographic hash
functions, message authentication codes (MAC), public-key cryptography,
strong randomness, and more.

Excerpt from the ‘NEWS’ file:

  * Changes in 0.2.1 (since 0.2.0)

  ** libgcrypt is now always properly initialized (https://bugs.gnu.org/37616)
  ** (gcrypt base64) no longer imports (rnrs)

Guile-Gcrypt does not currently wrap all the Libgcrypt API.  Your help
in improving it is very welcome!  For bug reports and patches, see:

  https://notabug.org/cwebber/guile-gcrypt

Plain email to Chris or myself or guile-user would also work fine.  :-)

Ludo’.


signature.asc
Description: PGP signature


[ANN] nyacc 0.99.3 released

2019-12-15 Thread Matt Wette

I am releasing another pre-1.00 version as some non-trivial fixes have been 
added.

oops: Not mentioned in NEWS is that Makefiles now use "$(MAKE)" instead of 
"make"

NYACC, for Not Yet Another Compiler Compiler, is set of guile modules for
generating parsers and lexical analyzers.  It also provides sample parsers
and pretty-printers using SXML trees as an intermediate representation.

It provides a decent C parser and a `FFI Helper' tool to help create
Guile Scheme bindings for C-based libraries.

It provides (partially implemented) compilers based on above mentioned
parsers to allow execution with Guile as extension languages.

V0.99.3 NEWS:
* in ffi-help.scm, filter "libm" from being added to dynamic-link:
  on Ubuntu libm.so is a text file which referneces another libm.so;
  dlopen() does not follow the reference, so just filter out since it
  is already linked into guile
* the C parser still breaks where typedefs are used otherwise, like
typedef int t; int foo(t *t);  // in libxlsxwriter
* updated canize-enum-defs to use c99-eval-cx instead of cpp-eval
  which was a hack; also cleaned up canize to work with comments
  as attributes instead of elements; added test case

NYACC maturity is production/stable level.

NYACC is free software; the full source distribution is available through

* the tarball repository:
https://download.savannah.gnu.org/releases/nyacc/

* the git repository:
git://git.savannah.nongnu.org/nyacc.git

home page, project page and user's guides:
* https://www.nongnu.org/nyacc
* https://savannah.nongnu.org/projects/nyacc
* https://www.nongnu.org/nyacc/nyacc-ug.html
* https://www.nongnu.org/nyacc/ffi-help.html

Report bugs:
* https://savannah.nongnu.org/bugs/?func=additem&group=nyacc

Get support:
* https://savannah.nongnu.org/support/?group=nyacc




Re: [ANN] nyacc 0.99.3 released

2019-12-15 Thread Brett Gilio
Matt Wette  writes:

> I am releasing another pre-1.00 version as some non-trivial fixes have been 
> added.
>
> oops: Not mentioned in NEWS is that Makefiles now use "$(MAKE)" instead of 
> "make"
>
> NYACC, for Not Yet Another Compiler Compiler, is set of guile modules for
> generating parsers and lexical analyzers.  It also provides sample parsers
> and pretty-printers using SXML trees as an intermediate representation.
>
> It provides a decent C parser and a `FFI Helper' tool to help create
> Guile Scheme bindings for C-based libraries.
>
> It provides (partially implemented) compilers based on above mentioned
> parsers to allow execution with Guile as extension languages.
>
> V0.99.3 NEWS:
>   * in ffi-help.scm, filter "libm" from being added to dynamic-link:
> on Ubuntu libm.so is a text file which referneces another libm.so;
> dlopen() does not follow the reference, so just filter out since it
> is already linked into guile
>   * the C parser still breaks where typedefs are used otherwise, like
>   typedef int t; int foo(t *t);  // in libxlsxwriter
>   * updated canize-enum-defs to use c99-eval-cx instead of cpp-eval
> which was a hack; also cleaned up canize to work with comments
> as attributes instead of elements; added test case
>
> NYACC maturity is production/stable level.
>
> NYACC is free software; the full source distribution is available through
>
> * the tarball repository:
> https://download.savannah.gnu.org/releases/nyacc/
>
> * the git repository:
> git://git.savannah.nongnu.org/nyacc.git
>
> home page, project page and user's guides:
> * https://www.nongnu.org/nyacc
> * https://savannah.nongnu.org/projects/nyacc
> * https://www.nongnu.org/nyacc/nyacc-ug.html
> * https://www.nongnu.org/nyacc/ffi-help.html
>
> Report bugs:
> * https://savannah.nongnu.org/bugs/?func=additem&group=nyacc
>
> Get support:
> * https://savannah.nongnu.org/support/?group=nyacc
>
>

Tremendous work! Thank you!

-- 
Brett M. Gilio
Homepage -- https://scm.pw/
GNU Guix -- https://guix.gnu.org/



Re: Guile-Gcrypt 0.2.1 released

2019-12-15 Thread Brett Gilio
Ludovic Courtès  writes:

> I’m pleased to announce Guile-Gcrypt version 0.2.1:
>
>   git clone https://notabug.org/cwebber/guile-gcrypt.git
>   cd guile-gcrypt
>   git checkout v0.2.1  # or d7b3aab53d6efd62c7a5990b291ca91ca9637d46
>   git tag -v v0.2.1
>
> The ‘git tag -v’ command checks the authenticity of your checkout.
> You may need to retrieve the signing key first:
>
>   gpg --keyserver pool.sks-keyservers.net \
>   --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
>
> Guile-Gcrypt provides Guile 2.x/3.0 bindings to the GNU Libgcrypt
> cryptography library.  It provides modules for cryptographic hash
> functions, message authentication codes (MAC), public-key cryptography,
> strong randomness, and more.
>
> Excerpt from the ‘NEWS’ file:
>
>   * Changes in 0.2.1 (since 0.2.0)
>
>   ** libgcrypt is now always properly initialized (https://bugs.gnu.org/37616)
>   ** (gcrypt base64) no longer imports (rnrs)
>
> Guile-Gcrypt does not currently wrap all the Libgcrypt API.  Your help
> in improving it is very welcome!  For bug reports and patches, see:
>
>   https://notabug.org/cwebber/guile-gcrypt
>
> Plain email to Chris or myself or guile-user would also work fine.  :-)
>
> Ludo’.
>

Terrific work Ludo' and Chris! Always happy to see the Guile community
hard at work.

-- 
Brett M. Gilio
Homepage -- https://scm.pw/
GNU Guix -- https://guix.gnu.org/



[ANN] Gash 0.2.0 released

2019-12-15 Thread Timothy Sample
Hi everybody,

I am very pleased to announce that Gash version 0.2.0 has been released.
It represents 58 commits from two authors over the course of about six
months.

About
=

Gash is a POSIX-compatible shell written in Guile Scheme.  It provides
both the shell interface, as well as a Guile library for parsing shell
scripts.  Gash is designed to bootstrap Bash as part of the Guix
bootstrap process.  We are planning to develop Gash into a
general-purpose shell and tool for building interfaces between Scheme
and the shell.

Download


You can download Gash 0.2.0 from

  http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz

and verify its authenticity with its signature file

  http://download.savannah.nongnu.org/releases/gash/gash-0.2.0.tar.gz.sig

News


The big news for this release is that Gash can now replace Bash in
building all of the packages used in Guix’s “Reduced Binary Seed
Bootstrap” .
Whereas the previous release could build Bash itself, this release can
build everything from Mes to GCC and then build Bash.

To do so, Gash needed many improvements.  Here are a few highlights.

  • Pattern-based and asserting variable operators (‘#’, ‘##’, ‘%’,
‘%%’, and ‘?’) are now supported.
  • The ‘read’ special built-in now supports field splitting and
logical lines.
  • Temporary variable assignments are now passed into function calls
and invocations of regular built-ins.
  • Pathname expansion now works for absolute paths, paths with quoted
slashes, paths with repeated slashes, and paths with dot and
dot-dot components.

There are also some significant fixes in resource handling and parsing,
and a handful of other improvements.  Please see the NEWS file for
details.

What’s next?


The next big thing for the Gash project will be the release of a sibling
project which contains Scheme versions of the other utilities
(“coreutils&co”) used in the Guix bootstrap process.

Beyond bootstrapping, here’s what’s in store:

  • Asynchronous commands and job control;
  • Tilde expansion;
  • Becoming a more useful interactive shell (in particular, prompting
the user for more input if they enter a newline before completing a
command); and
  • A shell compiler for Guile along with a language specification.

Contributing


The primary Git repository is available on Savannah.  It can be cloned
from  and browsed on the Web
at .

If you would like to help out with this project, please get in touch at
.  This is also where you can submit bugs!


Thanks to everyone who has helped out so far!


-- Tim