|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
Tool distributionI have a working tool which has no gui and uses no graphics. It uses only functions in the standard C library and the basic GNUStep libraries.
How can I, or even can I, package this tool so that it can be run on a Linux system with no GNUstep installed? Or if that is not possible, what is the minimum set of libraries I need to install on the target system to get the tool to work? (I'm not even sure the target has gcc.) I have compiled the tool with shared=no, which produces a binary about 3 times the size of the binary produced without the flag, so something is being linked in. However, the binary will not execute on the target machine. Instead, we get the output 2008-12-06 11:09:28.398 mercury.exe[811] Unknown time zone name `PST'. 2008-12-06 11:09:28.399 mercury.exe[811] Using time zone with absolute offset 0. 2008-12-06 11:09:28.398 mercury.exe[811] File NSUserDefaults.m: 626. In [NSUserDefaults +standardUserDefaults] Improper installation: No language locale found 2008-12-06 11:09:28.399 mercury.exe[811] NSInvalidArgumentException: HMInput(instance) does not recognize setValue:forKey: Obviously, if I need to install GNUstep base, I will do that. But if I can avoid doing that, I prefer to avoid. I suspect that this problem is the subject of a FAQ somewhere, but I haven't been able to find it. Much obliged for any help. -- Timothy Larkin Abstract Tools Caroline, NY _______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionFYI, help-gnustep is a seldom used mailing list. You have a better chance of getting your question answered on discuss-gnustep.
The first three messages are due to the fact that some of the resources (time zone information, locales) are not found. You can probably just ignore those (unless your tool makes use of NSCalendarDates, etc), although it seems like the code in GNUstep could do a better job of finding the right time zone when there are no resources. The last message seems to be unrelated to a resource or static/shared problem. Do you get this with a normal shared build? Perhaps you could debug it and see where it is coming from. On Dec 6, 2008, at 6:01 PM, Timothy Larkin wrote:
_______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionOn Dec 6, 2008, at 10:12 PM, Adam Fedor wrote:
Can I infer from your reply that my goal is at least possible; that I can distribute the tool even to a platform that does not have libobjc installed? I would like to know that I have the target platform in the correct state before I start debugging the application. Much obliged. -- Timothy Larkin Abstract Tools Caroline, NY _______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionOn Dec 7, 2008, at 5:40 AM, Timothy Larkin wrote: > > Can I infer from your reply that my goal is at least possible; that > I can distribute the tool even to a platform that does not have > libobjc installed? I would like to know that I have the target > platform in the correct state before I start debugging the > application. > Yes, it should be possible. You would have to make sure you statically linked to all libraries that were not on the target machine (even non- GNUstep ones). _______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionIf I compile my tool with "make", it works fine. If I compile it with "make shared=no", it fails, even on the same machine. The failure is caused when I call setValue:forKey on an object that has an instance variable with the same name as key. The stack shows (bottom to top) My tool's call to setValue:forKey GSInvocationCallback -[NSObject forwardInvocation:] -[NSObject doesNotRecognizeSelector:] +[NSException raise:format:] etc. This is, I believe, the first occasion that my program calls setValue:forKey. As far as my environment goes, I have GNUSTEP_HOST=x86_64-unknown-linux-gnu GNUSTEP_HOST_CPU=x86_64 GNUSTEP_HOST_OS=linux-gnu -- Timothy Larkin Abstract Tools Caroline, NY On Dec 7, 2008, at 9:52 AM, Adam Fedor wrote:
_______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionTimothy Larkin wrote:
> I have a working tool which has no gui and uses no graphics. It uses > only functions in the standard C library and the basic GNUStep libraries. > > How can I, or even can I, package this tool so that it can be run on a > Linux system with no GNUstep installed? Or if that is not possible, what > is the minimum set of libraries I need to install on the target system > to get the tool to work? (I'm not even sure the target has gcc.) > On Windows I have tried to build a GNUstep application, not just a tool, that would have all the needed GNUstep libraries and resources in one directory. What was needed for that was some fiddling with the GNUstep.conf file that went into the same directory. But your request seems to be to get one file only and have that run on a machine without GNUstep. I think this is possible (given that you recompile all needed libraries statically), but will be strongly restricted in the available functionality. Fred _______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionOn 7 Dec 2008, at 17:42, Fred Kiefer wrote: > Timothy Larkin wrote: >> I have a working tool which has no gui and uses no graphics. It uses >> only functions in the standard C library and the basic GNUStep >> libraries. >> >> How can I, or even can I, package this tool so that it can be run >> on a >> Linux system with no GNUstep installed? Or if that is not possible, >> what >> is the minimum set of libraries I need to install on the target >> system >> to get the tool to work? (I'm not even sure the target has gcc.) >> > > On Windows I have tried to build a GNUstep application, not just a > tool, > that would have all the needed GNUstep libraries and resources in one > directory. What was needed for that was some fiddling with the > GNUstep.conf file that went into the same directory. But your request > seems to be to get one file only and have that run on a machine > without > GNUstep. I think this is possible (given that you recompile all needed > libraries statically), but will be strongly restricted in the > available > functionality. For a completely standalone tool, one of the things you might want to do is to build GNUstep-base configured so that GNUSTEP_USER_DEFAULTS_DIR is set to ':INTERNAL:' ... which prevents any attempt to access the user's defaults database. You do that by setting the value in a GNUstep.conf file, and adding '-- with-default-config=filename' when you configure the base library. _______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
|
|
Re: Tool distributionIt's possible that ffcall is not linked as a static library. Or perhaps somehow the tool is picking up the wrong library to link in. I don't really know how the setValue methods work, otherwise I could perhaps help more.
On Dec 7, 2008, at 9:43 AM, Timothy Larkin wrote:
_______________________________________________ Help-gnustep mailing list Help-gnustep@... http://lists.gnu.org/mailman/listinfo/help-gnustep |
| Free embeddable forum powered by Nabble | Forum Help |