Re: Forwarded message: Thinking about GNUstep !
On Thursday, March 29, 2001, at 01:21 PM, Manuel Guesdon wrote: From: Christian Schulte [EMAIL PROTECTED] Date: Thu Mar 29, 2001 01:11:48 PM Europe/London To: [EMAIL PROTECTED] Subject: Thinking about GNUstep ! From Manu Thu Mar 29 14: 15:01 2001 Delivered-To: [EMAIL PROTECTED] X-Sieve: cmu-sieve 1.3 User-Agent: Mozilla/5.0 (X11; U; Linux 2.4.2 i686; de-DE; m18) Gecko/20010131 Netscape6/6.01 X-Accept-Language: de X-Sb-Processed: True Hi there ! I really have some questions about GNUstep. (I think there will be many people who asked the same allready but I did not find a statement) Does it get supported anymore ? I'm surprised at this question ... I would have thought that the big links to 'New Releases' and 'News for week ending March 24' on the website would be answer enough! GNUstep is being actively developed. I really would like to develope Apps with GNUstep but I even can't install it on my linux machine after downloading everything. I can compile all except the gui, guile examples and xgpsbase make and libobj work! It should all work ... If you have a RedHat-6.? system or similar, try downloading the RPMs. But in general, buyilding should be pretty easy ... if you follow the instructions in the HOWTO. Is there a HOWTO which does not only say compile all the packages abovebecause this does not work. The HOWTO on the website should be accurate. It tells you what to install, and in what order to install ... you should be fine if you read it fully and follow instructions exactly. The most common problem seems to be forgetting to do '. /usr/GNUstep/System/Makefiles/GNUstep.sh' The other thing is about the MacOS X compatibility. The links to the Apple developer site on www.gnustep.org link to apple but there is only mentioned that NeXT products are no longer supported. SO: Do Apps written with GNUstep easily compile on MacOS-X ? Yes. You can use GNUstep specific extensions (and decrease portability), or you can set a preprocessor flag to enforce strict compatibility. Is it worth getting into GNUstep and no waste of time because of not beeing supported any more ? Where do you get that idea? Do GNUstep Apps run without GNUstep on KDE or GNOME or even twm ? No (unless static linked) ... GNUstep apps normally require the GNUstep shared libraries, and generally need some support tools and daemons for certain networking capabilities. Should I begin learning more about GNUstep or just use qt-lib and forget about all that here ? Whichever. Obviously I prefer GNUstep, but realistically, for a GUI app, you have a greater audiance for a qt application, and a more stable (though IMO inferior) set of technology. For non-gui applications, I do not believe you can get a better set of development libraries than gnustep-base with gnustep-make (and JIGS if you want to program in Java or use Java libraries), and while I have no personal experience of gs-web, I've heard nothing but good about it. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: XML parser...
On Monday, October 1, 2001, at 01:37 PM, Kotesh wrote: you mean XmlRpc-WO45-10b4r1.zip contains parser written in objectiveC ?? Infact I am looking for some XML parser that supports DTD validations and written in OBjectiveC. I have libxml package but not sure supports different validations. libxml does support validation - but it's written in C rather than ObjC However, the GNUstep base library wraps the C code in ObjC quite nicely. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: .Net and Distribute Objects
On Sunday, September 8, 2002, at 01:00 PM, José María Ruiz Aguilera wrote: Some phylosophical questions: a) Distribute Objects looks like very similar to .Net concept... Is this true? Vaguely ... both deal with distributed services. b) With all this software movement to big, complex architectures, to make more productive the enterprises (J2EE, .NET, MONO...) What about GNUstep concept? Is it obsolete? We look like a moskito fighting with an elephant. I don't think it's obsolete ... DO is simpler, easier to use, and very flexible ... which implies to me that the others are obsolete. Of course you can build bridges if you need to interoperate with the other technologies. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: Communication between applications
On Thursday, October 10, 2002, at 02:50 am, Yen-Ju Chen wrote: Hi, How could two applications communicate with each other ? It seems the NSNotification only work _WITHIN_ an application itself. Should I use DO to do that ? The situation is that I have two applications: MusicBox and Mixer. When I change something in MusicBox, I need to notify Mixer that something changed, and vice versa. NSNotification seems not to work in this situation. You have a few options - depending on how flexible the communication needs to be ... If the apps just need to send simple notifications with only string data, you can use an NSDistributedNotificationCenter. If the apps need to exchange information with a variety of well defined types, you can set up an NSPasteboard to pass the data. If the apps need to actually send messages to each other and interoperate very closely, you need to use NSConnection (the other two mechanisms are implemented on top of NSConnection and using an intermediary server process ... so direct use of NSConnection is more work to code, but is more powerful and more efficient). ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: How to use [NSURL loadResourceDataNotifyingClient:usingCache:] ?
On Monday, March 24, 2003, at 09:54 pm, Yen-Ju Chen wrote: Hi, I try to use [NSURL loadResourceDataNotifyingClient:usingCahce:], but it doesn't work at all. I implement both -URLHandleResourceDidBeginLoading: and -URLResourceDidBeginLoading: in the client. But they are never called. Does it work in GNUstep ? Or am I doing something wrong ? You are doing something wrong ... 1. The -URLHandleResourceDidBeginLoading: method is sent to the NSURL object, not to its client. So implementing this in the client will have no effect. If you want the method to be called you need to make your object a client of an NSURLHandle rather than an NSURL. 2. The -URLResourceDidBeginLoading: method is not part of the URLClient protocol, so NSURL clients should not and do not get sent a method notifying them when loading starts. This is presumably because the only way to make an object a client of an NSURL is by sending the NSURL instance a -loadReasourceDataNotifyingClient:usingCache: method. ie your code already knows that loading has just begun, so it can tell the client that itsself. I can't think of any other reason why Apple would have decided not to put a method like that in the protocol. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: How to use [NSURL loadResourceDataNotifyingClient:usingCache:] ?
On Tuesday, March 25, 2003, at 04:53 pm, Yen-Ju Chen wrote: Thanx a lot. It works. But I notice it doesn't work in the background. Is it supposed to be non-blocking ? I don't know ... It's written to block. I guess I'll have to check the apple implementation and change the GNUstep one to match if necessary. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: How to use [NSURL loadResourceDataNotifyingClient:usingCache:] ?
On Tuesday, March 25, 2003, at 05:38 pm, Richard Frith-Macdonald wrote: On Tuesday, March 25, 2003, at 04:53 pm, Yen-Ju Chen wrote: Thanx a lot. It works. But I notice it doesn't work in the background. Is it supposed to be non-blocking ? I don't know ... It's written to block. I guess I'll have to check the apple implementation and change the GNUstep one to match if necessary. I've looked at the apple stuff, and it does seem it does a background load. I've modified GNUstep CVS ... but I don't have a test program ready ... want to try it out? ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: nsstringencoding
On Thursday, June 26, 2003, at 09:23 am, reuss wrote: NSStringEncoding *kodolas = [NSString availableStringEncodings]; NSLog(@[EMAIL PROTECTED],kodolas); and I get Segmentation fault what is wrong my code? The NSStringEncoding type is basically an integer ... to print a zero terminated array of integers you need something like while (*kodolas != 0) { NSlog(@%d, *kodolas); kodolas++; } ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: encoding to latin2
On Thursday, June 26, 2003, at 10:50 am, reuss wrote: I am unable to convert the following legyõz to latin2 string with dataUsingEncoding:9? I would like to put in an NSDictionary, but I got the message: Uncaught exception NSInvalidArgumentException, reason: Tried to add nil That means the string you were trying to convert to latin2 contained characters which can't be represented in the latin2 encoding. Most likely you specified an illegal string to start with ... the common mistake is to put non-ascii characters in a string literal ... literal strings of the form @my string may only contain ascii characters so writing @legyõz would be illegal and would cause problems. To get non-ascii data into a string, you could do something like - NSData *d = [NSData dataWithBytes: legyõz length: 6]; NSString s = AUTORELEASE([[NSString alloc] initWithData: d encoding: NSLatin2StringEncoding]); or you could encode it as unicode data in a literal propertylist string by using the \U convention to specify a sixteen bit unicode character as a using a hexadecimal value (I don't know the unicode for õ, but you see what I mean) ... s = [@legy\Uz propertyList]; ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: unicode transcription table
On Thursday, June 26, 2003, at 12:01 pm, reuss wrote: there is a table to see what the following unicode transcription is? Probably on the usincode web site or somewhere similar, but I don't specifically know of one. 00f6 As it's an 8bit value (ie nothing set in the top byte) it's a latin1 character because unicode is a superset of latin1. My gnu/linux man page for latin1 says that f6 is 'latin small letter o with diaeresis' ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: partial matches in NSString
On Sunday, June 29, 2003, at 03:15 pm, reuss wrote: How can I do find in NSStrings to get partial matches? See the documenation for -rangeOfString:options:range: ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: debian, gnustep-gui and doc
On Sunday, July 6, 2003, at 03:13 AM, Adam Fedor wrote: Well this seems to be causing a lot of trouble (beside this). Maybe we should just not build Documentation in the normal build, but provide instructions for doing it in the INSTALL file? People complain (rightly) about the state of the documentation ... so I think we should at least build it by default and try to get it improved that way. On the other hand, it seems reasonable to have a way for people to use a command-line option to override that (eg. make doc=no) ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: Languages files
On Tuesday, December 9, 2003, at 02:22 AM, Rob Burns wrote: Hello, Could someone explain the arrangement of the NSEarlierTimeDesignations and NSLaterTimeDesignations arrays. In the default Englsh file the Earlier array has four entries and the Later array has one. does each entry have a special designation? No. or are they just a random collection of related words? Pretty much. Can the arrays have less or more elements? Yes. The only program I've seen that uses these arrays is GNUMail and it does so by numbered elements. Are there any standard methods that use specific elements of these arrays? Is there some documentation for the keys in this file anywhere? [NSDate-dateWithNaturalLanguageString:] Have a look at the documentation and source for that method. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: Using NSSocketPort
On 16 May 2004, at 11:42, Nicolas SANCHEZ wrote: Hello, I want to connect to a server using NSSocketPort. What is the Class I had to use to read and write on the socket ? You almost certainly don't want to use NSSocketPort ... that's a class for Distributed Objects connections, and I assume that if you meant you wanted to connect to a distributed objects server you would already know that you use NSConnection for DO. Probably you want to connect to a non-GNUstep server process which communicates via TCP/IP. For that you should be using the NSFileHandle class. GNUstep has +fileHandleAsClientAtAddress:service:protocol: to establish such a connection. eg. To connect to a network news server you might do - myHandle = [NSFileHandle fileHandleAsClientAtAddress: @[EMAIL PROTECTED] service: @nntp protocol: tcp]; See http://www.gnustep.org/resources/documentation/Developer/Base/ Reference/NSFileHandle.html ___ Help-gnustep mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-gnustep
Re: Cannot build gnustep-base documentation
On 20 Jun 2004, at 16:04, Eric Heintzmann wrote: Once again, the gnustep-base documentation cannot be built when packaging for debian. On debian system all packages are built as simple user, and root permissions are simulated by the fakeroot program. But this fakeroot doesn't allow to write in /root (but since nothing is installed here, this should not be a problem). But it seems that autogsdoc need that something is written in /root : snip Last time Richard wrote a patch that has solved the issue. (on NSUserDefaults if I remenber well) Is this patch has been reverted ? I don't think it got reverted ... but I also don't recall the problem being exactly the same. As I recall, I changed the code to create a read-only defaults database in memory if the defaults database could not be read on disk (because it wasn't there). This time, the problem appears to be that the system can't even create the defaults directory ... it's possible that additional code to make sure the directory exists was added at some point. Anyway, I've changed the code to continue when there is no accessible directory too. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: MacOSX GNUstep build issues
On 9 Dec 2004, at 15:21, Adam Fedor wrote: On Dec 9, 2004, at 2:19 AM, Kree Cole-McLaughlin wrote: Ooops, you're right, I got it backwards. I guess libgnustep-base is linking agaisnt the shared libraries, which means every time I want to build an app I need to include the libraries in the linking command (what a pain!) Does anyone know how to force darwin to include the static versions of the libraries in libgnustep-base? Do I have to move the shared libraries out of the way while I compile GNUstep? There should be a better way. Um... I'm not really sure what's going on here. You shouldn't need to include basic libraries like libxml, etc in every linking command. What errors are you getting? What are you compiling? Try running make like this: I believe that on MacOS-X/darwin the linker does not work 'properly', in that the dynamic linking of libraries used by other libraries does not take place, so you have to link all libraries into the executable explicity. This is a MAJOR pain IMO. For instance, if there is a C library which I want to wrap in a nice Object-Oriented interface in ObjC, I would generally build a new ObjC library wrapping it, and link my ObjC library with the C library. Then on all systems other than MacOS-X I would just link my ObjC library into a program, but on MacOS-X I would have to link the program with both my ObjC library AND the orignal C library. I'm not sure, but I think it may be even worse ... so if I build a bundle which uses a library, a program which tries to dynamically load that bundle must have been linked with the library the bundle uses. That being said ... I'm not completely sure of all this, it's just the impression I've gained when trying to use MacOS-X. Someone else may have a surer idea of the exact behavior. Even better, someone may know of compiler/linker flag combinations which could be used to make MacOS-X act like a normal unix system. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Problem with SQLClient
On 14 Dec 2004, at 13:39, Käck Tim wrote: Hi, I am quite new to Objective-C (and C as well). Now, I am trying to build an application which needs to access a MySQL database. I was tinkering with the testapplication testMysql.m for the SQLClient library, but I cannot figure out how to turn all debugging off. I have tried with [db setDurationLogging: -1]; But still I get loads of output. Perhaps I should override the - debug method in the logging category? Have you got the latest code from CVS? You should be able to turn off debugging with [db setDebugging: 0] and query duration logging with [db setDurationLogging: -1] The testMysql.m program uses [db setDurationLogging: 0] to turn on logging of *all* database queries ... so you would want to remove that line, from the program. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Problem with SQLClient
On 15 Dec 2004, at 12:25, Käck Tim wrote: Hi Richard, Strangely enough, I doesn't help: db = [SQLClient clientWithConfiguration: nil name: @test]; [db setDebugging: 0]; [db setDurationLogging: -1]; NSLog(@Logging level is now: %@, [db durationLogging]); NSLog(@Debuggings is now: %@, [db debugging]); Gives the following: 2004-12-15 13:07:24.000 SQLTest[8230] Logging level is now: (nil) 2004-12-15 13:07:24.000 SQLTest[8230] Debuggings is now: (nil) 2004-12-15 13:07:24.000 SQLTest[8230] The current database name is:test -- This ok. This is a NSLog call 2004-12-15 13:07:25.000 SQLTest[8230] k type:253 size: 5 val:hello 2004-12-15 13:07:25.000 SQLTest[8230] char1 type:254 size: 1 val:X 2004-12-15 13:07:25.000 SQLTest[8230] intval type:3 size: 1 val:1 2004-12-15 13:07:25.000 SQLTest[8230] realval type:5 size: 4 val:9.99 2004-12-15 13:07:25.000 SQLTest[8230] b type:252 size: 256 val: Thanks ... that was enough to track the problem down to an error in the mySQL bundle. I' have committed a fix to CVS, so if you update from CVS and build (and *install*) that fix, the problem should go away. I emphasise 'install', since the offending code is in a loadable bundle, and if you test without actually having installed that bundle you may be loading the previously installed bundle. ___ Help-gnustep mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: GNUstep autogsdoc
On 31 Dec 2004, at 13:08, Thomas Gamper wrote: Hi! I have some questions reguarding the autogsdoc tool. I am using your tool to generate documentation for a large software project at the Technical University of Vienna. The software I'm talking about consists of a large set of libraries written in Objective-C. I was able to generate documentation separately for each of the libraries, but I failed to index the documentation I created for other libraries. In detail: I generate documentation for the base library called libObjective using autogsdoc -Project libObjective -MakeFrames YES -DocumentationDirectory ~/arthtml/libObjective *.h then I generate documentation for the next library, libNode,using autogsdoc -Project libNode -Projects ~/arthtml/libObjective/libObjective.igsdoc -MakeFrames YES -DocumentationDirectory ~/arthtml/libNode *.h But there is no hyperlink between classes in libNode and their superclasses in libObjective. What am I doing wrong? If your libObjective project has already been installed in the local domain, references to classes in it should automatically be found. You should only need to use the -Projects flag if you are making references to uninstalled projects (or if the libObjective project has been installed in another location). The -Projects flag is for references to uninstalled projects, and it takes a *dictionary* as an argument, not a filename. The dictionary contains (as keys) the paths to the .igsdoc files of the uninstalled projects, and (as values) the paths to the directories in which the uninstalled projects will eventually be installed. Unless you have interdependencies between projects, the simplest way to do things is to build documentation for dependent projects after installing the documentation of the projects they depend upon, thus avoiding the need for the -Project flag. Another question: AGSHtml does not support prjref tags, are you planning to add support for them or not? I think we are waiting for someone to volunteer to implement them :-) ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: strange behaviour?
On 21 Jan 2005, at 20:05, Christian Klein wrote: Hello, I have this piece of code in my little test application: NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; if([ud objectForKey: @NSWriteOldStylePropertyLists] == NO) NSLog(@returned NO\n); else NSLog(@returned YES\n); if(GSMacOSXCompatiblePropertyLists() == NO) NSLog(@returned NO\n); else NSLog(@returned YES\n); and my GNUstepDefaults looks like this: { NSGlobalDomain = { NSWriteOldStylePropertyLists = 0; }; } when the code above runs, it outputs: 2005-01-21 20:57:57.000 ab[61277] returned YES 2005-01-21 20:57:57.000 ab[61277] returned NO Shouldn't the result be the same? I think it's a bug in your code ... you meant to use boolForKey:, but actually used objectForKey: The program output is what I would expect to see. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: FreeBSD 5.3 setup help
Forgive me for butting in, but you and David appear to be talking without connecting ... at least you appear to be ignoring his points. Your point seems to be basically that use of '/proc' is not portable and that the /proc api is bad. That may be true, but it's not a useful point since we have to work with the features actually available on a system. Certainly most of the ms-windows api is neither portable nor good, but we still have to use it on a windows system. Davids point was that he would like to see examples of specific cases where the existing code does not work as it should on some systems, preferably with patches to fix it on those systems (ones which don't break other platforms), so we can improve things. Apart from your 'side note' below, you seem to have ignored this request. On 2 Feb 2005, at 13:12, Chris Vetter wrote: I said, even though there is no /proc on FreeBSD 5.x, you can always use --disable-proc (or something similar) on 'configure' since BSD does have libkvm. The problem with NSProcessInfo is, that if libkvm does NOT exist, and tries /proc instead, it most likely will fail, because NSProcessInfo tries to open and read file '/proc/pid/cmdline' which may well exist on Linux, but does not necessarily exist on other systems. Or if it does, it does not necessarily have the expected information. Of course code would fail if it tried to use system-specific features on the wrong system. David probably considered that too obvious a point to be worth mentioning. The 'configure' scripts are used to detect what features are available on a particular system and cause the NSProcessInfo code to be compiled with the appropriate feature support. On a side note regarding NSProcessInfo+load: The arguments passed to kvm_open() differ from what Solaris' kvm_open() expects and kvm_getprocs() doesn't even exist on Solaris. Contrary to what the opening comment states about being compatible. That's interesting information. Do you have code which *does* work on Solaris and a patch to alter the configure script to detect the difference that you can contribute? I suspect that the author of the kvm code developed it on BSD rather than Solaris. Does this KVM code actually get used on Solaris? I would have thought that, if code containing a non-existent function was used, we would get compile errors on a solaris machine, and I haven't heard of them. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Double free invisible due to autorelease pool
On 2 Feb 2005, at 19:27, Sébastien Pierre wrote: Hi all, I am currently in big trouble trying to find the cause of a double free which occurs when releasing an autorelease pool. Has anybody any idea to know how to identify where an autoreleased objects was freed (released, I guess) before being autoreleases ? [NSObject+enableDoubleReleaseCheck:] might well help you. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Double free invisible due to autorelease pool
On 3 Feb 2005, at 08:33, Sébastien Pierre wrote: Hi Richard, Adam, First, thanks a lot for your answers ! Le 2 févr. 05, à 22:19, Adam Fedor a écrit : I am currently in big trouble trying to find the cause of a double free which occurs when releasing an autorelease pool. Has anybody any idea to know how to identify where an autoreleased objects was freed (released, I guess) before being autoreleases ? [NSObject+enableDoubleReleaseCheck:] might well help you. This helped me to see that there is actually a double release check, but I would like the debugger to break on the raising of the NSGenericException. On OSX, there is the NSHangOnUncaughtException = YES; provided by NSDebug, but it does not seem to be on GNUstep :/ Is there any workaround ? I generally run under gdb and set a breakpoint in raise:format: but if you have other exceptions being raised, it's better to set the breakpoint at the line in -autorelease where the exception is raised. Do that by starting under gdb, then doing a 'list autorelease' to look at the autorelease source code, then set a breakpoint at the appropriate line. Of course, if you have gnustep built without debug or you don't have the source installed, this would be a problem... In which case, you can use NSSetUncaughtExceptionHandler(), which is documented in the macros part of the 'Functions' section of the base library documentation. I think you could also try setting the env var NSZombieEnabled I did not manage to find documentation on this, and it does not seem to have any effect. What is this used for ? The environment variable is documented at the top level (introductory) page of the base library documentation in the section on environment variables. The global variable (set from the environment variable) is documented in the 'Types and Constants' documentation of the base library. Basically, it allows deallocated objects to persist and call a standard function when you try to use them ... so you can track them down more easily under debug. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Distributing gnustep-based software
On 4 Feb 2005, at 16:14, Sébastien Pierre wrote: Hi everyone ! I was wondering if it is possible to statically link everything that a program uses in GNUstep, so that I can end up with an executable that will simply work out of the box on Linux systems with or without GNUstep. No ... the system uses some data files (character sets and time zones at least) ... so you have to distribute them and put them in the correct directory hierarchy even if you were able to statically link. Simplest just to distribute all the shared libraries as part of your package. You can certainly distribute a full GNUstep setup as part of a package though. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Distributing gnustep-based software
On 4 Feb 2005, at 17:39, Sébastien Pierre wrote: Le 4 févr. 05, à 18:21, Richard Frith-Macdonald a écrit : do a clean install of make + base, then build and install my program ... then I can make a tar image of the entire /usr/GNUstep tree (my program will be in /usr/GNUstep/Local/Tools). This seems like a proper way to do what I want :) However, is there any method to determine unneeded files ? In fact, I would like to distribute my app under Linux, OSX and... Windows, and am really concerned about three things : 1/ Installation should be really straightforward, ideally something like unpack here (no environment variable required, or conflicts with existing GNUstep) 2/ Size should be as small as possible. My app is around 1.2Mb on Intel and 2.4Mb on PPC (OSX) 3/ Platform parity: I'm especially concerned about size/efficiency on Windows Do you think these requirements could be satisfied ? Not really ... it's going to be big. If you want it to work on multiple hardware/operating system setups, you will need to configure gnustep with the 'flattened' option turned off, so it has subdirectories to contain system dependent binaries. If you want a *really* self contained package, you might consider installing any libraries gstep-base uses (libxml2, libiconv on windows, the gcc libraries, the objc runtime library) in the /usr/GNUstep hierarchy, and configuring the base librrary to use those local, versions. Both those things will make for a very big package ... but if you do that, you can use a small shell script to set the environment to the correct location, hardware, operating-system of the installed package before running your application binary. I've done that for a package to work on both linux/intel and solaris/sparc, so it should work for windows too. Unless you really need that single package does everything approach, I would recommend having different packages for each platform, and assuming that the default system libxml and gcc libraries will do (you don't need libiconv on most platforms). Probably worth installing your own objc runtime library though. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Distributing gnustep-based software
On 4 Feb 2005, at 20:14, Alex Perez wrote: Under Windows, at least, this could be theoretically possible. Wasn't there a patch to GNustep under win32 to make it use the timezone info in the windows registry by default? I seem to remember this...as for the character stuff, is this even really necessary under windows? Yes ... the character set data specifies what is in the standard NSCharacterSets With Windows, if you had all your DLLs and other libraries in one directory (not necessarily one EXE file, but just all of it in one directory) it and have built the application using mingw, the binary is native and as all native windows apps do, it should look in the current directory *FIRST* for DLLs. Richard, your thoughts? Is this possible? I think it surely is. Honestly, I think we need to be able to get gnustep-base to this point, where it's basically just a set of DLLs under Win32 that people can distribute with their app. This seems completely possible, but since most of the GNUstep developers don't use windows much, the tendency to just say nope, can't be done, end of story, goodbye seems recur over and over in an infinite loop. Well, you need to distribute a few resource files as well as dlls, just like under unix. The gnustep code won't look for resources in the current directory (seems a bit insecure as a standard behavior) ... but it's trivial to haver a script set the environment variables up so it knows where to get resources. As I said, I see no problem distributing stuff in a package with an application ... I have done it as a solaris package and see no reason why it shouldn't work for windows too. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: How do you write Unit Test cases?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2005-03-22 03:56:19 + Sergei Gnezdov [EMAIL PROTECTED] wrote: Is there any unit tests tool in GnuStep and/or Objective-C? Something simple and easy to use. I see something like NSAssert, but it is not enough all by itself. If you can cope with using the guile language, there is a regression testing framework and a load of tests in /dev-apps/test/gtests If you check the mailing list archives, you will find other pointers, but I'm not really familiar with the other options. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using the GPG bundle for GNUMail iD8DBQFCQAQ5E6AJp3nmKIkRAgQkAKCSfzcNPwoAmVRqPEsjev/zauju9ACgjtC9 aD7RT9R4SgxQXrxz7or711M= =Lhkq -END PGP SIGNATURE- ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: GNUstep fails to build on SUSE 9.2
On 2005-04-26 12:11:42 +0100 BK [EMAIL PROTECTED] wrote: Hi I am trying to build GNUstep on SUSE 9.2 (virgin install with all devl packages installed) but it seems to me that GNUstep doesn't like SUSE, at least not 9.2. If I try to use the gnustep-startup package, it complains about missing JPEG, TIFF and PNG libraries, which is nonsense because those libraries are installed and they do show up both in Yast utility or with rpm -i. I guess the GNUstep check is broken. Are you *sure* it's nonsense? The reason I ask is that it's quite a common error to assume that development packages of libraries are installed, when in fact only the runtime libraries are installed. To build software (such as gnustep) you need the development packages which include headers etc. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Looking for runtime functions
On 2005-06-09 20:26:53 +0100 Sherm Pendley [EMAIL PROTECTED] wrote: I've written some code that uses these functions from the Apple runtime: /* get/set iVar values */ object_getInstanceVariable object_setInstanceVariable /* fetch the objc_ivar struct for a named ivar */ class_getInstanceVariable I can't seem to find the equivalents in the GNU runtime. The information is all there, in the various structs, there's just no ready-made function to retrieve it. Do these or similar functions exist already somewhere I've missed, or do I need to write them? In GNUstep base ... see base/Headers/Additions/GNUstepBase/GSObjCRuntime.h (or in the installed headers at /usr/GNUstep/System/Library/Headers/GNUstepBase/GSObjCRuntime.h) for runtime independent mechanisms to use most runtime features. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: How To Archive SEL's With Keyed Archiving
On 2005-08-06 11:47:55 +0100 Sašo Kiselkov [EMAIL PROTECTED] wrote: How do I archive a selector (SEL) correctly and portably with keyed archiving? There seems to be no `-encodeValueOfObjCType:...' or simmilar methods for keyed archives. I know I could just encode the values of the fields of the struct objc_selector, but this is only functional with the GNU runtime. A portable solution is best. Thanks. Probably using NSSelectorFromString() and NSStringFromSelector() ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Building GNUstep on Solaris 10 (x86)
On 2005-08-08 08:32:05 +0100 Laszlo Kiss [EMAIL PROTECTED] wrote: Laszlo Kiss lkiss at deltaprime.com writes: Got another Solaris issue. It appears that the file GSConfig.h has a macro that should not be there. GSConfig.h - line 170: #define NXConstantStringNSConstantString When I compile an Objective-C program (outside of gnustep make system) as: gcc -I /opt/common/GNUstep/System/Library/Headers Stepping.m -o Stepping -L /opt/common/GNUstep/System/Library/Libraries -lgnustep-base -lobjc I get the error: Stepping.m: In function `gnustep_base_user_main': Stepping.m:52: error: cannot find interface declaration for `NXConstantString' The statement with the error is: [obj notify:@Program exiting.]; When I condition out the definition in GSConfig.h the compilation and linking is successful. The test program runs as expected. This is an error in your compile command line ... you should build using the gnustep-make package, or copy all the flags that gnustep-make sets. In this case, you missed the -fconstant-string-class=NSConstantString command line argument. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: porting code that uses NSSocketPort
On 2005-09-15 13:08:13 +0100 Morgan Giddings [EMAIL PROTECTED] wrote: I am not at all clear how using an NSFileHandle would help. I have a DO based, client/server app where there can be up to 20 or more distributed processes (servers) on a cluster/grid, each talking to the client to perform processing and return results. There is extensive interaction (method invocation) between these objects on the disparate machines and the client. Is that really something that can be done with NSFileHandle? Sorry, I was under the impression that you were using NSSocketPort to send directly rather than using NSConnections. No, NSFileHandle is not good for DO. I'm used to DO processes using named ports ... in which case there is generally no need to work with specific TCP/IP port numbers. However, if you do need to use specific port numbers for DO communications, then portWithNumber:onHost:forceAddress:listener: is the method to use, and you can easily implement the equivalent new MacOS-X method in a category if you like. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSObject errors compiling Objective-C programs
On 2005-10-10 06:41:02 + Mehul N. Sanghvi [EMAIL PROTECTED] wrote: OK, so I've got gnustep-base and gnustep-make installed. I'm trying to follow the code as given on the Objective-C for Beginners website which is refrenced from the gnustep.org website. I am getting the following error when I try to compile the simple fractions example: prompt% make Making all for objc_program fraction_driver... Compiling file fraction_driver.m ... Compiling file fraction.m ... Linking objc_program fraction_driver ... ../shared_obj/fraction.o(.data.rel+0xf4): undefined reference to `__objc_class_name_NSObject' collect2: ld returned 1 exit status make[1]: *** [shared_obj/fraction_driver] Error 1 make: *** [fraction_driver.all.objc-program.variables] Error 2 What am I doing wrong ? I'm just trying to compile a simple Objective-C program, using the GNUstep make system. You are building a standalone program which doesn't use the GNUstep base library ... as such, you can't have it usse anything in the base library (such as NSObject). This is probably not what you want. I guess you want to build a command-line tool using the base library ... for that your makefile needs to use TOOL_NAME rather than OBJC_PROGRAM_NAME, and include tool.make rather than objc.make cheers, mehul begin header file #import Foundation/Foundation.h @interface Fraction: NSObject { int numerator; int denominator; } /* rest of code snipped */ end header file GNUmakefile include $(GNUSTEP_MAKEFILES)/common.make # Space seperated list of executables to be built OBJC_PROGRAM_NAME = fraction_driver fraction_driver_OBJC_FILES = fraction_driver.m fraction.m include GNUmakefile.preamble include $(GNUSTEP_MAKEFILES)/objc.make GNUmakefile ends GNUmakefile.preamble ~ ADDITIONAL_OBJCFLAGS += -Wall -Wno-import #-fnext-runtime GNUmakefile.preamble ~ ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: .app intergration in GWorkspace
On 2005-10-12 10:49:12 + Mathew McBride [EMAIL PROTECTED] wrote: Hello all, Is it just me or are App Wrappers horribly broken in GWorkspace? I've tried taking Acrobat.app from the wrappers.tar.gz archive and dumping it into /usr/GNUStep/Local/Applications (no go) and /usr/GNUStep/System/Applications (also no go) I installed Vindaloo (nice PDF reader by the way). It installed its package into Local/Applications with no luck, PDF files still displayed as unknown and can't be opened in GWorkspace. This has driven me insane for a long time now (across distributions/cvs versions/stable releases/whatever). Whats going wrong? Two things ... 1. You need to run make_services after installing new apps, for them to be picked up (maybe you need to restart GWorkspace too ... I'm not sure). 2. The wrappers are highly system specific ... for them to work you must have the programs they use installed in the correct place, or you must hack the scripts within them to have the correct paths to the binaries. For instance, the 'vi.app' wrapper doesn't work on my system, because it attempts to run vi in an xterm, and I don't have xterm installed on my system. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: .app intergration in GWorkspace
On 2005-10-17 11:22:46 + Mathew McBride [EMAIL PROTECTED] wrote: Richard Frith-Macdonald wrote: 1. You need to run make_services after installing new apps, for them to be picked up (maybe you need to restart GWorkspace too ... I'm not sure). No dice :( That's really strange ... have you tried running the wrapper shellscripts from the shell command line to check that they work on your system? eg. Acrobat.app/acroread -GSFilePath myfile.pdf ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: .app intergration in GWorkspace
On 2005-10-17 11:49:05 + Enrico Sersale [EMAIL PROTECTED] wrote: On 2005-10-17 14:39:38 +0300 Richard Frith-Macdonald [EMAIL PROTECTED] wrote: On 2005-10-17 11:22:46 + Mathew McBride [EMAIL PROTECTED] wrote: Richard Frith-Macdonald wrote: 1. You need to run make_services after installing new apps, for them to be picked up (maybe you need to restart GWorkspace too ... I'm not sure). No dice :( That's really strange ... have you tried running the wrapper shellscripts from the shell command line to check that they work on your system? eg. Acrobat.app/acroread -GSFilePath myfile.pdf Try also openapp Acrobat, to exclude problems with your GWorkspace. Good suggestion ... but openapp is just a shellscript hack to roughly approximate proper application launching, and doesn't completely manage it. Specifically, it won't work for the Acrobat wrapper since that wrapper uses Info-gnustep.plist to specify the location of the application executable, and it's not the default location where openapp would find it. Maybe someday a better shellscript will be written, but currently it won't work for all apps. However, the 'gopen' tool does use the standard mechanism to open files, so you can do ... 'gopen -a Acrobat myfile.pdf' to tell it to use the Acrobat application to open 'myfile.pdf' ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: .app intergration in GWorkspace
On 2005-10-22 06:12:14 +0100 Mathew McBride [EMAIL PROTECTED] wrote: Apps themselves are working fine (openapp or not) but GWorkspace didn't recognize file types at all. Surely even if the application the wrapper is launching is dud, GWorkspace would still register the filetype? Yes ... if the applications are stored in one of the standard directories, and 'make_services' has been run. The way it works is this ... the make_services tool looks through all the standard directories for any application wrappers, and parses their Info_gnustep.plist file to determine file extensions that the app uses. It builds up a map of all extensions and the apps that handle them. It writes that mapping information to a file. Any application (like GWorkspace) wishing to know about what file types are handled by what apps, reads the file rather than having to check all the applicatiuon directories. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Objective-C, GNUstep Base, and ncurses ??
On 2005-10-27 12:52:24 +0100 Mehul N. Sanghvi [EMAIL PROTECTED] wrote: 'allo, All right, so I'm picking up on Objective-C and was wondering if there are Objective-C bindings to ncurses ? Or should I just be able to use the regular C bindings to ncurses ? Just use it as a staight C library. Is there something similar to ncurses in GNUstep Base ? No. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSKeyedUnarchiver
On 9 Jan 2006, at 02:44, Parrish Myers wrote: Can someone please help... this doesn't make sense: The following code should print the NSMutableArray twice... but only does once... the NSKeyedUnarchiver doesn't seem to work on windows... This is because the archive is in XML property list format and your copy of the base library is built without XML support. I have updated the code in CVS to use binary format archives by default. This is what it should have been doing anyway, but at the point when the keyed archive code was written the binary format property list support had not been done, so it used XML format by default. Anyway, the change should get your program working (it did for me). It would be nice if someone could find a copy of libxml2 for windows which would work with GNUstep ... then we could add instructions for using it to the documentation in the gnustep-make package, so that windows users could have xml parsing support in gnustep, but at the moment I don't know how to get any version of libxml2 for windows to link/work with the base library. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Frmework or Kit for Inspector
On 11 Feb 2006, at 16:02, Guilhem BONNEFILLE wrote: Hi, For my first application, I wish to build an inspector panel in order to allow the user set some properties. I looked for some other applications, but it seems that inspector is build from scratch each time. As it is an important element of the GUI standard of OpenStep/ GNUStep, I cannot imagine I have to build inspector from scratch. Is there any framework or kit that easy the build of an inspector and allow easy interaction with the gaphical objects I offer to the user? My understanding of the term 'inspector' does not refer to an application, but rather to a panel within an application, which lets you look at some information and (usually) change it. Because the things being inspected vary wildly, the contents of an inspector generally vary a lot, and about the only thing co0mmon to all inspectors is that they reside in panels ... for which we have the NSPanel object. Maybe you could describe what you think a generic inspector should do? ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Gorm won't start with gnustep-base-0.12.0
On 28 Mar 2006, at 10:54, Richard Frith-Macdonald wrote: On 28 Mar 2006, at 10:55, Fabian Borschel wrote: Hi Steppers, first of all I want to thank you for all the great work you did! With the last update of gnustep-base to 0.12.0 I can't get Gorm to work. It always fails to start with the error message /usr/GNUstep/Local/Applications/Gorm.app/Gorm: error while loading shared libraries: libgnustep-base.so.1.11: cannot open shared object file: No such file or directory I even tried the svn-version and I get the same error. Can anyone else reproduce this error? You must have deleted libgnustep-base.so.1.11 If you have deleted the version of the base library that Gorm was linked with, you must either rebuild Gorm to work with the new version, or restore the old one. Just for clarification ... when I say 'rebuild Gorm' I mean that any binaries linked with the base library need to be relinked with the new one. That is at least the main Gorm executable, but may also be the palettes it loads (these contain code which may have been linked with the library). The simplest way to do it is a 'make distclean' followed by a complete rebuild of Gorm. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Gorm won't start with gnustep-base-1.12.0
On 28 Mar 2006, at 16:15, Fabian Borschel wrote: Hi, On 2006-03-28 13:31:08 +0200 Richard Frith-Macdonald [EMAIL PROTECTED] wrote: You must have deleted libgnustep-base.so.1.11 If you have deleted the version of the base library that Gorm was linked with, you must either rebuild Gorm to work with the new version, or restore the old one. Just for clarification ... when I say 'rebuild Gorm' I mean that any binaries linked with the base library need to be relinked with the new one. That is at least the main Gorm executable, but may also be the palettes it loads (these contain code which may have been linked with the library). The simplest way to do it is a 'make distclean' followed by a complete rebuild of Gorm. Shure. I completely rebuild gnustep (I use Gentoo and its package management and that builds things in a temp directory and then moves it to / . It also tracks all files related to one package. After moving the install dir to / in deletes any other file that doesn't show up in the new package. I now made a distclean on svn-code of Gorm and rebuild that again. The error didn't change. Well, there are only two ways you could get that error ... 1. You are linking with something which is linked with the old library 2. You are not running the executable that you think you are I guess cause 2 is easiest to check ... you launch the program by absolute path eg. /home/myname/Gorm.app/Gorm cause 1 means that you didn't really upgrade everything and have some old versions of things around linked to the old base library, and the build of Gorm is picking up those old versions for some reason. I guess the gui library and the backend libraries are the likely causes, but there may be something else I don't know about. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: keyboard not working in GWorkspace and other smaller problems
On 12 Aug 2006, at 07:22, Sebastian Reitenbach wrote: Hi, I am running GNUstep on OpenBSD. I changed the .xsession to start GWorkspace automatically after login: . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh export PATH=/sbin:$PATH export LD_LIBRARY_PATH=/usr/GNUstep/System/Library/Libraries exec openapp GWorkspace I can open a terminal with Alt+t, other shortcuts seem to work as well, but when I try to enter commands into the xterm window, the system is only beeping, and nothing more. Furthermore the xterm window has no window title bar, therefore I am unable to move it around the desktop as I cannot pick it in the title bar. Pressing Alt and clicking somewhere in the window doesn't work either. I have NSGlobalDomain GSX11HandlesWindowDecorations NO I tried to set this to YES, but then every window lacks the title bar, not only the terminal windows. That sounds like a window manager problem ... if an xterm is not getting keyboard events or a title bar then most likely no window manager is running. Perhpas when you changed the startup files to launch GWorkspace yoiu accidentally removed/disabled your window manager startup? this is the same when I login locally or when I do a X -query bsdhost when I ssh -X into the OpenBSD box, and then start openapp GWorkspace and then open a terminal window, it has a window title bar (from my kde theme which I run locally) and I can enter commands into the xterm window. unfortunately the GWorkspace interferes with the locally running KDE, windows pop up, sometimes kde grabs shortcuts which are meant for gworkspace. I guess the kde window manager doesn't work well with gnustep apps ... you could try using windowmaker instead. another thing I recognized: when I started GWorkspace from ssh connection, and open a xterm window and issue a defaults read I get the following messge: $ defaults read defaults: can't load library 'libgnustep-base.so.1.12' $ the defaults command works well, after I sourced the GNUstep.sh file, but not later after starting openapp GWorkspace and opening a terminal window. is there anything I can do about that? I don't know bsd, but in gnu/linux you put the gnustep library directories in /etc/ld.so.conf and run ldconfig so that the system knows about them ... otherwise you need to make sure that the LD_LIBRARY_PATH environment variable is properly set up to list them in any shell you start. Sourcing GNUstep.sh does that for you (in the current shell). ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Strings and NSRanges
On 19 Nov 2006, at 15:45, Graham J Lee wrote: Hi, I'm trying to implement NSNumberFormatter's -stringForObjectValue: as I said on bug-. However, I'm having trouble with parsing the format string and I expect it has more to do with my confusion than it does with any other problems ;-). The Cocoa behaviour for the formatter is that if the character '.' appears anywhere in the format string, this turns on displaying the fractional part of the number (unless allowsFloats is false) with as many decimal places as the are placeholder characters (# or a number) to the *immediate* right of the *rightmost* '.' in the format string. So I'm doing this: if ([self allowsFloats] (NSNotFound != [useFormat rangeOfString:@. ].location)) { decimalPlaceRange = [useFormat rangeOfString: @. options: NSBackwardsSearch]; while ([placeHolders characterIsMember: [useFormat characterAtIndex: NSMaxRange(decimalPlaceRange)]]) { decimalPlaceRange.length++; if (NSMaxRange(decimalPlaceRange) == [useFormat length]) break; } decimalPlaces=decimalPlaceRange.length; if (0 != decimalPlaces) displayFractionalPart = YES; } which doesn't work...decimalPlaces ends up being some garbage value such as 2412439 when the length of the string is only, say, 7. For that to happen then the length of the *range* must have always been greater than the length of the string (so that the if(NSMaxRange (...)...) line never breaks the loop) and the loops *starts* by reading nonsense memory outside the string. Why would that happen? It's hard to tell without a complete test program ... but I can make a couple of observations. 1. the loop should not be able to start by 'reading nonsense memory outside the string' because the -characterAtIndex: method should raise an exception if asked to refer to an index outside the string. 2. if useFormat is nil then the code is totally broken since sending a message to a nil object is defined to return nil ... but where the method is expected to return a range this means that the resulting behavior is undefined. On sparc it will cause an immediate crash, but on intel I think it probably just means the returned range contains garbage ... which would explain your symptoms. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Extentions won't compile
On 21 Dec 2006, at 15:36, [EMAIL PROTECTED] wrote: Selon c.w. Betts [EMAIL PROTECTED]: Whenever I try to compile the extentions package, I get the following error: Aren't these extensions now part of gnustep-base ? Don't you get an old package ? IMHO you already have the extensions in your gnustep-base. That might be the reason why you get some class_addMethods redefined messages. The extensions library is not part of GNUstep and is not maintained/ supported. Almost certainly it doesn't have anything in it of use which is not available somewhere else. It's in the gnustep repository for historical reasons, but should really be somewhere else as, iirc, the copyright on it is not owned by the Free Software Foundation. Perhaps we should move it to another repository or delete it? ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSInputStream event question
On 28 Jan 2007, at 05:16, Tima wrote: Hi list, I've send similar question before, but I'm not sure it did get through. Sorry if you see the duplicate. I'm learning how to work with NSStreams. I made an application that uses NSInput/OutputStream pair for local socket. Everything works as expected (base-1.13, gui-0.11, Linux) except that I do not get NSEventErrorOccurred in the case of errors, when the server process is stopped, for instance, or there is no socket file. It seems that events are not being sent until after the stream is opened, and since the stream fails to open the event does not get sent. I think this behavior is a bug in the stream code. But I'd like to check the behavior of similar code on MacOS-X to be sure. As a workaround you could check the stream status immediately after the call to -open ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Some test applications fail with segfault - gnustep 0.19/0.18
On 6 May 2008, at 21:53, Tavs wrote: --#System: FC8, libcombo with gnu-gnu-gnu and libffi The following test( in gnustep-base/Test/) applications fail displaying Segmentation Fault -nsconnection -nsinvocation -nsnotification this one -nsmethodsignature throws the NSInvalidArgumentException with the following message Attempt to contact a named host using a message port name server. This name server can only be used to contact processes owned by the same user on the local host (host name must be an empty string). To contact processes owned by other users or on other hosts you must use an instance of the NSSocketPortNameServer class. (nil) It seems that I've got gdomap, gpbs and gdnc to work, though I'm not sure about that. What should I do to solve the problem? It's really a bug in the oobsolete/unmaintained test code (the README file should in the directory should tell you where to look for the current testsuite). However, I hacked in a quick fox for this in svn ... you just need to change the '@*' value of the host in rootProxyForConnectionWithRegisteredName:host: to be 'nil' ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Some test applications fail with segfault - gnustep 0.19/0.18
On 7 May 2008, at 21:17, Tavs wrote: Well if all apps fail in the same way, then I would expect that there is something wrong with your system ... but you would need to provide at least one example bug report. If some apps fail, and do so in different ways, then contact the authors of those apps with specific bug reports. If you want to run tests ... please get hold of the testsuite (http://svn.gna.org/viewcvs/gnustep/tests/testsuite OK, then I've got another problem: I tried to install gnustep- guile-1.4.4 to run the tests but make tells me it can't find a definition for ‘scm_catch_body_t’ in gg_class.m. I googled a bit but I couldn't find anything regarding both 'scm_catch_body_t' and gnustep or gg_class.m, may you help me? I would guess that you are using too new a version of guile ... the gnustep-guile library should work with guile-1.3 to guile-1.6 You don't need gnustep-guile to run the testsuite anyway ...it was needed by the old tests which were superseded by the testsuite some years ago. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Some test applications fail with segfault - gnustep 0.19/0.18
On 8 May 2008, at 08:50, Tavs wrote: Richard Frith-Macdonald wrote: I would guess that you are using too new a version of guile ... the gnustep-guile library should work with guile-1.3 to guile-1.6 You don't need gnustep-guile to run the testsuite anyway ...it was needed by the old tests which were superseded by the testsuite some years ago. Really?But if I try to compile those tests make tells me it can't find guile/gstep_guile.h* ... * not sure if it was gstep_ or gnustep_ REALLY! Perhaps you didn't grab the tests you were directed to, but tried using the old tests instead? Check the URL I sent in my earlier email (and in the README file I mentioned) ... http://svn.gna.org/viewcvs/gnustep/tests/testsuite ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Tool distribution
On 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@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Base library random number generation
On 16 Dec 2008, at 23:33, Wesley Moore wrote: In a few places on the GNUstep site (see below) it is mentioned that the Base library includes classes for random number generators. I can't seem to find this particular functionality though, can anyone point me in the right direction? I am aware of rand(3) but figured if there is stuff in the library then I'd use that. Some of the links with reference to random number generators. It seems to be the mostly the same chunk of text in each case though: http://wiki.gnustep.org/index.php/Developer_FAQ#What_is_the_GNUstep_Base_Library.3F http://gnustep.made-it.com/Guides/History.html http://osdir.com/ml/lib.gnustep.announce/2002-01/msg1.html There is currently no random number generator in base ... while the trend has been to add things over the years, for MacOS-X compatibility as they added things etc, there have also been a few little-used features removed. I guess there are still some old references around. I removed the one you found on the gnustep wiki. Do you know of any others actually on the gnustep website? ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: weird way to change backend now
On 27 Dec 2008, at 10:40, Antoine Jacoutot wrote: Hi. (it seems my last mail never wetn through, so here it goes again; sorry for any dup). Since last GNUstep update (make, back, gui, base) I have the following problem. Before, I could change my gnustep backend using: $ defaults write NSGlobalDomain GSBackend back Now, I need to use: $ defaults write NSGlobalDomain GSBackend libgnustep-back-016 Otherwize, I get the following error: 2008-12-26 16:21:29.840 Calculator[6895] Did not find correct version of backend, falling back to std. 2008-12-26 16:21:29.842 Calculator[6895] NSApplication.m:286 Assertion failed in initialize_gnustep_backend. Unable to find backend back Calculator: Uncaught exception NSInternalInconsistencyException, reason: NSApplication.m:286 Assertion failed in initialize_gnustep_backend. Unable to find backend back That's odd, because I would expect either of those two settings to work since, looking through the code, I see that the GSBackend value normally has 'libgnustep-' prepended if it's not already there and tries both with '-016' appended (if you are using version 0.16 of the library) and not appended. So, for a setting of 'back' the code looks like it tries 'libgnustep- back-016' and 'libgnustep-back', while for a setting of 'libgnustep- back-016' the code should be trying 'libgnustep-back-016-016' and 'libgnustep-back-016' If the second setting works and the first doesn't, it would seem to imply that the bundle has actually been called 'libgnustep- back-016-016', which seems very unlikely. Perhaps your best bet is to run under gdb and set breakpoints in initialize_gnustep_backend and gnustep_backend_bundle and try stepping thriough those functions to see what is actually going on. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSXMLDocument
On 7 Feb 2009, at 16:22, Fred Kiefer wrote: Michael C. Silva wrote: Is there anyone working on an implementation of the NSXMLDocument class? I need this object to port a project and would be willing to help out. Not NSXMLDocument, but some of the releated classes can be found in mySTEP. And as Nikolaus Schaller freely shares his code with GNUstep is would be possible to move that over and extend the implementation. Ihaven't had a look at that code myself, so I don't know whether it actually helps for these classes. The source code of mySTEP can be found at http://www.quantum-step.com/download/sources/ currently the latest release is mySTEP-src-2.5B1064.tgz and it includes a lot of stuff you don't need, but this is the only way Nikolaus makes his code available. I have some code I wrote late last year that I haven't committed to the base libaray ... just the headers and largely non-functional skeletons of the implementation, but even so that's a little more advanced than currently in mySTEP. I stopped doing anything with it when it became apparent to me from the desgin of the API, that Apples new classes are actually a wrapper round libxml2 ... and we already have a wrapper round libxml2 in GSXML.m in the base library. So I couldn't decide what to do: We could implement a second wrapper around libxml2 following Apple's API and implementation details as closely as we can, or we could try implementing a pure Objective-C version of the Apple API. The first approach is kind of redundant .. as we already have GSXML. The second approach involves a lot of work that I don't really have time for. Our API is obviously different to Apples, but it's functionally similar (since both wrap libxml2) and might well be close enough to use in a port of the application. On the other hand, if the application only makes limited use of NSXMLDocument, it might be feasible to implement a pure objective-c version of the class with the functionality needed for the port. I suppose though, that implementing it the same way that Apple did maybe easiest, even if it does mean we have an uglier API than necessary ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSXMLDocument
On 9 Feb 2009, at 10:03, Fred Kiefer wrote: Nicola Pero wrote: I stopped doing anything with it when it became apparent to me from the desgin of the API, that Apples new classes are actually a wrapper round libxml2 ... and we already have a wrapper round libxml2 in GSXML.m in the base library. So I couldn't decide what to do: We could implement a second wrapper around libxml2 following Apple's API and implementation details as closely as we can, I (personally) vote for this option. Maybe we could even remove GSXML at some point. ;-) Sounds sensible to me. Richard, could you please submit your current code, then we all have something to start on. OK ... I committed the skeletons of the classes to subversion (after checking that it would at least all compile without errors, even though none of it works of course). I also added a new NSXMLPrivate.h header for internal use by all the NSXML... files, it includes all the headers they need, and in particular has the libxml/libxslt header includes copied from GSXML.m so it should be easy to start implementing NSXMLNode.m as a wrapper round libxml2. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Project Center problems
On 11 Oct 2009, at 20:36, Michael Thaler wrote: Hi, My guess is that, as you are using gui from svn you have encountered a short-term problem ... a very recent change broke open panels so they returned the wrong value, causing attempts to open and create files, projects etc to fail. I just encountered the same problem when playing with the theme editor, and I've committed a fix for that, so updating from svn should fix that issue. Thanks a lot. I now get the main window when I create a new project. However, the main window does not display any icons (see attached screen shot). To make sure there is nothing wrong with my installation i deleted the whole /opt/GNUstep directory and installed it again. I also moved ~/ GNUstep out of the way. There is some output when I start Project Center: $ openapp ProjectCenter 2009-10-11 21:31:16.763 ProjectCenter[18264] Defaults path '/home/michi/GNUstep/Defaults' did not exist - created it 2009-10-11 21:31:16.783 ProjectCenter[18264] Creating empty user defaults database 2009-10-11 21:31:16.813 ProjectCenter[18264] Font not found Courier 2009-10-11 21:31:16.813 ProjectCenter[18264] The font specified for NSUserFixedPitchFont, Courier, can't be found. 2009-10-11 21:31:16.851 ProjectCenter[18264] Font not found Courier 2009-10-11 21:31:16.851 ProjectCenter[18264] The font specified for NSUserFixedPitchFont, Courier, can't be found. 2009-10-11 21:32:02.617 ProjectCenter[18264] Font not found Courier 2009-10-11 21:32:02.617 ProjectCenter[18264] The font specified for NSUserFixedPitchFont, Courier, can't be found. 2009-10-11 21:32:04.450 ProjectCenter[18264] windowDidBecomeKey: project Converter 2009-10-11 21:32:18.674 ProjectCenter[18264] windowDidBecomeKey: project Converter 2009-10-11 21:32:21.093 ProjectCenter[18264] windowDidBecomeKey: project Converter I don't think this has anything to do with the missing icons. Me neither. You are using svn trunk ... which will always get you the latest bugs as well as the latest features, and while trunk is working fine for me any apparently everyone else, it could easily have a system specific problem with your setup (either because one of the libraries it depends upon is buggy, or because there is a bug in the way gnustep works with the library versions on your machine). In that situation, the best thing to do is try reverting to an earlier version ... I recently made major changes in the base library to remove obsolete (but pervasive) code, and that is likely to have broken a few bits and pieces, so I'd start by trying reverting base to an earlier version. I'd suggest trying a version of base from 1st Oct to see if that fixes things. If that doesn't work, you can try earlier gui and backend versions too. You can then narrow things down to find out which change broke things on your system, and we can then deduce what the problem is and why it effects your system but not other peoples. Possibly it's best to go right back to an official release though ... as a sanity check to be sure that the problem is actually in gnustep rather than one of the system libraries. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: printf: doens't print on WinXP installation
On 23 Oct 2009, at 15:25, Eduardo Osorio Armenta wrote: try this: #include stdio.h instead of : #import stdio.h I'm afraid that won't make any difference.___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: printf: doens't print on WinXP installation
On 23 Oct 2009, at 03:23, jacksk58 wrote: I'm runnuning this on an XP installation. I'm supplying - hello.m, GNUmakefile and the text from the GNUStep Shell Thanks hello.m === #import stdio.h int main( int argc, const char *argv[] ) { printf( hello world\n ); return 0; } GNUmakefile == include $(GNUSTEP_MAKEFILES)/common.make APP_NAME = HelloWorld HelloWorld_OBJC_FILES = hello.m include $(GNUSTEP_MAKEFILES)/application.make I just tried that on my XP system, and it printed 'hello world' as expected. I'm using a setup made by installing the latest windows packaged from the gnustep website, and then updating to the latest code from svn trunk, but it seems very unlikely that any version difference would have changed the behavior of standard file operations. The only thing I can suggest is that there's some problem with your installation. You could try running the program directly ... ./HelloWorld.app/HelloWorld.exe or running it under gdb gdb ./HelloWorld.app/HelloWorld.exe ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: printf: doens't print on WinXP installation
On 23 Oct 2009, at 15:44, Adam Fedor wrote: Oh, yes - you are trying to compile this as an Application. In that case, GNUstep adds some special flags to keep Windows from trying to output stuff to a command window. But on my system, I was able to build exactly that program and with that makefile (ie as an app) and launch the resulting app using 'openapp', and it still printed 'hello world' Perhaps some setting I made in the past has changed windows' behavior to always print to stdout though. If you really want to see the output of printf, you'll have to compile it as a tool: TOOL_NAME=HelloWorld include $(GNUSTEP_MAKEFILES)/tool.make or you could use NSLog (but that goes to the Windows system log unless you are using gdb). On ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: Compilation Failure
On 12 Mar 2010, at 13:45, Chinu Subudhi wrote: Dear Sir, I have recently downloaded and installed the entire GNUstep package for the Windows operating system. I am actually very new to the Objective-C language and I am facing difficulties compiling even the most basic of the Objective-C codes. The codes are fine but, the gcc compiler always gives a message stating Foundation/Foundation.h: No such file or directory. I have checked for the header files and I have found them; they are at C:\GNUstep\GNUstep\System\Library. I have also tried to set a number of environment variables to help the gcc compiler locate the headers, but, it seems that I am not being able to figure out the particular environment variable to set and to what value. I have searched several forums for help and tried for hours to get the problem solved, but in vain. It would be extremely kind of you if you could provide me with some solution. What are you trying? Please supply the source code and make file, so we can see what you are actually doing. You shouldn't need to set any environment variables for the compiler to find headers ... the make file should be telling the compiler where to look for the headers. I recommend the 'Writing makefiles' minitutorial at http://www.gnustep.org/developers/documentation.html#minitutorials ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSInvocationOperation error
On 3 Dec 2010, at 18:30, Germán Arias wrote: Well, in the GNUstep documentation I don't see NSInvocationOperation class. Then, I suppose this class don't exist on GNUstep. On jue, 2010-12-02 at 21:36 -0800, aphuk wrote: Hi, I am new to Objective-C and GNUstep so my question might be a little basic but please help me out since I am stuck. We are trying to create an instance of a NSInvocationOperation and put it in the NSOperationQueue as given below NSInvocationOperation* putOp = [[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(put) object:[NSNumber numberWithInt:5]] autorelease]; But on compilation, I get the below error : NSInvocationOperation undeclared (first use in this function) What am I missing here? Yes, this is a non-existent class. Searching the web for it, it seems it's a class from the iPhone operating system. Looking at the documentation, it seems quite simple though ... just a simple wrapper to run an invocation as an NSOperation ... s/he could get a similar effect easily by writing a subclass of NSOperation. ___ Help-gnustep mailing list Help-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnustep
Re: problem with libraries
On 6 Nov 2011, at 19:59, Thanasis Petridis wrote: Hello. My name is Thanasis. First of all sorry for my poor english. Secondly, if this is the wrong mailing list or if there is a solution for my problem, just tell me which is the correct mailing list or where is the answer. I have a PC running on Windows 7 and I want to start programming apps for iOS. So I figured out that I should start from learning the Objective-C language. So I searched in the Internet and I found that I can program Objective-C on windows 7 through GNUstep. I install in the directory c:\GNUstep the following 3 setups -gnustep-msys-system-0.28.1-setup -gnustep-core-0.28.0-setup -gnustep-devel-1.3.0-setup I have created a file hello.m in the folder c:\new I started the shell application I wrote c:\new and then I wrote g++ hello.m This is where you went wrong ... you can't really build code trying to use a compiler directly because there are various options, include directories, and libraries which need to be used. You should use gnustep-make to automate the build process and fill in all those options for you. See http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/index.html for a good starting point. ___ Help-gnustep mailing list Help-gnustep@gnu.org https://lists.gnu.org/mailman/listinfo/help-gnustep
Re: NSAssert and noescape?
> On 5 Feb 2018, at 21:23, Fred Kieferwrote: > > Hi Aaron, > > thank you for this bug report. I really would like to hear more from your > porting experience > >> Am 05.02.2018 um 19:47 schrieb Aaron Hillegass : >> >> Hi, >> >> I’m porting the FMDB library to run on GNUstep on Linux: >> https://github.com/ccgus/fmdb >> >> I’m getting errors with the vargs on NSAssert: >> FMDatabase.m:1495:36: error: too many arguments provided to function-like >> macro invocation >>NSAssert(false, @"%@", [self lastErrorMessage]); > > This first issue here is a bug in GNUstep base. It looks to me like it is > easy to fix. But as I am no expert on the usage of variadic arguments in C > macros, I would prefer for Richard to look into this. > The problem is that the solution will have to work with different compilers > and should still work when no extra arguments are given. > The simplest and safest solutions I see is to rename the macro _NSAssertArgs > to NSAssert in NSException and remove the old definition (and similar for > NSCAssert). That way we keep the same tested code. > > Interestingly nobody ever noticed this issue before in the over 20 years of > GNUstep. I think this is because the behaviour is correct (for OpenStep). The specification defines NSAssert as having two arguments (condition and message to log). In order to support format strings rather than just simple messages, The specification defines NSAssert1 to NSAssert5 supporting up to 5 additional arguments to be used by the format string. I assume that the reason for the original spec is that, at the time the OpenStep specification was written, the compiler preprocessor did not support variadic macros. The simple change for porting would therefore be to use NSAssert1: NSAssert1(false, @"%@", [self lastErrorMessage]); At some point, Apple seem to have changed the specification of NSAssert() to support a variable number of arguments, while retaining all the other macros (which are no longer needed) for backward compatibility. I see no reason why we shouldn't do the same for the next release of base. ___ Help-gnustep mailing list Help-gnustep@gnu.org https://lists.gnu.org/mailman/listinfo/help-gnustep