Stripping problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Stripping problem

Sebastián Sastre
Hi all,

  I made my own stripper for an image who answers the set of packages
that are needed to run the app.

  Running the deployed exe throws a DNU error for a method that is
suposed not to be stripped. Looking the deployment log I found that in
fact it was stripped when is suposed not to.

  Then I put by hand that specific method in 'must not strip' method
category, but I have the same results.

  Just for reference the method is:
--------------------------------------------------
ShellNotifyView>>registerMessage: aString

        ^ self class registerMessage: aString
--------------------------------------------------

  I want to understands why the stripper is ignoring that category.
  What is suposed to be wrong?

  Any help would be appreciated,

Sebastian


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Schwab,Wilhelm K
Sebastián,

>   I want to understands why the stripper is ignoring that category.
>   What is suposed to be wrong?

I fear you might already be addressing what I am about to suggest, but I
  usually find that a disappearing "must not strip" method is getting
removed with a package that is removed early in stripping.  Are you
certain that you have included the owning package in the list of
required packages?  Are you certain how the affected method is packaged?
  The stripping log can be a good source of information about the
stripper's reasons for removing things.

Have a good one,

Bill


--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Ian Bartholomew-19
In reply to this post by Sebastián Sastre
Sebastián,

>  Running the deployed exe throws a DNU error for a method that is
> suposed not to be stripped. Looking the deployment log I found that in
> fact it was stripped when is suposed not to.

Does the log show if the method's package or class are being stripped?

ISTR that #mustNotStrip only comes into play for methods that aren't removed
as part of a larger, package or class, stripping decision.

--
Ian

Use the Reply-To address to contact me.
Mail sent to the From address is ignored.


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Sebastián Sastre
Understood,
 the log shows that the package who owns the method is retained
(TaskbarIcons Updated) but also shows that those important methods are
removed.


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Sebastián Sastre
In reply to this post by Schwab,Wilhelm K
It even strip those methods even when I disable all the options of the
wizard. Even not removing any unwanted package.
The strippong log points that the removal is in the "Removing methods
that are not required or which must be stripped" section:
"Removing methods that are not required or which must be stripped
.....
Removing ShellNotifyView>>dispatchRegistered:wParam:lParam:
Removing ShellNotifyView>>onDestroyed
Removing ShellNotifyView>>register
Removing ShellNotifyView>>registerMessage:
Removing ShellNotifyView>>unregister
Removing ShellNotifyView class>>example
....."
In the section of retained packages, the package who owns the methods
is explicitely listed.

That's why we lost the track of everything here.


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Chris Uppal-3
In reply to this post by Sebastián Sastre
Sebastián wrote:

>  the log shows that the package who owns the method is retained
> (TaskbarIcons Updated) but also shows that those important methods are
> removed.

I think it may be that the method is in method category 'examples' which is one
of the categories, like 'must strip' and, IIRC, 'development' that are always
stripped.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Stripping problem

Sebastián Sastre
You got it Chris. That helped to make the exe.
I've customized my stripper to move the methods of my packages in 'must
not strip' and to remove them from 'examples' explicitely.

thank you,

Seb