Hi,
I believe I responded on Mon, 30 Jan 2017 12:56:35 +0100.
However, the mail was quite large because I had my own apl binary (although
stripped) attached to it.
Maybe some mail server on the way dropped it.
I suspect that the symbols are entered as empty strings into the system table.
Could you please change file Symbol.cc from line 43 onwards to read like this:
Symbol::Symbol(ID::Id id)
: NamedObject(id),
next(0),
name(ID::get_name(id)),
monitor_callback(0)
{
Q(name) // ← this line added
push();
}
When you start apl after compiling, its output should like this:
name: '⎕' at Symbol.cc:49
name: '⍞' at Symbol.cc:49
name: '⎕AI' at Symbol.cc:49
name: '⎕ARG' at Symbol.cc:49
name: '⎕AV' at Symbol.cc:49
name: '⎕CT' at Symbol.cc:49
name: '⎕EM' at Symbol.cc:49
name: '⎕ET' at Symbol.cc:49
name: '⎕FC' at Symbol.cc:49
...
Thanks,
/// Jürgen
On 01/31/2017 05:22 PM, address@hidden wrote:
Jürgen
i've sent a few working emails on this and no reponse from you - if you are
moving onto other things please let me know
Thanks
On Sun, 29 Jan 2017 11:58:05 -0700
address@hidden wrote:
i have attached a tv.xml file which has
)WSID tv
VAR←1 and VAR∆ONE←1
)SAVE
I don't have a LANGUAGE in my locale and i tried to set it in
/etc/sysconfig/i18n and got nothing in locale
here is my locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=C
LC_COLLATE=C
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
I mentioned in the last email that 1.6 version works after the buildtag.hh
change - so i think my system is okay with
UTF8-encoded C++ source files with UTF8 string literals unless you just started
using them after 1.6 version ;)
my linux is 2.6.32.71 and gcc is 4.4.3
On Sun, 29 Jan 2017 19:27:33 +0100
Juergen Sauermann <address@hidden> wrote:
Him
I believe we are getting closer to the problem (even though not yet to a
solution).
glad to be the 2% part of the 'we' ;)
We both save an empty workspace, mine into tt.xml and yours into tttt.xml.
After thant both xml files are different,
In my tt.xml, the names and the number of the built-in symbols are correct:
address@hidden:~/workspaces$ grep -a '<Symbol' tt.xml
<SymbolTable size="84">
<Symbol name="μ-A" stack-size="1">
<Symbol name="μ-A1" stack-size="1">
<Symbol name="μ-A_LO_POWER_N_B" stack-size="1">
<Symbol name="μ-B" stack-size="1">
<Symbol name="μ-B3" stack-size="1"> <Symbol name="⎕AI" stack-size="1">
...
<Symbol name="⎕ARG" stack-size="1">
<Symbol name="⎕AV" stack-size="1">
<Symbol name="⎕CT" stack-size="1">
<Symbol name="⎕EM" stack-size="1">
...
In your tttt.xml file, however, all symbols are empty and the number of symbols
is different.
address@hidden:~/workspaces$ grep -a '<Symbol' tttt.xml
<SymbolTable size="0">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
<Symbol name="" stack-size="1">
...
All the failing symbols begin with a non-ASCII character (we should
double-check that
by saving a variable with an all-ASCII name like VAR and a mixed name like
VAR∆ONE
on your side).
My best guess is that your compiler may not like or support UTF8-encoded C++
source files with
UTF8 string literals (which are used a lot in GNU APL). Another common source
of such
problems is incorrect locale settings. Mine are:
address@hidden:~/projects/juergen/apl-1.6$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
...
/// Jürgen
So the questions are: what is your OS and what is your compiler (and -version)?
On 01/29/2017 05:21 PM, address@hidden wrote:
heya Jürgen
On Sun, 29 Jan 2017 12:28:51 +0100
Juergen Sauermann <address@hidden> wrote:
Hi,
I cannot tell why this happens (and it does not on my machine).
Apparently there was an empty symbol in the )SAVEd tt.xml file.
But I changed the )LOAD command so that it only prints a warning and the
location in the .xml file
instead of aborting the )LOAD. SVN 870.
)wsid tttt
WAS CLEAR WS
)save
2017-01-29 09:08:46 (GMT-7) tttt
)load tttt
*** Warning: empty Symbol name in XML archive /apl/workspaces/tttt.xml around
line 164
and hangs - i have to close the xterm
this is the 870 src/buildtag.hh
#include "Common.hh"
#define BUILDTAG PACKAGE_NAME, PACKAGE_VERSION " / 870M", "2017-01-29 15:31:04 UTC", "Linux
2.6.32.71 i686", "unknown configure options"
#define ARCHIVE_SVN " 870"
this is the apl -v
BUILDTAG:
---------
Project: GNU APL
Version / SVN: 1.6 / 870M
Build Date: 2017-01-29 15:31:04 UTC
Build OS: Linux 2.6.32.71 i686
config.status: unknown configure options
Archive SVN: 870
i edited the src/buildtag.hh to match yours below and no change
i attached the tttt.xml
Regarding the warnings about VERY old SVN version, there seems to be something
wrong or odd
with your build tag and/or SVN installation.
it wasn't from a svn pull it was from the 1.6 tar release and really is just
a warning - there are no problems with the fns or vars that are loaded in or
copied in etc
it's src/buildtag.hh was #define ARCHIVE_SVN ""
running sh buildtag gives error svn: '.' is not a working copy and
produces same buildtag.hh but with current date/time
so i edited it manually and changed it to match what you gave below after the
configure *** and problem solved ***
The SVN version of Archive.cc is determined like this in script src/buildtag
(which is called from ./configure):
ARCHIVE_SVNINFO=`svn info Archive.cc | grep "Last Changed Rev" \
| awk -F : '{print $2;}'`
The tt.xml that you sent me had an empty ARCHIVE_SVNINFO so it complained about
that when
)LOADING the file.
If your buildtag.hh is broken then you can fix it by running src/buildtag
manually:
address@hidden:~/projects/juergen/savannah-repo-apl/trunk/src$ source buildtag
After that, src/buildtag.hh should look somehow like this:
address@hidden:~/projects/juergen/savannah-repo-apl/trunk/src$ cat buildtag.hh
#include "Common.hh"
#define BUILDTAG PACKAGE_NAME, PACKAGE_VERSION " / 857:870", "2017-01-29 11:20:46 UTC", "Linux
3.13.0-96-generic i686", "unknown configure options"
#define ARCHIVE_SVN " 870"
There are several possible reasons why the buildtag script could fail, such as
bad platform (is it GNU/Linux?,
bad shell (is it bash?), bad version of svn...
/// Jürgen
On 01/28/2017 08:33 PM, address@hidden wrote:
apl compiled with just configure and i hope gcc 4.4.3 is good
)wsid tt
WAS CLEAR WS
)save
2017-01-28 12:30:12 (GMT-7) tt
)load tt
==============================================================================
Assertion failed: items
in Function: at
in file: Simple_string.hh:276
Call stack:
----------------------------------------
-- Stack trace at Simple_string.hh:276
----------------------------------------
0xb7382bb6 __libc_start_main
0x80867b8 main
0x822c025 Workspace::immediate_execution(bool)
0x80da7c8 Command::process_line()
0x80d9b68 Command::process_line(UCS_string&)
0x80d9360 Command::do_APL_command(std::ostream&, UCS_string&)
0x8238212 Workspace::load_WS(std::ostream&, UCS_string_vector const&,
UCS_string&, bool)
0x808ec4e XML_Loading_Archive::read_Workspace(bool)
0x808e2c8 XML_Loading_Archive::read_Symbol()
0x81d7f74 SymbolTable::lookup_symbol(UCS_string const&)
0x8093ea9 do_Assert(char const*, char const*, char const*, int)
========================================
SI stack:
==============================================================================
*** immediate_execution() caught other exception ***
On Sat, 28 Jan 2017 19:45:47 +0100
Juergen Sauermann <address@hidden> wrote:
Hi,
i changed the constructor of PJob_scalar_AB in the same way as for
PJob_scalar_B. SVN 866.
I can't test this myself because I am not getting this warning (g++ 4.6.3).
Regarding CORE_COUNT_WANTED=2 please keep in mind that parallel execution is
experimental and still buggy!
/// Jürgen
On 01/28/2017 07:14 PM, address@hidden wrote:
Hi,
same basic problem but different function
isn't anyone else getting this on make? this is my configure line
'configure CORE_COUNT_WANTED=2' but just 'configure' also gives
same error on make
g++ -DHAVE_CONFIG_H -I. -I.. -Werror -Wall -I sql -I/usr/local/include
-rdynamic -g -O2 -MT apl-SymbolTable.o -MD -MP -MF .deps/apl-SymbolTable.Tpo -c
-o apl-SymbolTable.o `test -f 'SymbolTable.cc' || echo './'`SymbolTable.cc
cc1plus: warnings being treated as errors
Simple_string.hh: In static member function 'static void
ScalarFunction::PF_eval_scalar_AB(Thread_context&)':
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' may be used uninitialized in this
function
ScalarFunction.cc:649: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' may be used uninitialized in this
function
ScalarFunction.cc:649: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun' may be used uninitialized
in this function
ScalarFunction.cc:649: note: 'j1.PJob_scalar_AB::fun' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' may be used uninitialized in this
function
ScalarFunction.cc:676: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' may be used uninitialized in this
function
ScalarFunction.cc:676: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun' may be used uninitialized
in this function
ScalarFunction.cc:676: note: 'j1.PJob_scalar_AB::fun' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' may be used uninitialized in this
function
ScalarFunction.cc:705: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__delta' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' may be used uninitialized in this
function
ScalarFunction.cc:705: note: 'j1.PJob_scalar_AB::fun2.ErrorCode
(Cell::*)(Cell*, const Cell*)const::__pfn' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_AB::fun' may be used uninitialized
in this function
ScalarFunction.cc:705: note: 'j1.PJob_scalar_AB::fun' was declared here
make[3]: *** [apl-ScalarFunction.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/apl-SymbolTable.Tpo .deps/apl-SymbolTable.Po
mv -f .deps/apl-Svar_DB.Tpo .deps/apl-Svar_DB.Po
mv -f .deps/apl-Symbol.Tpo .deps/apl-Symbol.Po
make[3]: Leaving directory `/transfer/usr.src/apl/apl-865/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/transfer/usr.src/apl/apl-865/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/transfer/usr.src/apl/apl-865'
make: *** [all] Error 2
On Sat, 28 Jan 2017 18:35:36 +0100
Juergen Sauermann <address@hidden> wrote:
Hi,
the problem is in ScalarFunction.cc. The compiler complains about a pointer
which is not
initialized in the constructor (which is on purpose, but the compiler seems not
to like it).
The pointer is initialized at a later point in time (at ScalarFunction.cc:255)
but the compiler
seems not to accept that.
Please try SVN 865.
/// Jürgen
On 01/28/2017 05:16 PM, address@hidden wrote:
Hi Jürgen
Sorry, still getting the same 'warning->error' in 864
is the problem in Simple_string.hh or ScalarFunction.cc ?? (i see your code
changes in ScalarFunction.cc)
thanks
g++ -DHAVE_CONFIG_H -I. -I.. -Werror -Wall -I sql -I/usr/local/include
-rdynamic -g -O2 -MT apl-Symbol.o -MD -MP -MF .deps/apl-Symbol.Tpo -c -o
apl-Symbol.o `test -f 'Symbol.cc' || echo './'`Symbol.cc
cc1plus: warnings being treated as errors
Simple_string.hh: In static member function 'static void
ScalarFunction::PF_eval_scalar_B(Thread_context&)':
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__delta' may be used uninitialized in this function
ScalarFunction.cc:339: note: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__delta' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__pfn' may be used uninitialized in this function
ScalarFunction.cc:339: note: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__pfn' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun' may be used uninitialized
in this function
ScalarFunction.cc:339: note: 'j1.PJob_scalar_B::fun' was declared here
make[3]: *** [apl-ScalarFunction.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/apl-StateIndicator.Tpo .deps/apl-StateIndicator.Po
mv -f .deps/apl-Svar_DB.Tpo .deps/apl-Svar_DB.Po
mv -f .deps/apl-Symbol.Tpo .deps/apl-Symbol.Po
make[3]: Leaving directory `/transfer/usr.src/apl/apl-864/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/transfer/usr.src/apl/apl-864/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/transfer/usr.src/apl/apl-864'
make: *** [all] Error 2
On Sat, 28 Jan 2017 15:01:26 +0100
Juergen Sauermann <address@hidden> wrote:
Hi,
thanks, hopefully fixed in SVN 864.
/// Jürgen
On 01/27/2017 11:51 PM, address@hidden wrote:
i removed the -Werror in the src/Makefile line 680 common_CXXFLAGS =
-Werror -Wall -I sql $(am__append_2) $(am__append_6) and make gave good apl
*so far in my testing)
On Fri, 27 Jan 2017 15:16:14 -0700
address@hidden wrote:
on this computer I thought svn 863 compiled but it left 1.6 installed
so didn't notice
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Werror -Wall -I sql -I/usr/local/include
-rdynamic -g -O2 -MT libapl_la-ValueHistory.lo -MD -MP -MF
.deps/libapl_la-ValueHistory.Tpo -c ValueHistory.cc -o libapl_la-ValueHistory.o
>/dev/null 2>&1
cc1plus: warnings being treated as errors
Simple_string.hh: In static member function 'static void
ScalarFunction::PF_eval_scalar_B(Thread_context&)':
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__delta' may be used uninitialized in this function
ScalarFunction.cc:335: note: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__delta' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__pfn' may be used uninitialized in this function
ScalarFunction.cc:335: note: 'j1.PJob_scalar_B::fun1.ErrorCode
(Cell::*)(Cell*)const::__pfn' was declared here
Simple_string.hh:133: error: 'j1.PJob_scalar_B::fun' may be used uninitialized
in this function
ScalarFunction.cc:335: note: 'j1.PJob_scalar_B::fun' was declared here