×

Discussion Board

Results 1 to 14 of 14
  1. #1
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Question SBSv2 mifconv problem in Symbian^3 sdk

    Hi,

    I'm trying to build my application developed for S60 5th edition in Symbian^3 sdk using SBSv2. I've build the libraries without much issues.

    I read somewhere that using gnumakefile for mif conversion isn't advised for sbsv2. They recommended the prj_extension in bld.file method. This was working for me when I'd tried with few svgs. but my svg count is 78. When I try with all of them, I get errors while building..

    The ways I used were:

    Way1:
    START EXTENSION s60/mifconv
    OPTION SOURCEDIR ../gfx
    OPTION TARGETFILE MyApp_aif.mif
    OPTION HEADERFILE MyApp_aif.mbg
    OPTION SOURCEFILE iconlist.txt
    END

    Using the above way, I was getting the error that "svg or bmp' files were not found.

    Way2:
    START EXTENSION s60/mifconv
    OPTION SOURCEDIR ../gfx
    OPTION TARGETFILE MyApp_aif.mif
    OPTION HEADERFILE MyApp_aif.mbg
    OPTION SOURCES -c32,8 qgn_menu_MyApp \
    -c32,8 qgn_Background_MyApp \
    -c32,8 qgn_MyApp_FNB_Logo1 \
    -c32,8 qgn_MyApp_FNB_Logo2 \
    -c32,8 qgn_MyApp_FNB_Logo3 \
    -c32,8 qgn_MyApp_FNB_Logo4 \
    -c32,8 qgn_MyApp_FNB_Logo5 \
    -c32,8 qgn_MyApp_FNB_Logo6 \
    ......
    ......
    ......
    ......
    -c32,8 qgn_MyApp_FNB_Logo78
    END

    When I try this method, I get a windows exception and get a windows error message without the mif being created.

    Can someone help me..


    Thanks in advance..

  2. #2
    Regular Contributor
    Join Date
    Dec 2010
    Posts
    142

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    I don't know what your error message is, but by default sbsv2 has problem creating mif files. This is due to sdk does not has some required templates.
    Visit this wiki link and step 6 is required solution.
    http://wiki.forum.nokia.com/index.ph...ymbian%5E3_SDK

  3. #3
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    I have followed the link you mentioned. The build works fine when I mention 2-3 svgs. The problem I encounter is when I include all the svgs needed for my project. The count is around 80.

    Quote Originally Posted by dahiya.vinod View Post
    I don't know what your error message is, but by default sbsv2 has problem creating mif files. This is due to sdk does not has some required templates.
    Visit this wiki link and step 6 is required solution.
    http://wiki.forum.nokia.com/index.ph...ymbian%5E3_SDK

  4. #4
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,567

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    You can try tracking what that Python file and the supplementary makefiles do in that .zip file. Apparently the goal is to create a command file, you could perhaps stop it from getting deleted (if it gets deleted at all, I have not actually tried), and check its internals.

  5. #5
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Question Re: SBSv2 mifconv problem in Symbian^3 sdk

    wizard_hu_
    Can you please clarify. The issue I'm having is when I have a lot of svgs to be converted to mif. The conversion works when there is 3-4 svgs. My project has around 80.


    Quote Originally Posted by wizard_hu_ View Post
    You can try tracking what that Python file and the supplementary makefiles do in that .zip file. Apparently the goal is to create a command file, you could perhaps stop it from getting deleted (if it gets deleted at all, I have not actually tried), and check its internals.

    Thanks in advance.

  6. #6
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,567

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    I do not know Python, and I have not tried Raptor at all. The only thing I did is downloading that plugin, and checked mifconv_wrapper.py. The very end of that file shows that it is going to invoke mifconv.exe with a command file
    Code:
    # run the mifconv tool
    command = [ os.getenv("MIFCONV", options.epocroot + "/epoc32/tools/mifconv" + exe),
                releasables[0], # the first MIF target
                "-F" + commandfile ]
    and the command file is prepared in the preceding code block. The suggestion was to look up where this command file is generated (probably in epoc32\BUILD\...), and checking its contents.

  7. #7
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    I checked the build log and the mifconv is getting run. I can see the parameters of the
    The problem I'm getting is a win32 exception for svgtbinencode.exe. The exception is a access violation one.

    The build log of the conversion:

    <recipe name='mifconvwrapper' target='BITMAP' host='MyCom' layer='' component='' bldinf='C:/Symbian/Nokia_Symbian3_SDK_v0.9/MyApp/group/bld.inf' mmp='' config='winscw_udeb' platform='WINSCW' phase='BITMAP' source='' prereqs=''>
    <![CDATA[
    + C:/Symbian/Raptor/win32/python264/python.exe C:/Symbian/Nokia_Symbian3_SDK_v0.9/epoc32/tools/mifconv_wrapper.py --epocroot=C:/Symbian/Nokia_Symbian3_SDK_v0.9 --extroot=C:/Symbian/Nokia_Symbian3_SDK_v0.9/MyApp/group --make=BITMAP --manifest=C:/Symbian/Nokia_Symbian3_SDK_v0.9/epoc32/build/MyApp/c_07905f94e9292cdb/MyApp_aif.mif_mif '--platforms=WINSCW udeb' --target=MyApp_aif.mif --header=MyApp_aif.mbg '--sources=-c32,8 qgn_menu_MyApp qgn_Background_MyApp qgn_MyApp_Logo qgn_MyApp_Icon1 qgn_MyApp_Icon2 qgn_MyApp_Icon3 qgn_MyApp_Icon4 qgn_MyApp_Icon5 qgn_MyApp_Icon6 qgn_MyApp_Main_Icon7' --sourcedir=../gfx
    error: 'C:/Symbian/Nokia_Symbian3_SDK_v0.9/epoc32/tools/svgtbinencode.exe C:/Symbian/Nokia_Symbian3_SDK_v0.9/epoc32/build/MyApp/c_07905f94e9292cdb/qgn_MyApp_Icon4.svg' failed

  8. #8
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,567

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    Aha, the good old svgtbinencode, http://wiki.forum.nokia.com/index.ph...dition_FP1_SDK, apparently still valid.
    You can try checking if Just In Time debugging is enabled, and disabling it. The setting is in the emulator (Tools/Preferences - in the menu bar on the top). Rationale: many of the command line tools in the SDK are actual Symbian executables (they are using the libraries from epoc32\release\winc\urel, winc is the Windows command-line target), and they are using the same settings as the emulator.
    Compression is a good thing, especially since you have ~80 .svg files, so the /X switch should be the last attempt I think.

  9. #9
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Question Re: SBSv2 mifconv problem in Symbian^3 sdk

    wizard_hu_,

    Just-in-time is disabled. I'm aware of the /X switch but not sure how to use it in declaration for SBSv2 build in the bld.inf file.

    START EXTENSION s60/mifconv
    OPTION TARGETFILE MyApp_aif.mif
    OPTION HEADERFILE MyApp_aif.mbg
    OPTION SOURCEDIR ../gfx
    OPTION SOURCES -c32,8 qgn_menu_MyApp \
    qgn_MyApp_Logo \
    qgn_MyApp_Icon1 \
    ....
    ....
    qgn_MyApp_Icon80
    END

    Quote Originally Posted by wizard_hu_ View Post
    Aha, the good old svgtbinencode, http://wiki.forum.nokia.com/index.ph...dition_FP1_SDK, apparently still valid.
    You can try checking if Just In Time debugging is enabled, and disabling it. The setting is in the emulator (Tools/Preferences - in the menu bar on the top). Rationale: many of the command line tools in the SDK are actual Symbian executables (they are using the libraries from epoc32\release\winc\urel, winc is the Windows command-line target), and they are using the same settings as the emulator.
    Compression is a good thing, especially since you have ~80 .svg files, so the /X switch should be the last attempt I think.

  10. #10
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    Anyone has a solution for this???

  11. #11
    Regular Contributor
    Join Date
    Aug 2006
    Location
    Cairo, Egypt
    Posts
    67

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    try adding -c32,8 before each svg file as below, hope it works for u

    START EXTENSION s60/mifconv
    OPTION TARGETFILE appName.mif
    OPTION HEADERFILEappName.mbg
    OPTION SOURCEDIR ../gfx/icons
    OPTION SOURCES -c32,8 temp1.svg \
    -c32,8 Adjust.svg \
    -c32,8 Adjust1.svg \
    -c32,8 template1 \
    -c32,8 template2 \
    -c32,8 template3 \
    -c32,8 template4 \
    -c32,8 template5 \
    END

  12. #12
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    I have tried with that options. The problem is that SVGTBINENCODE.EXE is getting called and it gives me the windows prompt. I want to pass the /X flag in the mifconv extension so that it doesn't call SVGTBINENCODE to compress the svgs.

    Anyone found a solution or workaround?

  13. #13
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,567

    Re: SBSv2 mifconv problem in Symbian^3 sdk

    As I see the actual invocation happens in epoc32\tools\makefile_templates\s60\mifconv_step4.make, just before the end. You can try inserting a /X there (perhaps into both branches).

  14. #14
    Registered User
    Join Date
    Aug 2009
    Posts
    22

    Question Re: SBSv2 mifconv problem in Symbian^3 sdk

    wizard_hu_,

    I made the change you suggested but I'm getting the same problem.

    Quote Originally Posted by wizard_hu_ View Post
    As I see the actual invocation happens in epoc32\tools\makefile_templates\s60\mifconv_step4.make, just before the end. You can try inserting a /X there (perhaps into both branches).
    I checked all the make files in that folder and think this is what is causing the problem. The svgbinencode exe is getting called irrespective of any options to convert svg to svgb. This is defined in the mifconv_step3 makefile.

    ##########################################################################################
    # Rule for calling SVGTBINENCODE ie SVG to SVGB conversion
    #

    %.svgb : %.svg
    # If SVGENCODINGVERSION contains anything else but whitespace, provide it to svgtbinencode with -v option
    $(SVGTBINENCODE) $(addprefix -v ,$(SVGENCODINGVERSION)) $<
    I also went through the python script file mifconv_wrapper.py which also has a part to use the encoder..

    # the SVG files are copied to a temporary location because svgtbinencode does
    # not have a separate input and output option. This is crazy and should be
    # fixed, since unnecessary copying reduces build performance.
    svgb = []

    # put temporary files in the same directory as the manifest file, since it
    # is known to be unique to this component.
    tmpdir = os.path.dirname(options.manifest)

    # on windows the tools end with .exe
    if sys.platform.lower().startswith("win"):
    exe = ".exe"
    else:
    exe = ""

    # the offending tool...
    svgoptions = [os.getenv("SVGTBINENCODE", options.epocroot + "/epoc32/tools/svgtbinencode" + exe)]
    if options.svgversion:
    svgoptions.extend( ["-v", options.svgversion] )

    # track whether anything was regenerated or not
    regenerated_svgb = False

    for (opt, src) in svg:
    svgcopy = tmpdir + "/" + os.path.basename(src)
    if options.debug:
    print "svg copy =", svgcopy

    if options.make == "CLEAN":
    # remove svgcopy and svgcopy + "b" if they exist
    try:
    os.unlink(svgcopy)
    os.unlink(svgcopy + "b")
    except:
    pass
    else:
    svgb.append(svgcopy + "b")

    if not os.path.isfile(src):
    sys.stderr.write("error: source file '%s' does not exist\n" % src)
    sys.exit(1)

    # copy the SVG if no copy exists or if the copy is old
    if not os.path.isfile(svgcopy) \
    or os.path.getmtime(svgcopy) < os.path.getmtime(src):
    try:
    shutil.copy(src, svgcopy)
    except Exception, ex:
    sys.stderr.write("error: %s\n" % str(ex))
    sys.exit(1)

    # run svgtbinencode to generate the SVGB file if we need to
    if not os.path.isfile(svgcopy + "b") \
    or os.path.getmtime(svgcopy + "b") < os.path.getmtime(svgcopy):
    command = svgoptions + [svgcopy]
    if options.debug:
    print "command =", " ".join(command)

    returncode = subprocess.call(command)
    if returncode != 0:
    sys.stderr.write("error: '%s' failed\n" % " ".join(command))
    sys.exit(1)

    regenerated_svgb = True
    SVGTBINENCODE:=$(EPOCROOT)epoc32$/tools$/svgtbinencode
    Does anyone know if uncommenting or changing some part of the code will bypass the encoding part without affecting the build process...

Similar Threads

  1. SBSv2 is Missing?
    By ManuMies in forum Carbide.c++ IDE and plug-ins (Closed)
    Replies: 3
    Last Post: 2010-05-10, 20:22
  2. mifconv problem
    By ojve in forum Symbian Tools & SDKs
    Replies: 2
    Last Post: 2010-03-12, 08:37
  3. icon problem - mifconv bmp
    By marcinkrol84 in forum Symbian User Interface
    Replies: 13
    Last Post: 2007-08-24, 13:23
  4. Replies: 1
    Last Post: 2007-04-27, 13:29
  5. Minor problem in MIFConv
    By sebgie in forum Carbide.c++ IDE and plug-ins (Closed)
    Replies: 1
    Last Post: 2006-02-21, 15:15

Posting Permissions

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