Packaging Rant

73 views
Skip to first unread message

Louis LaBrunda

unread,
May 7, 2021, 10:39:58 AM5/7/21
to VAST Community Forum
Hi All,

I'm still fighting with packaging my Raspberry/Seaside program on V9.2.2.  I'm sure I will get it done but I keep hitting things that drive me nuts.  For example the packager complains:

SciSslContext>>#certificate: - No implementors of #osX509
There are no implementors of #osX509 included in the packaged image.

well #osX509 is a method of #SciSslX509Certificate which is a class in #SciSslSocketInterface.  The packaging rules in the #SciSslSocketInterface app say:

packagingRulesFor: aRuleCollector
"Do Not Reduce anything in this application or subapplications"
aRuleCollector doNotReduceSubApplicationNamed: #SciSslSocketInterface.
aRuleCollector doNotReduceSubApplicationNamed: #SciSslOpenSSLInterface.
aRuleCollector doNotReduceSubApplicationNamed: #SciSslOpenSSLInterfaceSSL.

which says don't reduce me.  But the packager doesn't listen and reduces it anyway.

I have my own rule that says to include the class named #SciSslX509Certificate.  Again the packager doesn't care and removes the class.  Then, as if to add insult to injury, bitches that there are no implementers of #osX509.

I could add another rule telling the packager to ignore to call to #osX509 but who knows if it will ignore the method call or ignore my rule to ignore the method call.

Also, I don't make a specific call to #osX509 but who knows if something I call calls it and it is really needed.

As part of the save packaging rules there is a list of applications to package.  In my packaging rules, I run that list and tell the packager not to reduce any of them.  The packager doesn't care.

Lou

P.S.  Sorry for the rant but I do feel a little better.

Mariano Martinez Peck

unread,
May 7, 2021, 11:03:21 AM5/7/21
to VA Smalltalk
Hi Louis, 
I don't know what is going on with your packaging, but I cannot reproduce it. See attached screenshots. I also have SciSslSocketInterface in the list of my packaged apps and everything seems correct: I see no reported problem and the method osX509 is indeed included. 

Maybe you can go to your image contents, go to that method and see what is the rule that is reducing it. Let me know if you need help with this step. 

Best,

Mariano


--
You received this message because you are subscribed to the Google Groups "VAST Community Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/9df442ad-3c9d-4827-b1b2-e96e53600da5n%40googlegroups.com.


--

Mariano Martinez Peck

Senior Software Engineer

 mp...@instantiations.com
 @MartinezPeck
 /mariano-martinez-peck
 instantiations.com
TwitterLinkedInVAST Community ForumGitHubYouTubepub.dev
Screen Shot 2021-05-07 at 11.58.54 AM.png
Screen Shot 2021-05-07 at 11.59.06 AM.png
Screen Shot 2021-05-07 at 12.00.01 PM.png

Joachim Tuchel

unread,
May 7, 2021, 3:45:05 PM5/7/21
to VAST Community Forum
Louis,

not that I actually know what I am talking about, but is it possible that your packaging instructions were created in an older VAST version (9.1 or such) and are not up to date?
I ask because I seem to remember having "strange" effects with an unfinished migration of my PackagingRules for Kontolino a few releases ago...

maybe this helps. likely not.

Joachim

Louis LaBrunda

unread,
May 7, 2021, 5:34:29 PM5/7/21
to VAST Community Forum
Hi Joachim,

That is quite possible.  Tomorrow I will try to recreate the packaging from the beginning.

That said, I have managed to get the packager to complete without any errors but and it is a very big BUT, the resultant image is only 3MBs, it should be over 5MBs and gives a walkback when I run it.  It seems to be missing pool dictionaries and classes.

Lou

Louis LaBrunda

unread,
May 10, 2021, 3:12:03 PM5/10/21
to VAST Community Forum
Hi All,

I have tried everything I can think of, clean image, loading just what is needed into the UNIX image, manually packaging, following the Seaside Traffic Light example, everything.  Every time the packager goes to completion without any errors.  But it produces a small 3MB image compared to my last version of the program which was 5.2MBs.

The new image throws a walkback because of a bug in: 

AbtMRIManager>registerStringsForApp:

That doesn't handle getting a nil from #findRequest: properly.  #findRequest: returning nil is probably because of whatever is missing from the image.  I fixed the bug, in the hope that things would go farther and help me learn what is missing.  The program now exits with a return code of 60 and no walkback.

I think the code is trying to set up the NLS stuff.  I'm sure it is all fine from the point of view of having all the NLS files in the right place and the .ini file pointing to them because the 5.2MB image works just fine.

I'm guessing that the saving of the packaged image goes wrong somehow because of the new code I have added to the program.  This new code accesses a web site to get the local weather, specifically the probability of rain for today.  I use the STON... stuff to parse it.  Seaside is know to be difficult to package.  The code to access web sites uses support packages that can also be difficult to package.

At this point I would love a circumvention, like building the UNIX image, saving it and using the (large) saved image.  I tried that but as expected it didn't work.  I expect something has to be done to it to get it to start with the right Seaside class.  This is normally set up with the packager.  Does anyone have any idea how that is done?

Lou

Mariano Martinez Peck

unread,
May 12, 2021, 12:58:02 PM5/12/21
to VA Smalltalk
Hi Louis, 

I recommend you to send an email to VAST support. Please send:

1) Your latest packaging instruction class fileout
2) The latest walkback you are currently getting 
3) If you can, a manager.dat + dev image so that we can trigger the packager ourselves
4) Please confirm which VAST version and build number you are using to package 

That way, we can allocate more engineering time and investigate. 

Best, 




Louis LaBrunda

unread,
May 12, 2021, 4:37:30 PM5/12/21
to VAST Community Forum
Hi Mariano,

I was in the middle of doing just that when I saw this post.  I have added to the files I'm suppling, thanks to your suggestion.

Lou

Louis LaBrunda

unread,
May 13, 2021, 5:02:38 PM5/13/21
to VAST Community Forum
Hi Everyone,

I am very pleased to announce that Mariano was able to spot my mistake that caused the creation of small/unworkable packaged image.  It was the rulePolicyName being used was 'AbtExplicitXDStartUpImageComponentRulePolicy'.  I'm not sure how this happened as it wasn't the name I was originally using when this started.  I expect that while struggling with the packager and a couple bugs in its code, I must have tried that rule policy name and it got saved in my packaging instructions and then never removed.

All is well now.  I have also been able to go back to my automated packaging.  I added a menu item to the popup menu when you right click on a class.  If the class is the main class of the system to be packaged, the menu item can be clicked and the packaging is off and running.  Much easier than doing the whole thing manually.

I have a few more changes for this application but I will tell you all about it in another post.

Lou

Reply all
Reply to author
Forward
0 new messages