×

Discussion Board

Results 1 to 10 of 10
  1. #1
    Registered User
    Join Date
    Jul 2003
    Location
    France
    Posts
    4

    CW problem with EPOCROOT

    Hi forum,

    I have installed S60 SDK with CW support, FP2. I am using CW for Symbian Pro 2.5 (supposedly working with SDK).

    Trying the helloworld example from Series60Ex, command line build is a breeze. However, from IDE, I get this:
    Error : Symbian Resource - ERROR: Must set the EPOCROOT environment variable BEGIN failed--compilation aborted at d:\Symbian\8.0a\S60_2nd_FP2_CW_B\epoc32\tools/E32env.pm line 54. BEGIN failed--compilation aborted at d:\Symbian\8.0a\S60_2nd_FP2_CW_B\epoc32\tools/epocrc.pl line 27.

    It turns out the E32env.pm perl script's attempt to retrieve EPOCROOT fails (empty string). If I bypass the attempt and set the epocroot inside the script then building happens fine. This is does not happen with UIQ SDK. I don't know whether it is an SDK or a CW issue, hence my posting here. I haev tried a number of combination, including setting EPOCROOT to the correct value in the registry so that it is persistent . But still this error occured. I have successfully used CW with UIQ SDK .

    Has this ever happened to you?

    thanks for your help,

    Olivier

  2. #2
    Regular Contributor
    Join Date
    Mar 2003
    Posts
    65
    i am getting the same error, with CW IDE

  3. #3
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166
    had the same problem with 2.8 and SDK with FP2. Did re-installs plenty of many times, and only solution to really fix it was to modifyn the pl file, and make the EPOCROOT static in there.

    yucca

  4. #4
    Registered User
    Join Date
    Jul 2003
    Location
    France
    Posts
    4
    Happy new year to all of you forum members!


    Well, I downloaded an eval CW Pro 3.0 and installed it and... it worked. At first I thought it boiled down to installation order, but with your last message, I'm not really sure.

    Regards,

    Olivier

  5. #5
    Regular Contributor
    Join Date
    Jan 2005
    Location
    Malmö, Sweden
    Posts
    157
    I have this problem too with my CodeWarrior.
    But since I have no idea what I'm doing when trying to modify the perl script, I can't get it working.
    Can you maybe give pointers to wich lines needs to be changed?

    tried set
    my $epocroot = $ENV{EPOCROOT};
    to:
    my $epocroot = "\\SYMBIAN\\8.0A\\S60_2ND_FP2_CW\\";

    and commented out the next line
    die "ERROR: Must set the EPOCROOT environment variable\n" if (!defined($epocroot));

    in e32env.pm, but I still get the:

    "Error : Symbian Resource - Environment variable EPOCROOT not defined EPOCROOT environment variable must be capitalised BEGIN failed--compilation aborted at C:\Symbian\8.0a\S60_2nd_FP2_CW\Epoc32\tools/E32env.pm line 52. BEGIN failed--compilation aborted at epocrc.pl line 27.

    Error : Compile failed
    "

    What do I need to change?

  6. #6
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166
    I think this method is not really recommended, but anyway, here how I did it:

    // -- start of the file
    # E32ENV.PM
    #
    # Copyright (c) 1997-2000 Symbian Ltd. All rights reserved.
    #

    # Contains information for makmake and associated e32tools perl programs
    # within the Epoc32 Environment

    package E32env;


    use vars qw(%Data);

    BEGIN {
    #JPS my $epocroot = $ENV{EPOCROOT};
    my $epocroot = "\\Symbian\\8.0a\\S60_2nd_FP2_CW\\";
    #JPS die "ERROR: Must set the EPOCROOT environment variable\n" if (!defined($epocroot));
    #JPS $epocroot =~ s-/-\\-go; # for those working with UNIX shells
    #JPS die "ERROR: EPOCROOT must not include a drive letter\n" if ($epocroot =~ /^.:/);
    #JPS die "ERROR: EPOCROOT must be an absolute path without a drive letter\n" if ($epocroot !~ /^\\/);
    #JPS die "ERROR: EPOCROOT must not be a UNC path\n" if ($epocroot =~ /^\\\\/);
    #JPS die "ERROR: EPOCROOT must end with a backslash\n" if ($epocroot !~ /\\$/);
    #JPS open PIPE, "set EPOCROOT |";
    #JPS my $found=0;
    #JPS while (<PIPE>) {
    #JPS if (/^EPOCROOT=.*/)
    #JPS {
    #JPS $found=1;
    #JPS last;
    #JPS }
    #JPS }
    #JPS close PIPE;
    #JPS die "EPOCROOT environment variable must be capitalised\n" if (!$found);
    #JPS print "WARNING: EPOCROOT does not specify an existing directory\n" if (!-d $epocroot);

    $epocroot=~ s-\\$--; # chop trailing \\

    $Data{EPOCPath} = $epocroot."\\EPOC32\\";

    $Data{EPOCDataPath} = $epocroot."\\EPOC32\\DATA\\";
    $Data{EPOCIncPath} = $epocroot."\\EPOC32\\INCLUDE\\";
    $Data{BldPath} = $epocroot."\\EPOC32\\BUILD\\";
    #regression hack
    # $Data{LinkPath} = $epocroot."\\EPOC32\\LIBRARY\\";
    $Data{LinkPath} = $epocroot."\\EPOC32\\RELEASE\\";
    #regression hack end
    $Data{RelPath} = $epocroot."\\EPOC32\\RELEASE\\";
    $Data{EPOCToolsPath} = $epocroot."\\EPOC32\\TOOLS\\";
    $Data{RomPath} = $epocroot."\\EPOC32\\ROM\\";

    $Data{DataPath} = "Z\\SYSTEM\\DATA\\";
    }

    1;

    //-- end of the file

    yucca

  7. #7
    Registered User
    Join Date
    Jul 2003
    Location
    France
    Posts
    4

    CW problem with epocroot

    Well, I've read a little line in S60 FP2 SDK download page:
    "NOTE: Java Runtime Environment v 1.4.1_02 and ActivePerl 5.6.1 need to be installed before this SDK is installed."

    Turns out I have perl 5.005_03, maybe it has to do with my problem.

    Olivier.

  8. #8
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166
    I basically had them both, and they were installed couple of weeks before, so wasn't my problem at least.

    yucca

  9. #9
    Nokia Developer Expert
    Join Date
    Oct 2004
    Location
    Austin, TX USA
    Posts
    271
    All,

    Try adding this environment variable and see if that helps:

    EPOCROOT=\

    If that doesn't do it, set EPOCROOT to point to your main S60 SDK directory.

    Matt Pinsonneault
    Nokia Developer Support

  10. #10
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166
    I did try those as well, infact I was having the problem originally while in nokia work shop, and some nokia experts from Finland as well from singapore, didn't figure out the problem back them, anyway, that was the reson I hardcoded the Epocroot into the pl file, fixes the problem, so I'm happy with it.

    yucca

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×