Re: Forwarded message: Thinking about GNUstep !

2001-03-29 Thread Richard Frith-Macdonald


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...

2001-10-01 Thread Richard Frith-Macdonald


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

2002-09-08 Thread Richard Frith-Macdonald


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

2002-10-09 Thread Richard Frith-Macdonald


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:] ?

2003-03-25 Thread Richard Frith-Macdonald
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:] ?

2003-03-25 Thread Richard Frith-Macdonald
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:] ?

2003-03-25 Thread Richard Frith-Macdonald
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

2003-06-26 Thread Richard Frith-Macdonald
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

2003-06-26 Thread Richard Frith-Macdonald
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

2003-06-26 Thread Richard Frith-Macdonald
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

2003-06-29 Thread Richard Frith-Macdonald
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

2003-07-06 Thread Richard Frith-Macdonald
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

2003-12-09 Thread Richard Frith-Macdonald
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

2004-05-16 Thread Richard Frith-Macdonald
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

2004-06-21 Thread Richard Frith-Macdonald
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

2004-12-09 Thread Richard Frith-Macdonald
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

2004-12-14 Thread Richard Frith-Macdonald
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

2004-12-15 Thread Richard Frith-Macdonald
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

2005-01-02 Thread Richard Frith-Macdonald
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?

2005-01-22 Thread Richard Frith-Macdonald
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

2005-02-02 Thread Richard Frith-Macdonald
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

2005-02-02 Thread Richard Frith-Macdonald
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

2005-02-03 Thread Richard Frith-Macdonald
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

2005-02-04 Thread Richard Frith-Macdonald
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

2005-02-04 Thread Richard Frith-Macdonald
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

2005-02-04 Thread Richard Frith-Macdonald
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?

2005-03-22 Thread Richard Frith-Macdonald
-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

2005-04-26 Thread Richard Frith-Macdonald
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

2005-06-09 Thread Richard Frith-Macdonald

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

2005-08-06 Thread Richard Frith-Macdonald
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)

2005-08-08 Thread Richard Frith-Macdonald

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

2005-09-15 Thread Richard Frith-Macdonald

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

2005-10-10 Thread Richard Frith-Macdonald
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

2005-10-12 Thread Richard Frith-Macdonald
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

2005-10-17 Thread Richard Frith-Macdonald
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

2005-10-17 Thread Richard Frith-Macdonald

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

2005-10-22 Thread Richard Frith-Macdonald
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 ??

2005-10-27 Thread Richard Frith-Macdonald
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

2006-01-08 Thread Richard Frith-Macdonald


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

2006-02-13 Thread Richard Frith-Macdonald


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

2006-03-28 Thread Richard Frith-Macdonald


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

2006-03-28 Thread Richard Frith-Macdonald


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

2006-08-12 Thread Richard Frith-Macdonald


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

2006-11-21 Thread Richard Frith-Macdonald


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

2006-12-21 Thread Richard Frith-Macdonald


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

2007-04-15 Thread Richard Frith-Macdonald


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

2008-05-06 Thread Richard Frith-Macdonald


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

2008-05-07 Thread Richard Frith-Macdonald


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

2008-05-08 Thread Richard Frith-Macdonald


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

2008-12-08 Thread Richard Frith-Macdonald


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

2008-12-17 Thread Richard Frith-Macdonald


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

2008-12-28 Thread Richard Frith-Macdonald


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

2009-02-08 Thread Richard Frith-Macdonald


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

2009-02-09 Thread Richard Frith-Macdonald


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

2009-10-13 Thread Richard Frith-Macdonald


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

2009-10-23 Thread Richard Frith-Macdonald


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

2009-10-23 Thread Richard Frith-Macdonald


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

2009-10-23 Thread Richard Frith-Macdonald


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

2010-03-12 Thread Richard Frith-Macdonald

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

2010-12-03 Thread Richard Frith-Macdonald

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

2011-11-07 Thread Richard Frith-Macdonald

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?

2018-02-06 Thread Richard Frith-Macdonald


> On 5 Feb 2018, at 21:23, Fred Kiefer  wrote:
> 
> 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