Binary for S60 5th Edition
Status: Inactive
Brought to you by:
tomsci
I tried compiling fshell on Linux but ran into some 'pasting "\" and "fshell_core" does not give a valid preprocessing token' errors. I have the SDK set up and have been compiling Qt applications with gcce successfully for some time.
It is possible to post a build of fshell 4.2? If someone can tell me how to the error I encounter I would compile it myself.
Thanks
Hi kugeleck,
This is an awkward one with some history behind it. Originally fshell needed to support really old SDKs (pre Symbian OS v9.1) and the best way of being compatible with all the toolchains was to use backslashes everywhere. Now, the situation is different and we probably should update everything to use forward slashes, but that's a time-consuming business.
If you can attach the build logs (the path to the log is printed at the end of the build output) I'll take a look, it might be that we don't need to update absolutely everything. However there are some slightly-crazy build scripts involved so I can't promise I'll have the time to fix them... building fshell on linux isn't a priority I'm afraid.
Cheers,
Tomsci
Hello tomsci,
"bldmake bldfiles" in "fshell/build/s60/5th_edition" gives me:
In file included from /home/andre/Projects/symbian/fshell/build/s60/5th_edition/bld.inf:14:
/home/andre/Projects/symbian/fshell/build/s60/5th_edition/../bld_generic.inf:20: error: pasting "\" and "fshell" does not give a valid preprocessing token
/home/andre/Projects/symbian/fshell/build/s60/5th_edition/../bld_generic.inf:21: error: pasting "\" and "fshell_platform" does not give a valid preprocessing token
In file included from /home/andre/Projects/symbian/fshell/build/s60/5th_edition/../bld_generic.inf:28,
from /home/andre/Projects/symbian/fshell/build/s60/5th_edition/bld.inf:14:
/home/andre/Projects/symbian/fshell/build/s60/5th_edition/../../common/bld.inf:12: fatal error: ..\..\documentation\bld.inf: No such file or directory
compilation terminated.
BLDMAKE ERROR: ERROR: arm-none-symbianelf-cpp.exe returned non-zero exit status (256)
arm-none-symbianelf-cpp -undef -nostdinc -x c++ -I "/opt/qt/custom/symbian/sdk/epoc32/include" -I . -I "/home/andre/Projects/symbian/fshell/build/s60/5th_edition/" -D __SERIES60__=__SERIES60__ "/home/andre/Projects/symbian/fshell/build/s60/5th_edition/bld.inf"
These defines:
#ifndef FSHELL_ROM_INCLUDE
#if __GNUC__ >= 3
#define FSHELL_ROM_INCLUDE(_FILE_) _FILE_ /epoc32/rom/include/_FILE_
#else
#define FSHELL_ROM_INCLUDE(_FILE_) _FILE_ \epoc32\rom\include\ ## _FILE_
#endif
#endif
#ifndef FSHELL_ROM_INCLUDE2
#if __GNUC__ >= 3
#define FSHELL_ROM_INCLUDE2(_SRC_FILE_, _DST_FILE_) _SRC_FILE_ /epoc32/rom/include/_DST_FILE_
#else
#define FSHELL_ROM_INCLUDE2(_SRC_FILE_, _DST_FILE_) _SRC_FILE_ \epoc32\rom\include\ ## _DST_FILE_
#endif
#endif
in combination with:
FSHELL_ROM_INCLUDE2(platform_generic.mmh, fshell\platform_generic.mmh)
FSHELL_ROM_INCLUDE(fshell_platform.iby)
should give:
platform_generic.mmh /epoc32/rom/include/fshell\platform_generic.mmh
fshell_platform.iby /epoc32/rom/include/fshell_platform.iby
Changing the backward to forward slashed does not change anything. I guess I'm missing something basic.
I getting fshell to compile it too complicated with my setup I will just use fshell 4.1.
Thanks
kugeleck
I admit I've never even attempted to build fshell from linux, and this is the kind of error I'd expect unfortunately. Quite possibly it's just not gonna work until we (I) go through the whole source and fix all the backslashes everywhere (dropping support for the old SDKs at the same time). You could try changing the #define to something like:
#if __GNUC__ >= 3 || defined(__unix__)
but I suspect you'll just get something else fail straight afterwards.
The other problem I should warn you about is that it's pretty much impossible to compile fshell against any public Nokia SDK, even on Windows - I was hoping the situation had improved recently, but I've just tried the S60 5th edition, Nokia Symbian^3 and Qt 1.1 SDKs and none of them have all the headers and libs that are required. For targetting symbian^3-based devices you can use the old Symbian foundation S^3 PDK, but building for 5th edition yourself you're pretty much out of luck unless you've got access to an internal S60 SDK.
I need to update the howto guides with this information (as the situation is slightly worse than I thought). I can post a build of 4.2 that'll probably work on pre-S^3 devices if you really need, I was mainly trying to cut down on the amount of releasing I have to do every time.