Changes between Initial Version and Version 1 of Ticket #1842


Ignore:
Timestamp:
08/26/24 18:33:22 (3 months ago)
Author:
Mario Domenech Goulart
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1842 – Description

    initial v1  
    1212
    1313{{{
    14 <mario-goulart> klovett: apparently srfi-29 is installing the srfi-29 bundle via the `data' section
    15                 in the .egg file.  That makes the bundle be installed under PREFIX/share/chicken
    16                 when CHICKEN_INSTALL_PREFIX is *unset*.  When CHICKEN_INSTALL_PREFIX *is set*
    17                 (that's what salmonella does), the srfi-29 bundle is installed under PREFIX/share
    18                 (no chicken directory).
    19 <mario-goulart> Then srfi-29 looks for bundles under include-path, which resolves to
    20                 C_INSTALL_SHARE_HOME when CHICKEN_INCLUDE_PATH is *unset*.  In that case,
    21                 PREFIX/share/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX). However when
    22                 CHICKEN_INCLUDE_PATH *is set*, chicken-install installs the bundle under
    23                 PREFIX/share, but in runtime it looks for bundles under include-path, which is the
    24                 value of CHICKEN_INCLUDE_PATH, which is set by salmonella as
    25 <mario-goulart> PREFIX/share/chicken.
     14<mario-goulart> klovett: apparently srfi-29 is installing the srfi-29
     15                bundle via the `data' section in the .egg file.  That
     16                makes the bundle be installed under
     17                PREFIX/share/chicken when CHICKEN_INSTALL_PREFIX is
     18                *unset*.  When CHICKEN_INSTALL_PREFIX *is set* (that's
     19                what salmonella does), the srfi-29 bundle is installed
     20                under PREFIX/share (no chicken directory).
     21<mario-goulart> Then srfi-29 looks for bundles under include-path,
     22                which resolves to C_INSTALL_SHARE_HOME when
     23                CHICKEN_INCLUDE_PATH is *unset*.  In that case,
     24                PREFIX/share/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX). However
     25                when CHICKEN_INCLUDE_PATH *is set*, chicken-install
     26                installs the bundle under PREFIX/share, but in runtime
     27                it looks for bundles under include-path, which is the
     28                value of CHICKEN_INCLUDE_PATH, which is set by
     29                salmonella as PREFIX/share/chicken.
    2630<Bunny351> hm...
    27 <mario-goulart> Now I don't know if salmonella is setting CHICKEN_INCLUDE_PATH wrongly of if the
    28                 default values given to override-prefix in egg-compile.scm is wrong.
     31<mario-goulart> Now I don't know if salmonella is setting
     32                CHICKEN_INCLUDE_PATH wrongly of if the default values
     33                given to override-prefix in egg-compile.scm is wrong.
    2934<Bunny351> possible
    30 <mario-goulart> The default values given to override-prefix definitely don't match the values of
    31                 C_INSTALL_INCLUDE_HOME and C_INSTALL_SHARE_HOME.
     35<mario-goulart> The default values given to override-prefix definitely
     36                don't match the values of C_INSTALL_INCLUDE_HOME and
     37                C_INSTALL_SHARE_HOME.
    3238<klovett> originally it only looked in (chicken-home)
    33 <mario-goulart> I think that was the same as what now (include-path) is, if I'm not mistaken.
     39<mario-goulart> I think that was the same as what now (include-path)
     40                is, if I'm not mistaken.
    3441<klovett> well, one is a set
    35 <mario-goulart> I _think_ (don't quote me on that) the root cause of the issue is the inconsistency
    36                 between the values of C_INSTALL_INCLUDE_HOME/C_INSTALL_SHARE_HOME and the way that
    37                 override-prefix assembles paths when when CHICKEN_INSTALL_PREFIX is set.
    38 <klovett> is something is chicken.platform returning PREFIX/share? i can code the envvar test &
    39           subsequent path assumption but rather not.
    40 <mario-goulart> That's part of the problem I'm implying.  You can get PREFIX/share *if*
    41                 CHICKEN_INCLUDE_PATH is set to PREFIX/share.  If CHICKEN_INCLUDE_PATH is *not set*
     42<mario-goulart> I _think_ (don't quote me on that) the root cause of
     43                the issue is the inconsistency between the values of
     44                C_INSTALL_INCLUDE_HOME/C_INSTALL_SHARE_HOME and the
     45                way that override-prefix assembles paths when when
     46                CHICKEN_INSTALL_PREFIX is set.
     47<klovett> is something is chicken.platform returning PREFIX/share? i
     48          can code the envvar test & subsequent path assumption but
     49          rather not.
     50<mario-goulart> That's part of the problem I'm implying.  You can get
     51                PREFIX/share *if* CHICKEN_INCLUDE_PATH is set to
     52                PREFIX/share.  If CHICKEN_INCLUDE_PATH is *not set*
    4253                you'll get PREFIX/share/chicken (or, more accurately,
    4354                PREFIX/share/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)).
    4455<mario-goulart> This whole thing is very confusing.
    45 <klovett> there is not a '(data-path)' so i will assume if CHICKEN_INSTALL_PREFIX is set then push
    46           "...PREFIX/share" onto the search list
    47 <mario-goulart> I think it would be better to wait a bit.  I _think_ srfi-29 is probably doing the
    48                 right thing.  The issue _might_ be in salmonella or in CHICKEN.
     56<klovett> there is not a '(data-path)' so i will assume if
     57          CHICKEN_INSTALL_PREFIX is set then push "...PREFIX/share"
     58          onto the search list
     59<mario-goulart> I think it would be better to wait a bit.  I _think_
     60                srfi-29 is probably doing the right thing.  The issue
     61                _might_ be in salmonella or in CHICKEN.
    4962<klovett> ok
    5063<klovett> looks like a job for chicken.platform#data-repository or similar