Neil Jerram | 14 Mar 18:37 2009
Picon

[bug #25865] scm_take_locale_symboln doesn't intern the symbol that it creates


URL:
  <http://savannah.gnu.org/bugs/?25865>

                 Summary: scm_take_locale_symboln doesn't intern the symbol
that it creates
                 Project: Guile
            Submitted by: ossau
            Submitted on: Sat 14 Mar 2009 17:37:10 GMT
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

This is inferred from code reading.

The doc for scm_take_locale_symboln says:

"Like  <at> code{scm_from_locale_symbol} and  <at> code{scm_from_locale_symboln},
respectively, but also frees  <at> var{str} with  <at> code{free} eventually."

scm_from_locale_symboln creates an interned symbol, so it follows that
(Continue reading)

Ludovic Courtès | 18 Mar 21:47 2009
Picon

[bug #25865] scm_take_locale_symboln doesn't intern the symbol that it creates


Update of bug #25865 (project guile):

             Assigned to:                    None => civodul                

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?25865>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/

Ludovic Courtès | 18 Mar 22:44 2009
Picon

[bug #25865] scm_take_locale_symboln doesn't intern the symbol that it creates


Follow-up Comment #1, bug #25865 (project guile):

Hello!

I've come up with the following patch, which also refactorizes duplciated
bits.  I'll commit it if there's no objection.

Thanks,
Ludo'.

(file #17730)
    _______________________________________________________

Additional Item Attachment:

File name: 0001-Have-scm_take_locale_symbol-return-an-interned.patch Size:8
KB

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?25865>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/

(Continue reading)

Neil Jerram | 19 Mar 01:20 2009
Picon

Re: [bug #25865] scm_take_locale_symboln doesn't intern the symbol that it creates

Ludovic Courtès <INVALID.NOREPLY <at> gnu.org> writes:

> I've come up with the following patch, which also refactorizes duplciated
> bits.  I'll commit it if there's no objection.

The patch looks fine to me.  Thanks for fixing this!

        Neil

Picon

ERROR: In procedure scm_i_lreadparen: #<unknown port>:1:7: end of file

Hello,

  I'm having troubles to compile guile from source (guile-1.8.6). I am getting these errors:

make[3]: Entering directory `/home/Andrius/guile-1.8.6/libguile'
cat alist.doc arbiters.doc async.doc backtrace.doc boolean.doc chars.doc continuations.doc debug.doc deprecation.doc deprecated.doc discouraged.doc dynl.doc dynwind.doc environments.doc eq.doc error.doc eval.doc evalext.doc extensions.doc feature.doc fluids.doc fports.doc futures.doc gc.doc goops.doc gsubr.doc gc-mark.doc gc-segment.doc gc-malloc.doc gc-card.doc guardians.doc hash.doc hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc lang.doc list.doc load.doc macros.doc mallocs.doc modules.doc numbers.doc objects.doc objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc properties.doc random.doc rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc stackchk.doc stacks.doc stime.doc strings.doc srfi-4.doc srfi-13.doc srfi-14.doc strorder.doc strports.doc struct.doc symbols.doc threads.doc throw.doc values.doc variable.doc vectors.doc version.doc vports.doc weaks.doc ramap.doc unif.doc dynl.doc filesys.doc posix.doc net_db.doc socket.doc win32-uname.doc win32-dirent.doc win32-socket.doc inet_aton.doc mkstemp.doc | GUILE="/home/Andrius/guile-1.8.6/pre-inst-guile" ../scripts/snarf-check-and-output-texi          > guile-procedures.texi || { rm guile-procedures.texi; false; }
ERROR: In procedure scm_i_lreadparen:
ERROR: #<unknown port>:1:7: end of file
make[3]: *** [guile-procedures.texi] Error 1

My system is: WinXP with MinGW installed, also I have compiled and installed libtool-2.2.6 and gmp-4.2.4.

For the elimination of previous errors I modified the file /libguile/guile.c:
Changed lines

#ifdef __MINGW32__
# define SCM_IMPORT 1
#endif

with

#ifdef __MINGW32__
# undef SCM_IMPORT
#endif

The purpose of this modification was to eliminate these undefined references:

make[3]: Entering directory `/home/Andrius/guile-1.8.6/libguile'
/bin/sh ../libtool --tag=CC   --mode=link gcc  -D__MINGW32__ -Wall -Wmissing-prototypes -Werror   -o guile.exe guile-guile.o libguile.la -lgmp -lws2_32 -lm -lltdl
libtool: link: gcc -D__MINGW32__ -Wall -Wmissing-prototypes -Werror -o .libs/guile.exe guile-guile.o  ./.libs/libguile.a -lgmp -lws2_32 -lltdl
guile-guile.o:guile.c:(.text+0x23): undefined reference to `_imp__gdb_options'
guile-guile.o:guile.c:(.text+0x2d): undefined reference to `_imp__gdb_language'
guile-guile.o:guile.c:(.text+0x37): undefined reference to `_imp__gdb_result'
guile-guile.o:guile.c:(.text+0x41): undefined reference to `_imp__gdb_output'
guile-guile.o:guile.c:(.text+0x4b): undefined reference to `_imp__gdb_output_length'
guile-guile.o:guile.c:(.text+0x55): undefined reference to `_imp__gdb_maybe_valid_type_p'
guile-guile.o:guile.c:(.text+0x5f): undefined reference to `_imp__gdb_read'
guile-guile.o:guile.c:(.text+0x69): undefined reference to `_imp__gdb_eval'
guile-guile.o:guile.c:(.text+0x73): undefined reference to `_imp__gdb_print'
guile-guile.o:guile.c:(.text+0x7d): undefined reference to `_imp__gdb_binding'
guile-guile.o:guile.c:(.text+0x94): undefined reference to `_imp__scm_shell'
guile-guile.o:guile.c:(.text+0xe9): undefined reference to `_imp__scm_boot_guile'
collect2: ld returned 1 exit status
make[3]: *** [guile.exe] Error 1

In either way, I can't finish building the package successfully. I don't know if the modification to guile.c causes the texi errors or not. But I'd appreciate some comments on my situation.

Thank You.

P.S. feel free to ask more questions on my used configuration or anything else.

Ludovic Courtès | 19 Mar 22:25 2009
Picon

[bug #25865] scm_take_locale_symboln doesn't intern the symbol that it creates


Update of bug #25865 (project guile):

             Open/Closed:                    Open => Closed                 

    _______________________________________________________

Follow-up Comment #2:

Fixed:

 
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=8760f4694dcc8597bb72644d8a1ca1fdf18029a2

and

 
http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=05588a1acea43792f33ea632af0d316e847fa9db

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?25865>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/

Ludovic Courtès | 21 Mar 22:14 2009
Picon

Re: Conflict with HDF5 libraries

Hello,

Sorry for the late reply.

Mark Patterson <mpatterson <at> physics.queensu.ca> writes:

> GUILE scmconfig-64.h near line 83 has:
>   typedef long long long_long;
> I tracked the origin of this line to gen-scmconfig.c, line 287 and it
> is present in the recent 1.8.6 release.

As you may have noticed, this is enclosed in:

  #if (SCM_ENABLE_DEPRECATED == 1)

I.e., Guile 1.8 configured with `--disable-deprecated' doesn't have this
problem.

I suggest that we leave it in the 1.8 series for compatibility and
remove it altogether in the next stable series.  Opinions?

Thanks,
Ludo'.

Andy Wingo | 22 Mar 14:57 2009
Picon

Re: Conflict with HDF5 libraries

On Sat 21 Mar 2009 17:14, ludo <at> gnu.org (Ludovic Courtès) writes:

> Mark Patterson <mpatterson <at> physics.queensu.ca> writes:
>
>>   typedef long long long_long;
>
> I suggest that we leave it in the 1.8 series for compatibility and
> remove it altogether in the next stable series.  Opinions?

Sounds good to me.

Andy
--

-- 
http://wingolog.org/

Dennis Clarke | 22 Mar 10:08 2009

Undefined symbol _start first referenced in file .libs/libguile_la-gc_os_dep.o


In the Solaris 10 ( AMD64/x86 ) world this si what happens when we attempt
to build guile-1.8.6 with Sun Studio 12:

.
.
.
        /bin/bash ../libtool --tag=CC   --mode=compile
/opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H   -I.. -I.. -I..
-I/export/home/kuser/local/include  -xstrconst -xildoff -xarch=386
-xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c -o
socket.lo socket.c
libtool: compile:  /opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I..
-I.. -I.. -I/export/home/kuser/local/include -xstrconst -xildoff
-xarch=386 -xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c
socket.c  -KPIC -DPIC -o .libs/socket.o
libtool: compile:  /opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I..
-I.. -I.. -I/export/home/kuser/local/include -xstrconst -xildoff
-xarch=386 -xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c
socket.c -o socket.o >/dev/null 2>&1
source='regex-posix.c' object='regex-posix.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \
        /bin/bash ../libtool --tag=CC   --mode=compile
/opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H   -I.. -I.. -I..
-I/export/home/kuser/local/include  -xstrconst -xildoff -xarch=386
-xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c -o
regex-posix.lo regex-posix.c
libtool: compile:  /opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I..
-I.. -I.. -I/export/home/kuser/local/include -xstrconst -xildoff
-xarch=386 -xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c
regex-posix.c  -KPIC -DPIC -o .libs/regex-posix.o
libtool: compile:  /opt/studio/SOS12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I..
-I.. -I.. -I/export/home/kuser/local/include -xstrconst -xildoff
-xarch=386 -xnolibmil -Xa -Kpic -xregs=no%frameptr -xlibmieee -g -xs -c
regex-posix.c -o regex-posix.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=link
/opt/studio/SOS12/SUNWspro/bin/cc -I/export/home/kuser/local/include
-D_REENTRANT  -xstrconst -xildoff -xarch=386 -xnolibmil -Xa -Kpic
-xregs=no%frameptr -xlibmieee -g -xs -L/export/home/kuser/local/lib -lintl
-lsec -lc -R/export/home/kuser/local/lib -version-info 20:0:3
-export-dynamic -no-undefined -lsec -o libguile.la -rpath
/export/home/kuser/local/lib libguile_la-alist.lo libguile_la-arbiters.lo
libguile_la-async.lo libguile_la-backtrace.lo libguile_la-boolean.lo
libguile_la-chars.lo libguile_la-continuations.lo libguile_la-convert.lo
libguile_la-debug.lo libguile_la-deprecation.lo libguile_la-deprecated.lo
libguile_la-discouraged.lo libguile_la-dynwind.lo
libguile_la-environments.lo libguile_la-eq.lo libguile_la-error.lo
libguile_la-eval.lo libguile_la-evalext.lo libguile_la-extensions.lo
libguile_la-feature.lo libguile_la-fluids.lo libguile_la-fports.lo
libguile_la-futures.lo libguile_la-gc.lo libguile_la-gc-mark.lo
libguile_la-gc-segment.lo libguile_la-gc-malloc.lo libguile_la-gc-card.lo
libguile_la-gc-freelist.lo libguile_la-gc_os_dep.lo libguile_la-gdbint.lo
libguile_la-gh_data.lo libguile_la-gh_eval.lo libguile_la-gh_funcs.lo
libguile_la-gh_init.lo libguile_la-gh_io.lo libguile_la-gh_list.lo
libguile_la-gh_predicates.lo libguile_la-goops.lo libguile_la-gsubr.lo
libguile_la-guardians.lo libguile_la-hash.lo libguile_la-hashtab.lo
libguile_la-hooks.lo libguile_la-i18n.lo libguile_la-init.lo
libguile_la-inline.lo libguile_la-ioext.lo libguile_la-keywords.lo
libguile_la-lang.lo libguile_la-list.lo libguile_la-load.lo
libguile_la-macros.lo libguile_la-mallocs.lo libguile_la-modules.lo
libguile_la-numbers.lo libguile_la-objects.lo libguile_la-objprop.lo
libguile_la-options.lo libguile_la-pairs.lo libguile_la-ports.lo
libguile_la-print.lo libguile_la-procprop.lo libguile_la-procs.lo
libguile_la-properties.lo libguile_la-random.lo libguile_la-rdelim.lo
libguile_la-read.lo libguile_la-root.lo libguile_la-rw.lo
libguile_la-scmsigs.lo libguile_la-script.lo libguile_la-simpos.lo
libguile_la-smob.lo libguile_la-sort.lo libguile_la-srcprop.lo
libguile_la-stackchk.lo libguile_la-stacks.lo libguile_la-stime.lo
libguile_la-strings.lo libguile_la-srfi-4.lo libguile_la-srfi-13.lo
libguile_la-srfi-14.lo libguile_la-strorder.lo libguile_la-strports.lo
libguile_la-struct.lo libguile_la-symbols.lo libguile_la-threads.lo
libguile_la-null-threads.lo libguile_la-throw.lo libguile_la-values.lo
libguile_la-variable.lo libguile_la-vectors.lo libguile_la-version.lo
libguile_la-vports.lo libguile_la-weaks.lo libguile_la-ramap.lo
libguile_la-unif.lo dynl.lo filesys.lo posix.lo net_db.lo socket.lo
regex-posix.lo -lrt -lpthread -lgmp -lsocket -lnsl -lm -lltdl
libtool: link: /opt/studio/SOS12/SUNWspro/bin/cc -G -z defs -h
libguile.so.17 -o .libs/libguile.so.17.3.0  .libs/libguile_la-alist.o
.libs/libguile_la-arbiters.o .libs/libguile_la-async.o
.libs/libguile_la-backtrace.o .libs/libguile_la-boolean.o
.libs/libguile_la-chars.o .libs/libguile_la-continuations.o
.libs/libguile_la-convert.o .libs/libguile_la-debug.o
.libs/libguile_la-deprecation.o .libs/libguile_la-deprecated.o
.libs/libguile_la-discouraged.o .libs/libguile_la-dynwind.o
.libs/libguile_la-environments.o .libs/libguile_la-eq.o
.libs/libguile_la-error.o .libs/libguile_la-eval.o
.libs/libguile_la-evalext.o .libs/libguile_la-extensions.o
.libs/libguile_la-feature.o .libs/libguile_la-fluids.o
.libs/libguile_la-fports.o .libs/libguile_la-futures.o
.libs/libguile_la-gc.o .libs/libguile_la-gc-mark.o
.libs/libguile_la-gc-segment.o .libs/libguile_la-gc-malloc.o
.libs/libguile_la-gc-card.o .libs/libguile_la-gc-freelist.o
.libs/libguile_la-gc_os_dep.o .libs/libguile_la-gdbint.o
.libs/libguile_la-gh_data.o .libs/libguile_la-gh_eval.o
.libs/libguile_la-gh_funcs.o .libs/libguile_la-gh_init.o
.libs/libguile_la-gh_io.o .libs/libguile_la-gh_list.o
.libs/libguile_la-gh_predicates.o .libs/libguile_la-goops.o
.libs/libguile_la-gsubr.o .libs/libguile_la-guardians.o
.libs/libguile_la-hash.o .libs/libguile_la-hashtab.o
.libs/libguile_la-hooks.o .libs/libguile_la-i18n.o
.libs/libguile_la-init.o .libs/libguile_la-inline.o
.libs/libguile_la-ioext.o .libs/libguile_la-keywords.o
.libs/libguile_la-lang.o .libs/libguile_la-list.o .libs/libguile_la-load.o
.libs/libguile_la-macros.o .libs/libguile_la-mallocs.o
.libs/libguile_la-modules.o .libs/libguile_la-numbers.o
.libs/libguile_la-objects.o .libs/libguile_la-objprop.o
.libs/libguile_la-options.o .libs/libguile_la-pairs.o
.libs/libguile_la-ports.o .libs/libguile_la-print.o
.libs/libguile_la-procprop.o .libs/libguile_la-procs.o
.libs/libguile_la-properties.o .libs/libguile_la-random.o
.libs/libguile_la-rdelim.o .libs/libguile_la-read.o
.libs/libguile_la-root.o .libs/libguile_la-rw.o
.libs/libguile_la-scmsigs.o .libs/libguile_la-script.o
.libs/libguile_la-simpos.o .libs/libguile_la-smob.o
.libs/libguile_la-sort.o .libs/libguile_la-srcprop.o
.libs/libguile_la-stackchk.o .libs/libguile_la-stacks.o
.libs/libguile_la-stime.o .libs/libguile_la-strings.o
.libs/libguile_la-srfi-4.o .libs/libguile_la-srfi-13.o
.libs/libguile_la-srfi-14.o .libs/libguile_la-strorder.o
.libs/libguile_la-strports.o .libs/libguile_la-struct.o
.libs/libguile_la-symbols.o .libs/libguile_la-threads.o
.libs/libguile_la-null-threads.o .libs/libguile_la-throw.o
.libs/libguile_la-values.o .libs/libguile_la-variable.o
.libs/libguile_la-vectors.o .libs/libguile_la-version.o
.libs/libguile_la-vports.o .libs/libguile_la-weaks.o
.libs/libguile_la-ramap.o .libs/libguile_la-unif.o .libs/dynl.o
.libs/filesys.o .libs/posix.o .libs/net_db.o .libs/socket.o
.libs/regex-posix.o   -R/export/home/kuser/local/lib
-R/export/home/kuser/local/lib -L/export/home/kuser/local/lib
/export/home/kuser/local/lib/libintl.so -lc -lrt -lpthread
/export/home/kuser/local/lib/libgmp.so -lsocket -lnsl -lm
/export/home/kuser/local/lib/libltdl.so -lsec -lc  -xarch=386
Undefined                       first referenced
 symbol                             in file
_start                              .libs/libguile_la-gc_os_dep.o
ld: fatal: Symbol referencing errors. No output written to
.libs/libguile.so.17.3.0
make[3]: *** [libguile.la] Error 1
make[3]: Leaving directory `/export/home/kuser/build/guile-1.8.6/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/export/home/kuser/build/guile-1.8.6/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/export/home/kuser/build/guile-1.8.6'
make: *** [all] Error 2
-bash-3.2$

--

-- 
Dennis Clarke
sig du jour : "An appeaser is one who feeds a crocodile, hoping it will
eat him last.", Winston Churchill

Neil Jerram | 24 Mar 21:13 2009
Picon

Re: Undefined symbol _start first referenced in file .libs/libguile_la-gc_os_dep.o

Dennis Clarke <dclarke <at> blastwave.org> writes:

> In the Solaris 10 ( AMD64/x86 ) world this si what happens when we attempt
> to build guile-1.8.6 with Sun Studio 12:

> Undefined                       first referenced
>  symbol                             in file
> _start                              .libs/libguile_la-gc_os_dep.o

gc_os_dep.c was copied (some time back) from the Boehm GC sources.
Assuming that Boehm GC does now support your platform, would you mind
checking their latest sources to see what incantations are needed on
Solaris 10, and let us know?

Thanks,
        Neil


Gmane