discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Deploying binaries


From: Simon Gornall
Subject: Deploying binaries
Date: Sun, 24 Jan 2016 17:34:16 -0800

Hi all,

So I’m not *really* trying to get GNUstep installed, what I really want is a 
way to compile ARC-aware Objective C (just Foundation) across multiple 
platforms (Linux, Mac, Windows) and give the binaries out to people who don’t 
have GNUstep installed. The Mac is easy, and I’m assuming that Linux won’t be 
too hard either, haven’t looked at it yet though.

Windows: I don’t really want to have to install an entire GNUstep 
implementation, I just want a relatively simple application + bunch of DLLs if 
I can get away with it. To that end, I followed the ‘get Gnustep/clang working’ 
page at https://solarianprogrammer.com/2012/03/21/clang-objective-c-windows/ 
and compiled a short program on a Windows-8 VM:

#import <Foundation/Foundation.h>

int main(int argc, char **argv)
        {
        @autoreleasepool
                {
                NSMutableArray *list = [NSMutableArray new];
                [list addObject:@"Hello!"];
                [list addObject:@"World!"];
                NSLog(@"list: %@", list);
                }
        return 0;
        }

When I run this from within the Msys shell, inside the obj/ subdirectory,I get:

$ ./ttt
2016-01-24 17:19:21.057 ttt [2520] list: (“Hello!”, “World!”)

… as expected. If I run it in a CMD.EXE shell, I get a warning that I’m missing 
a DLL (and placing it in the directory leads to the next missing one being 
reported, etc.). So after running through that little loop, and copying in the 
DLLs that were missing in the standard windows environment…

-rw-rw-rw-  1 simon  staff  10101741 24 Jan 17:04 gnustep-base-1_24.dll
-rw-rw-rw-  1 simon  staff    118546 24 Jan 17:08 libffi-5.dll
-rw-rw-rw-  1 simon  staff    118784 24 Jan 17:01 libgcc_s_dw2-1.dll
-rw-rw-rw-  1 simon  staff   2060376 24 Jan 17:09 libgcrypt-11.dll
-rw-rw-rw-  1 simon  staff   3438376 24 Jan 17:09 libgnutls-26.dll
-rw-rw-rw-  1 simon  staff    215716 24 Jan 17:11 libgpg-error-0.dll
-rw-rw-rw-  1 simon  staff   1038350 24 Jan 17:09 libiconv-2.dll
-rw-rw-rw-  1 simon  staff  15189954 24 Jan 17:12 libicudata46.dll
-rw-rw-rw-  1 simon  staff   2518394 24 Jan 17:10 libicui18n46.dll
-rw-rw-rw-  1 simon  staff   1590522 24 Jan 17:10 libicuuc46.dll
-rw-rw-rw-  1 simon  staff    101390 24 Jan 17:11 libintl-8.dll
-rw-rw-rw-  1 simon  staff    329671 24 Jan 17:11 libp11-kit-0.dll
-rw-rw-rw-  1 simon  staff    978958 24 Jan 17:11 libstdc++-6.dll
-rw-rw-rw-  1 simon  staff   3959238 24 Jan 17:10 libxml2-2.dll
-rw-rw-rw-  1 simon  staff    100366 24 Jan 17:10 libz-1.dll
-rw-rw-rw-  1 simon  staff    659799 24 Jan 17:07 objc-4.dll
-rw-rw-rw-  1 simon  staff     94300 24 Jan 17:10 pthreadGC2.dll

… In CMD.EXE I see:

C:\GNUstep\msys\1.0\home\simon\src\test\obj> ttt
2016-01-25 01:12:13.043 ttt [656] File NSConcreteMapTable.m:537. In 
NSEnumerateMapTable Null table argument supplied
2016-01-24 17:12:13.043 ttt[ [656] list: (“Hello!”, “World!”)


… so the program runs, but there’s that worrying error about an uninitialised 
map-table. Anyone any clues ? 

Interestingly, once the DLLs are all copied into the obj/ subdirectory, the 
Msys shell has the same behaviour - which sort of seems like its telling me I 
have the wrong DLL in place, or there’s some config I need to do to set stuff 
up that the standard installation “just has”.

Any help much appreciated :)

Simon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]