RE: FLI and delivery
> ...
> I encounter the following error when delivering at level 2
>
> Error: Failed to find address for external symbol "ServiceMain".
>
> I guess it is caused by the definition
>
> (fli:define-foreign-callable ("ServiceMain" :encode :source
> :result-type :void)
> ((argc dword)
> (argv (:pointer :pointer)))
> ...
>
> (deliver 'ntservice::standard-main "mysrv.exe" 2
> :keep-symbols '(|%FOREIGN-CALLABLE/ServiceMain|
> service-control-handler servicemain |ServiceMain| "ServiceMain")
> :interface :capi)
>
> but none of the :keep-symbols helps.
>
> ...
I'm sorry - the solution is quiet simple:
(deliver 'ntservice::standard-main "mysrv.exe" 5
:multiprocessing t
:keep-symbols '(ntservice::|%FOREIGN-CALLABLE/ServiceMain|))
makes the app working and utterly small (3MB) (I just forgot to mention the package).
Rem: This is the most compact working delivery command for my version of ntservice.lisp
Andreas