[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: explanation what "error: can't redefine read-only symbol foo" means
From: |
David Bateman |
Subject: |
Re: explanation what "error: can't redefine read-only symbol foo" means in detail |
Date: |
Tue, 06 Mar 2007 17:02:52 +0100 |
User-agent: |
Thunderbird 1.5.0.7 (X11/20060921) |
Andreas Romeyke wrote:
> Hi,
>
> David Bateman wrote:
>
>> So I don't see what the problem is. Can you give a full example...
>>
>>
> The problem is that the original function comes from Matlab and dies on
> Octave with error message above. I do not understand why this message is
> generated, because the function is large but not too complicated.
>
> Therefore it would be helpful to have an example that generates the
> message above. The function is from the EEGLab toolbox and is called
> eeg_checkset(). The m-file is attached, it dies on line 925.
>
> Here the output:
>
> Extracting events...
> Importing data events...
> Removing event channel...
> error: can't redefine read-only symbol `eeg_checkset'
> error: `eeg_checkset' undefined near line 925 column 25
> error: evaluating switch command near line 837, column 9
> error: evaluating for command near line 836, column 5
> error: evaluating if command near line 835, column 1
> error: called from `eeg_checkset' in file
> `/SCR/svn_work/eeglab-devel-5.03/eeglab5.03/functions/eeg_checkset.m'
> error: evaluating assignment expression near line 234, column 9
> error: evaluating if command near line 226, column 1
> error: called from `pop_biosig' in file
> `/SCR/svn_work/eeglab-devel-5.03/eeglab5.03/functions/pop_biosig.m'
> error: evaluating assignment expression near line 10, column 5
>
> Could it be that the problem depends on type of variable, because the
> EEG-variable is global by default (set in toolbox)?
>
> Any hints?
>
>
Do you mean eeg_checkset is both a function and a global variable? If so
have you tried changing one of their names?
The error message you are seeing comes from the symbol table code where
the symbol eef_checkset is truly marked as read-only or protected. The
only ways I can see this happening is for built-in mappers or functions
with a call like "sym_rec->protect()". It can also happen in the
dispatch code. Have you used dispatch?
D.
--
David Bateman address@hidden
Motorola Labs - Paris +33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin +33 6 72 01 06 33 (Mob)
91193 Gif-Sur-Yvette FRANCE +33 1 69 35 77 01 (Fax)
The information contained in this communication has been classified as:
[x] General Business Information
[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary