guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Weak tables harmful to GC?


From: Ricardo Wurmus
Subject: Re: Weak tables harmful to GC?
Date: Wed, 25 Oct 2017 08:38:35 +0200
User-agent: mu4e 0.9.18; emacs 25.3.1

[resending this because it may not have arrived]

Ricardo Wurmus <address@hidden> writes:

> Hi Ludo,
>
> does this apply to the latest release of Guile 2.2.2?  I’ve created this
> package definition:
>
> --8<---------------cut here---------------start------------->8---
> (define-public guile-2.2-awesome
>   (package (inherit guile-2.2)
>     (name "guile-awesome")
>     (source (origin (inherit (package-source guile-2.2))
>        (patches (list 
> "0001-Remove-weak-tables-and-revert-to-weak-hash-tables.patch"
>                       
> "0002-Keep-weak-hash-table-item-count-consistent.patch"))))))
>
> --8<---------------cut here---------------end--------------->8---
>
> But the build fails:
>
> --8<---------------cut here---------------start------------->8---
> In file included from weak-table.c:37:0:
> ../libguile/weak-table.h:34:3: error: redeclaration of enumerator 
> 'SCM_WEAK_TABLE_KIND_KEY'
>    SCM_WEAK_TABLE_KIND_KEY,
>    ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:36:3: note: previous definition of 
> 'SCM_WEAK_TABLE_KIND_KEY' was here
>    SCM_WEAK_TABLE_KIND_KEY = 1,
>    ^
> In file included from weak-table.c:37:0:
> ../libguile/weak-table.h:35:3: error: redeclaration of enumerator 
> 'SCM_WEAK_TABLE_KIND_VALUE'
>    SCM_WEAK_TABLE_KIND_VALUE,
>    ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:37:3: note: previous definition of 
> 'SCM_WEAK_TABLE_KIND_VALUE' was here
>    SCM_WEAK_TABLE_KIND_VALUE = 2,
>    ^
> In file included from weak-table.c:37:0:
> ../libguile/weak-table.h:36:3: error: redeclaration of enumerator 
> 'SCM_WEAK_TABLE_KIND_BOTH'
>    SCM_WEAK_TABLE_KIND_BOTH,
>    ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:38:3: note: previous definition of 
> 'SCM_WEAK_TABLE_KIND_BOTH' was here
>    SCM_WEAK_TABLE_KIND_BOTH = 1 | 2
>    ^
> In file included from weak-table.c:37:0:
> ../libguile/weak-table.h:37:3: error: conflicting types for 
> 'scm_t_weak_table_kind'
>  } scm_t_weak_table_kind;
>    ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:39:3: note: previous declaration of 
> 'scm_t_weak_table_kind' was here
>  } scm_t_weak_table_kind;
>    ^
> In file included from weak-table.c:37:0:
> ../libguile/weak-table.h:46:18: error: conflicting types for 
> 'scm_c_make_weak_table'
>  SCM_INTERNAL SCM scm_c_make_weak_table (unsigned long k,
>                   ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:179:18: note: previous declaration of 
> 'scm_c_make_weak_table' was here
>  SCM_INTERNAL SCM scm_c_make_weak_table (unsigned long k,
>                   ^
> weak-table.c: In function 'make_weak_table':
> weak-table.c:798:20: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>    return scm_cell (scm_tc7_weak_table, (scm_t_bits)table);
>                     ^
> weak-table.c:798:20: note: each undeclared identifier is reported only once 
> for each function it appears in
> weak-table.c: At top level:
> weak-table.c:848:1: error: conflicting types for 'scm_c_make_weak_table'
>  scm_c_make_weak_table (unsigned long k, scm_t_weak_table_kind kind)
>  ^
> In file included from ../libguile.h:65:0,
>                  from ../libguile/programs.h:22,
>                  from ../libguile/_scm.h:85,
>                  from weak-table.c:30:
> ../libguile/hashtab.h:179:18: note: previous declaration of 
> 'scm_c_make_weak_table' was here
>  SCM_INTERNAL SCM scm_c_make_weak_table (unsigned long k,
>                   ^
> In file included from ../libguile/_scm.h:81:0,
>                  from weak-table.c:30:
> weak-table.c: In function 'scm_weak_table_p':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../libguile/boolean.h:88:28: note: in definition of macro 'scm_from_bool'
>  #define scm_from_bool(x) ((x) ? SCM_BOOL_T : SCM_BOOL_F)
>                             ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> weak-table.c:864:25: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>    return scm_from_bool (SCM_WEAK_TABLE_P (obj));
>                          ^
> In file included from ../libguile/_scm.h:40:0,
>                  from weak-table.c:30:
> weak-table.c: In function 'scm_c_weak_table_ref':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:876:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (1, table);
>    ^
> weak-table.c: In function 'scm_c_weak_table_put_x':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:898:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (1, table);
>    ^
> weak-table.c: In function 'scm_c_weak_table_remove_x':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:918:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (1, table);
>    ^
> weak-table.c: In function 'scm_weak_table_clear_x':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:965:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (1, table);
>    ^
> weak-table.c: In function 'scm_weak_table_fold':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:1028:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (3, table);
>    ^
>   SNARF  variable.doc
> weak-table.c: In function 'scm_weak_table_for_each':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:1046:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (2, table);
>    ^
> weak-table.c: In function 'scm_weak_table_map_to_list':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../config.h:2584:34: note: in definition of macro '__builtin_expect'
>  # define __builtin_expect(e, c) (e)
>                                   ^
> ../libguile/error.h:42:12: note: in expansion of macro 'SCM_UNLIKELY'
>    do { if (SCM_UNLIKELY (!(_cond)))                                     \
>             ^
> ../libguile/validate.h:124:5: note: in expansion of macro 'SCM_ASSERT_TYPE'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>      ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> ../libguile/validate.h:124:22: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>      SCM_ASSERT_TYPE (pred (var), var, pos, FUNC_NAME, msg); \
>                       ^
> ../libguile/validate.h:128:3: note: in expansion of macro 
> 'SCM_I_MAKE_VALIDATE_MSG2'
>    SCM_I_MAKE_VALIDATE_MSG2 (pos, var, SCM_ ## pred, msg)
>    ^
> weak-table.c:218:3: note: in expansion of macro 'SCM_MAKE_VALIDATE_MSG'
>    SCM_MAKE_VALIDATE_MSG (pos, arg, WEAK_TABLE_P, "weak-table")
>    ^
> weak-table.c:1063:3: note: in expansion of macro 'SCM_VALIDATE_WEAK_TABLE'
>    SCM_VALIDATE_WEAK_TABLE (2, table);
>    ^
> In file included from ../libguile/_scm.h:81:0,
>                  from weak-table.c:30:
> weak-table.c: In function 'scm_weak_key_hash_table_p':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../libguile/boolean.h:88:28: note: in definition of macro 'scm_from_bool'
>  #define scm_from_bool(x) ((x) ? SCM_BOOL_T : SCM_BOOL_F)
>                             ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> weak-table.c:1124:25: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>    return scm_from_bool (SCM_WEAK_TABLE_P (obj) &&
>                          ^
> weak-table.c: In function 'scm_weak_value_hash_table_p':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../libguile/boolean.h:88:28: note: in definition of macro 'scm_from_bool'
>  #define scm_from_bool(x) ((x) ? SCM_BOOL_T : SCM_BOOL_F)
>                             ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> weak-table.c:1135:25: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>    return scm_from_bool (SCM_WEAK_TABLE_P (obj) &&
>                          ^
> weak-table.c: In function 'scm_doubly_weak_hash_table_p':
> weak-table.c:216:47: error: 'scm_tc7_weak_table' undeclared (first use in 
> this function)
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                                                ^
> ../libguile/boolean.h:88:28: note: in definition of macro 'scm_from_bool'
>  #define scm_from_bool(x) ((x) ? SCM_BOOL_T : SCM_BOOL_F)
>                             ^
> ../libguile/tags.h:396:34: note: in expansion of macro 'SCM_HAS_HEAP_TYPE'
>  #define SCM_HAS_TYP7(x, tag)    (SCM_HAS_HEAP_TYPE (x, SCM_TYP7, tag))
>                                   ^
> weak-table.c:216:30: note: in expansion of macro 'SCM_HAS_TYP7'
>  #define SCM_WEAK_TABLE_P(x) (SCM_HAS_TYP7 (x, scm_tc7_weak_table))
>                               ^
> weak-table.c:1146:25: note: in expansion of macro 'SCM_WEAK_TABLE_P'
>    return scm_from_bool (SCM_WEAK_TABLE_P (obj) &&
>                          ^
>   SNARF  vectors.doc
> weak-table.c: In function 'make_weak_table':
> weak-table.c:799:1: warning: control reaches end of non-void function 
> [-Wreturn-type]
>  }
>  ^
> weak-table.c: In function 'scm_weak_table_p':
> weak-table.c:865:1: warning: control reaches end of non-void function 
> [-Wreturn-type]
>  }
>  ^
>   SNARF  version.doc
>   SNARF  vports.doc
>   SNARF  weak-set.doc
>   SNARF  weak-table.doc
> weak-table.c: In function 'scm_weak_key_hash_table_p':
> weak-table.c:1126:1: warning: control reaches end of non-void function 
> [-Wreturn-type]
>  }
>  ^
> weak-table.c: In function 'scm_weak_value_hash_table_p':
> weak-table.c:1137:1: warning: control reaches end of non-void function 
> [-Wreturn-type]
>  }
>  ^
> weak-table.c: In function 'scm_doubly_weak_hash_table_p':
> weak-table.c:1148:1: warning: control reaches end of non-void function 
> [-Wreturn-type]
>  }
>  ^
>   SNARF  weak-vector.doc
>   SNARF  posix.doc
>   SNARF  net_db.doc
>   SNARF  socket.doc
>   SNARF  regex-posix.doc
> make[3]: *** [Makefile:3368: libguile_2.2_la-weak-table.lo] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory 
> '/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/libguile'
> make[2]: *** [Makefile:2299: all] Error 2
> make[2]: Leaving directory 
> '/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2/libguile'
> make[1]: *** [Makefile:1857: all-recursive] Error 1
> make[1]: Leaving directory 
> '/tmp/guix-build-guile-awesome-2.2.2.drv-0/guile-2.2.2'
> make: *** [Makefile:1743: all] Error 2
> phase `build' failed after 7.7 seconds
> builder for 
> `/gnu/store/hgkdv4gx0rvhi8aawkh9ykyr50vi3lv0-guile-awesome-2.2.2.drv' failed 
> with exit code 1
> @ build-failed 
> /gnu/store/hgkdv4gx0rvhi8aawkh9ykyr50vi3lv0-guile-awesome-2.2.2.drv - 1 
> builder for 
> `/gnu/store/hgkdv4gx0rvhi8aawkh9ykyr50vi3lv0-guile-awesome-2.2.2.drv' failed 
> with exit code 1
> guix build: error: build failed: build of
> `/gnu/store/hgkdv4gx0rvhi8aawkh9ykyr50vi3lv0-guile-awesome-2.2.2.drv' failed
> --8<---------------cut here---------------end--------------->8---
>
> Am I doing something wrong?


-- 
Ricardo
  
  GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
  https://elephly.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]