Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
Hello,
my name is Enzo, and I am trying to compile the "S60 Platform Log Example v1.1" project for my Nokia E5 mobile phone.
I have imported the project as a "bld.inf" and it works very well, but only if I execute it on Windows emulator (WINSCW configuration).
When I build the project for Phone Release (GCCE) Carbide doesn't build the sisx installation file and the console window doesn't log any error message.
I have already tested some simple QT project and I am able to build sisx file and install it on my E5.
What am I missing?
My final target is being able to maintain in a better way my events log. For example in my E5 it is impossible to delete a single event and you can only delete the entire log.
Thank a lot for your help.
Best regards
Enzo
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
In the build configuration settings for phone release in carbide, is it enabled to make a sisx for gcce release?
project->properties->carbide.c++->build configurations
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
Dear Friend,
thank you for the anwser.
Build configuration was missing and I set the following values:
- Configuration -> Sis Builder: Phone Release (GCCE) [S60_3rd_FP2_SDK_v1.1_2]
I then added a new configuration with the following options:
- PKG File: sis\LogExample_S60_3_0_v_1_1_0.pkg
- Output File Name: LogExampleEnzoRelease.sis
- Content Search Location: <leaved blank>
- Generate partail upgrade when appropriate: non checked
- Signing options: Don't sign sis file
As you can see from the build log I have a "Cannot find file" error when makesis.exe is invoked.
In my "C:\S60\devices\S60_3rd_FP2_SDK_v1.1_2\epoc32\" I can't find GCCE directory. I have only GCC dir.
How (and where) can I correct GCC path?
I have installed Carbide c++ version 2.7.0.
Thank a lot
Enzo
*************** BUILD LOG ***************
***Building project "LogExample_S60_3rd_ed" for configuration "Phone Release (GCCE) [S60_3rd_FP2_SDK_v1.1_2]"
***Printing environment variables modified from default:
PATH=C:\S60\devices\S60_3rd_FP2_SDK_v1.1_2\epoc32\tools;C:\S60\devices\S60_3rd_FP2_SDK_v1.1_2\epoc32\gcc\bin;C:/Symbian/Tools/Carbide.c++ v2.7/jre/bin/client;C:/Symbian/Tools/Carbide.c++ v2.7/jre/bin;C:\Perl\bin\;C:\Programmi\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programmi\ATI Technologies\ATI.ACE\Core-Static;C:\Programmi\File comuni\Symbian\tools;C:\Programmi\CSL Arm Toolchain\bin
=::=::\
EPOCROOT=\S60\devices\S60_3rd_FP2_SDK_v1.1_2\
NO_DEPENDENCIES=-nd
MAKE=make -j 4
Working Directory: C:/temp/LogExample/group
***Makefile structures up to date. Skipping 'bldmake bldfiles'
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ export
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\EXPORT.make" EXPORT VERBOSE=-s
Nothing to do
Total Time: 0 sec
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ library gcce
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\GCCE.make" LIBRARY VERBOSE=-s
make -s -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\LOGEXAMPLE_S60_3RD_ED\GCCE\LOGEXAMPLE_S60_3RD_ED.GCCE" LIBRARY
Total Time: 0 sec
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ resource gcce urel
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\GCCE.make" RESOURCE CFG=UREL VERBOSE=-s
make -s -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\LOGEXAMPLE_S60_3RD_ED\GCCE\LOGEXAMPLE_S60_3RD_ED.GCCE" RESOURCEUREL
Total Time: 0 sec
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ target gcce urel
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
make -j 4 -s -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\LOGEXAMPLE_S60_3RD_ED\GCCE\LOGEXAMPLE_S60_3RD_ED.GCCE" UREL
Total Time: 0 sec
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ final gcce urel
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\GCCE.make" FINAL CFG=UREL VERBOSE=-s
Total Time: 0 sec
***Invoking abld command
perl.exe -S ABLD.PL \temp\LogExample\group\ test export
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1_2\EPOC32\BUILD\temp\LogExample\group\EXPORTtest.make" EXPORT VERBOSE=-s
Nothing to do
Total Time: 1 sec
***Build Complete
***Invoking makesis.exe ....
C:\S60\devices\S60_3rd_FP2_SDK_v1.1_2\epoc32\tools\makesis.exe C:\temp\LogExample\sis\LogExample_S60_3_0_v_1_1_0.pkg C:\temp\LogExample\sis\LogExampleEnzoRelease.sis
Error : Cannot find file : Epoc32\release\GCCE\UREL\LogExample.exe
(23) : error: file I/O fault.
***Non-Zero Status: makesis.exe returned with exit value = 1
Total Time: 1 sec
***************END BUILD LOG*************
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
[QUOTE=v.stefa;881778]
Error : Cannot find file : Epoc32\release\GCCE\UREL\LogExample.exe
[/QUOTE]
Clean your project & then build it again & see if you get more errors in console which resulted in this error, which simply means that the exe did not generated on building the project(& a reason for this may be that something is wrong with your code & it didn't build well)
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
Could you try this.
Check your epocroot by in carbide and in your ($EPOCROOT)\Epoc32\release\GCCE\UREL is there logexample.exe file
In my computer it is
C:\Symbian\9.1\S60_3rd_MR\ is epocroot and this is the folder where is epoc32 folder located
Basically in my case it would have been C:\Symbian\9.1\S60_3rd_MR\Epoc32\release\GCCE\UREL\logexample.exe
In your case this is mismatching
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
It might be a good idea to post the .pkg file here. Since it is not a built-in example, but a separately downloadable one, it may require some manual work prior to successful packaging.
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
OK, I try to give an answer to everybody:
1- cleaning my project didn't solve;
2- my symbian version is 9.3 and GCCE doesn't exist (I'll try changing it to GCC)
3- the pkg file is posted below.
I imagine that I have to update pkg file to match my S60 installation directory.
Is it right?
Thank you
Enzo
*********************** PKG file **********************************
;
; Installation file for CameraApp application
;
; execute like: makesis -d%EPOCROOT% LogExample_s60_3rd_ed.pkg
; Languages
&EN
; standard SIS file header
#{"Log Example"},(0xEA1E2B6C),1,1,0
; Localised Vendor name
%{"Forum Nokia"}
; Unique Vendor name
:"Forum Nokia"
; Supports S60 3rd Edition
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
; Files to install
"Epoc32\release\GCCE\UREL\LogExample.exe"
- "!:\sys\bin\LogExample.exe"
"Epoc32\Data\z\resource\apps\LogExample.rsc"
- "!:\resource\apps\LogExample.rsc"
"Epoc32\Data\z\private\10003a3f\import\apps\logexample_reg.rsc"
- "!:\private\10003a3f\import\apps\logexample_reg.rsc"
; Backup & Restore
"backup_registration.xml"-"!:\private\EA1E2B6C\backup_registration.xml"
*****************************************************************
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
try with this modification in .pkg file:
[code]
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\LogExample.exe" -"!:\sys\bin\LogExample.exe"
"$(EPOCROOT)Epoc32\data\z\resource\apps\LogExample.rsc" -"!:\resource\apps\LogExample.rsc"
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\logexample_reg.rsc" -"!:\private\10003a3f\import\apps\logexample_reg.rsc"
[/code]
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
The left side of these "someting"-"someting" lines are actually files on your PC.
Inside every Symbian SDK, there is an epoc32 folder, however that is not the 'current path' when Carbide.c++ invokes makesis. The good thing is that in Caribide.c++ you can use some local environment variables, like ${EPOCROOT}, which is going to be replaced with the location of this epoc32 folder, \S60\devices\S60_3rd_FP2_SDK_v1.1_2\ in your case.
Note that the .pkg file has a comment inside, "execute like: makesis -d%EPOCROOT% LogExample_s60_3rd_ed.pkg", because the -d switch of makesis.exe can be used to specify the 'base path' for the .pkg file, so %EPOCROOT% would be also \S60\devices\S60_3rd_FP2_SDK_v1.1_2\ for your configuration. Actually the comment is misleading because normally the EPOCROOT environment variable is not set (Carbide.c++ sets it internally for itself, but that would not be available in a command prompt).
Let us say this is not the best example ever, but Vineet's suggestion should work, and hopefully after that the example itself will work too.
Re: Building S60 Platform Log Example v1.1 on Carbide c++ for Nokia E5 platform
It finally works!
I had to reinstall my 60 platform (this time setting "Full Installation") before having GCCE directory.
After that, I set up EPOCROOT enviroment variable ed updated the pkg file as suggested by vineet.
Now the sis file is regularly builded.
Thank you
Best regards
Enzo