I have downloaded and am attempting to install ECLI on my Fedora Core 5, x86, linux machine. The build of SAFE_KERNEL and ECLI went smoothly! When I try to compile the examples - first 'test1', then 'test_procedures' - I get this fatal error on the build:
=== Begin Error message =======================
Warning code: Obsolete call
Warning: call uses obsolete feature.
What to do: update to new feature at your earliest convenience. The
feature is still available but may be removed in the future.
[ several obsolete feature warnings]
Class: TEST_PROCEDURES
Feature: create_and_connect_session
Obsolete feature: make (a_data_source, a_user_name, a_password: STRING_8) (class ECLI_SESSION)
Obsolete message: [2005-01-04] Use `make_default' followed by `set_login_strategy' instead.
Warning code: Obsolete call
Warning: call uses obsolete feature.
What to do: update to new feature at your earliest convenience. The
feature is still available but may be removed in the future.
Error code: VUEX(2)
Error: feature of qualified call is not available to client class.
What to do: make sure feature after dot is exported to caller.
Class: UC_STRING
Source class: STRING_GENERAL
Feature: remove
Feature: to_string_32 Class: UC_STRING Version from: STRING_GENERAL
Not exported to class UC_STRING
Line: 328
removed: elks_checking implies
-> to_string_32.is_equal (old substring (1, i - 1).to_string_32 + old substring (i + 1, count).to_string_32)
end
Would you mind checking which version of GOBO you are using? Check the value of the
GOBO environment variable.
You need either the CVS version of GOBO, or the one shipped with ISE 5.7.
The original GOBO 3.4 does not work with 5.7.
Hope this helps,
Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>Would you mind checking which version of GOBO you are using?
Not at all. I am using GOBO3.5, pulled down from CVS and built locally.
>Check the value of the GOBO environment variable.
Points to where my GOBO is. In this case I am not using the one included in the ISE 5.7 distribution.
>You need either the CVS version of GOBO, or the one shipped with ISE 5.7.
>The original GOBO 3.4 does not work with 5.7.
Understood.
However, after I check everything again, I used estudio to rebuild the test1 example. I get the same error that way (of course!). Then I executed 'geant clean' in the test1 example directory, then ran 'geant compile'. I get the same error, again.
I have explored the classes and features specified in the error message. As best I can tell, the error occurs when running the reature 'remove' in UC_STRING. It seems UC_STRING has a problem the way it has set the exports of class STRING (I think ??). The post condition of the parent (deferred) feature 'remove' uses to_string_32 which, by the time 'remove' runs in UC_STRING, has been set (in UC_STRING) as export {NONE} all.
Would it be practical to attempt to use ecli without having proved test1? Or do I need to make sure test1 can work before doing so? That is, will ecli always use 'UC_STRING.remove'?
Thanks for your time and help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ISE studion5.7 64493 GPL ... same as yours.
UC_STRING 1.61 ... same as yours.
Yet I continue to get this error message, which I really must get by before I even think about any patches ... unless they are by some remote possibility related to the problem I am having.
Everything points to some kind of a configuration issue, but I can't image what.
I am willing to hang in on this as long as you are willing to work with me.
Any ideas?
The error I get:
Class: UC_STRING
Source class: STRING_GENERAL
Feature: remove
Feature: to_string_32 Class: UC_STRING Version from: STRING_GENERAL
Not exported to class UC_STRING
Line: 328
removed: elks_checking implies
-> to_string_32.is_equal (old substring (1, i - 1).to_string_32 + old substring (i + 1, count).to_string_32)
end
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've compared my version and your version of UC_STRING.
It seems that, according to $GOBO/library/kernel/unicode/uc_string.ge, lines 85,86,87, your version
of UC_STRING has been generated for... ISE 5.6 (yes five point six) according to line 85 #ifdef.
Lines 86 and 87 should not be present in UC_STRING for 5.7.
In .bashrc, you'll see that ISE_5_7=true, *BUT*
that the export is about ISE_5_*6* ...
Would you mind checking it, and bootstrap GOBO again?
Best regards,
Paul G. Crismer
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>It seems that, according to $GOBO/library/kernel/unicode/uc_string.ge, lines 85,86,87, your version
>of UC_STRING has been generated for... ISE 5.6 (yes five point six) according to line 85 #ifdef.
>Lines 86 and 87 should not be present in UC_STRING for 5.7.
>
>In .bashrc, you'll see that ISE_5_7=true, *BUT*
>that the export is about ISE_5_*6* ...
aaaaaaaaahhhhhhh! Careless error! I didn't change the export when I upgraded to 5.7
>Would you mind checking it, and bootstrap GOBO again?
Well! That was an experience ... a multi-hour experience extending over two days! But, I got that done.
And, I thought surely that would solve my problem ... Well, it did ... sort of ...
I no longer get the same error. I get a new error when attempting to build test1 with estudio ... get the same error using 'geant compile_ise'.
I get this error:
================================
Error code: VEEN
Error: unknown identifier.
What to do: make sure that identifier, if needed, is final name of
feature of class, or local entity or formal argument of routine.
Class: ECLI_DECIMAL
Feature: make
Identifier: default_rounding_mode
Taking no argument
Line: 47
do
I received the two classes ... droped them into place ... rebuilt the libraries.
[Wonder of all wonders!]
Both test1 and test_procedures compile cleanly!!!!
Whahoo!
I ran test1 wihout arguments. It responded with the useage message. Now, I guess, I can use test1 to confirm my odbc setup. Excellent!
Then I will build ecli into my application. I have a singleton facade to the database, from which I make every access to the database ... for the searches, updates, adds, and deletes. It will be interesting to see how ecli works in this context.
Paul, I am very grateful for your competent response to my call for help. It is a pleasure to work with someone so skilled in the use of Eiffel. I am trying to pull myself up to full speed as fast as I can. It has been a revelation to see you respond to the problems I have had.
My sincerest thanks. If I can ever be of help to you, I hope you will let me do so.
Best regards.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have downloaded and am attempting to install ECLI on my Fedora Core 5, x86, linux machine. The build of SAFE_KERNEL and ECLI went smoothly! When I try to compile the examples - first 'test1', then 'test_procedures' - I get this fatal error on the build:
=== Begin Error message =======================
Warning code: Obsolete call
Warning: call uses obsolete feature.
What to do: update to new feature at your earliest convenience. The
feature is still available but may be removed in the future.
[ several obsolete feature warnings]
Class: TEST_PROCEDURES
Feature: create_and_connect_session
Obsolete feature: make (a_data_source, a_user_name, a_password: STRING_8) (class ECLI_SESSION)
Obsolete message: [2005-01-04] Use `make_default' followed by `set_login_strategy' instead.
-------------------------------------------------------------------------------
Warning code: Obsolete call
Warning: call uses obsolete feature.
What to do: update to new feature at your earliest convenience. The
feature is still available but may be removed in the future.
Class: KL_INTEGER_ROUTINES
Feature: to_character
Obsolete feature: to_character: CHARACTER_8 (class INTEGER_32)
Obsolete message: Use `to_character_8' instead.
-------------------------------------------------------------------------------
Error code: VUEX(2)
Error: feature of qualified call is not available to client class.
What to do: make sure feature after dot is exported to caller.
Class: UC_STRING
Source class: STRING_GENERAL
Feature: remove
Feature: to_string_32 Class: UC_STRING Version from: STRING_GENERAL
Not exported to class UC_STRING
Line: 328
removed: elks_checking implies
-> to_string_32.is_equal (old substring (1, i - 1).to_string_32 + old substring (i + 1, count).to_string_32)
end
-------------------------------------------------------------------------------
BUILD FAILED!
==== End Error message =====================================
What shall I do?
Hello Robert,
Would you mind checking which version of GOBO you are using? Check the value of the
GOBO environment variable.
You need either the CVS version of GOBO, or the one shipped with ISE 5.7.
The original GOBO 3.4 does not work with 5.7.
Hope this helps,
Paul
Paul,
>Would you mind checking which version of GOBO you are using?
Not at all. I am using GOBO3.5, pulled down from CVS and built locally.
>Check the value of the GOBO environment variable.
Points to where my GOBO is. In this case I am not using the one included in the ISE 5.7 distribution.
>You need either the CVS version of GOBO, or the one shipped with ISE 5.7.
>The original GOBO 3.4 does not work with 5.7.
Understood.
However, after I check everything again, I used estudio to rebuild the test1 example. I get the same error that way (of course!). Then I executed 'geant clean' in the test1 example directory, then ran 'geant compile'. I get the same error, again.
I have explored the classes and features specified in the error message. As best I can tell, the error occurs when running the reature 'remove' in UC_STRING. It seems UC_STRING has a problem the way it has set the exports of class STRING (I think ??). The post condition of the parent (deferred) feature 'remove' uses to_string_32 which, by the time 'remove' runs in UC_STRING, has been set (in UC_STRING) as export {NONE} all.
Would it be practical to attempt to use ecli without having proved test1? Or do I need to make sure test1 can work before doing so? That is, will ecli always use 'UC_STRING.remove'?
Thanks for your time and help.
Robert,
This is very disappointing.
With this configuration, everything compiles and runs OK :
- ISE 5.7.64493 GPL Edition
- GOBO 3.5 from CVS
UC_STRING.remove and UC_STRING.to_string_32 are exported... in the
UC_STRING class header I read Revision 1.61.
STRING_GENERAL is Revision: 63744
Do you have the same revisions?
Paul
Hello Robert,
I've installed 5.7 GPL on my Debian Linux box;
A fresh GOBO has been installed from CVS;
It just needs a patch for ECLI_DECIMAL
and for ECLI_STRING_VALUE.
Then everything runs out of the box.
Would you mind giving me some feedback ?
Best regards,
Paul G. Crismer
------------
PATCH:
ECLI_DECIMAL (old,new)
34c34,41
<
---
>
>
> MA_DECIMAL_CONTEXT_CONSTANTS
> undefine
> is_equal, copy, out
> end
>
>
ECLI_STRING_VALUE (old,new)
145c145
< create parser
---
> create parser.make
Paul, I just don't know what to do next!
ISE studion5.7 64493 GPL ... same as yours.
UC_STRING 1.61 ... same as yours.
Yet I continue to get this error message, which I really must get by before I even think about any patches ... unless they are by some remote possibility related to the problem I am having.
Everything points to some kind of a configuration issue, but I can't image what.
I am willing to hang in on this as long as you are willing to work with me.
Any ideas?
The error I get:
Class: UC_STRING
Source class: STRING_GENERAL
Feature: remove
Feature: to_string_32 Class: UC_STRING Version from: STRING_GENERAL
Not exported to class UC_STRING
Line: 328
removed: elks_checking implies
-> to_string_32.is_equal (old substring (1, i - 1).to_string_32 + old substring (i + 1, count).to_string_32)
end
Hello Robert,
Please, note that this is NOT a problem with ECLI. This is a configuration problem with GOBO and ISE classes.
Would you mind sending me the following
1. classes :
* UC_STRING (GOBO)
* STRING_GENERAL (ISE)
2. Environment variables
everything.
On your side, would you mind checking how many gobo's or ise environments are installed on your system?
Best regards,
Paul G. Crismer
Please send to pgcrism at users dot sourceforge dot net
Hello Bob,
Thank you for your configuration information.
I've compared my version and your version of UC_STRING.
It seems that, according to $GOBO/library/kernel/unicode/uc_string.ge, lines 85,86,87, your version
of UC_STRING has been generated for... ISE 5.6 (yes five point six) according to line 85 #ifdef.
Lines 86 and 87 should not be present in UC_STRING for 5.7.
In .bashrc, you'll see that ISE_5_7=true, *BUT*
that the export is about ISE_5_*6* ...
Would you mind checking it, and bootstrap GOBO again?
Best regards,
Paul G. Crismer
>It seems that, according to $GOBO/library/kernel/unicode/uc_string.ge, lines 85,86,87, your version
>of UC_STRING has been generated for... ISE 5.6 (yes five point six) according to line 85 #ifdef.
>Lines 86 and 87 should not be present in UC_STRING for 5.7.
>
>In .bashrc, you'll see that ISE_5_7=true, *BUT*
>that the export is about ISE_5_*6* ...
aaaaaaaaahhhhhhh! Careless error! I didn't change the export when I upgraded to 5.7
>Would you mind checking it, and bootstrap GOBO again?
Well! That was an experience ... a multi-hour experience extending over two days! But, I got that done.
And, I thought surely that would solve my problem ... Well, it did ... sort of ...
I no longer get the same error. I get a new error when attempting to build test1 with estudio ... get the same error using 'geant compile_ise'.
I get this error:
================================
Error code: VEEN
Error: unknown identifier.
What to do: make sure that identifier, if needed, is final name of
feature of class, or local entity or formal argument of routine.
Class: ECLI_DECIMAL
Feature: make
Identifier: default_rounding_mode
Taking no argument
Line: 47
do
-> make_with_rounding (new_precision, new_decimal_digits, Default_rounding_mode)
ensure
==============================
Amazing! What to do now, chief? Hang in with me, please. Let's keep trying.
Hello Bob,
Waowww. One step beyond!
Since ECLI 2.2 has been developed for GOBO 3.4, now it must be fixed for GOBO3.5 needed by ise 5.7.
2fixes are needed. I'll send the classes ECLI_DECIMAL and ECLI_STRING_VALUE in a direct email post.
CVS archive will be updated within 2-4 days.
Best regards,
Paul G. Crismer
Paul,
I received the two classes ... droped them into place ... rebuilt the libraries.
[Wonder of all wonders!]
Both test1 and test_procedures compile cleanly!!!!
Whahoo!
I ran test1 wihout arguments. It responded with the useage message. Now, I guess, I can use test1 to confirm my odbc setup. Excellent!
Then I will build ecli into my application. I have a singleton facade to the database, from which I make every access to the database ... for the searches, updates, adds, and deletes. It will be interesting to see how ecli works in this context.
Paul, I am very grateful for your competent response to my call for help. It is a pleasure to work with someone so skilled in the use of Eiffel. I am trying to pull myself up to full speed as fast as I can. It has been a revelation to see you respond to the problems I have had.
My sincerest thanks. If I can ever be of help to you, I hope you will let me do so.
Best regards.