[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: building a self-contained deployable gnustep [cont]
From: |
Niels Grewe |
Subject: |
Re: building a self-contained deployable gnustep [cont] |
Date: |
Mon, 17 Oct 2011 15:27:23 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20111005 Icedove/3.1.15 |
Am 17.10.2011 14:09, schrieb Julian Mayer:
>>>
>>> Anyway, I've just spent some time trying to make things simpler by
>>> providing templates for standalone deployment (will probably need further
>>> tweaking, and I haven't documented it yet though) ...
>>>
>>> I
>> I tried further testing with a gui app, and encountered an error in the
>> standalone.conf template, which fixed in svn.
>>
>> cd make
>> ./configure --with-layout=standalone
>> make install
>> . ~/standalone/Makefile/GNUstep.sh
>> cd ../base
>> ./configure --with-config-file=./ --with-default-config=standalone.conf
>> make install
>> cd ../gui
>> make install
>> cd ../back
>> make install
>>
>> that puts the gnustep core packages into ~/standalone ... then you just need
>> to copy that wherever you want it inside your app wrapper, and set
>> LD_LIBRARY_PATH
>
> hello richard
>
> thanks for your help - i definitely didn't know to use the standalone layout
> ... the "Relocateable Packages" section in the documentation also didn't
> mention it. thanks too for reminding me about GNUSTEP_CONFIG_FILE, i am
> ignoring this for now since you said the only thing the binary really should
> need is the proper LD_LIBRARY_PATH.
>
> i've updated and rebuilt gnustep in the way you specified and verified that
> it works when used from its installed location. one thing i am curious about,
> you previously mentioned to use "--with-config-file=./GNUstep.conf" and now
> "--with-config-file=./" ...are they equivalent?
>
>
> nevertheless, launching the rebuilt helloworld app with the standalone folder
> contents embedded still doesn't work. i've moved the standalone folder to
> another location to be sure it doesn't get picked up, copied its contents to
> the rebuilt helloworld app, switched to another terminal to be sure the
> environment variables are clean and:
>
> notroot@ubuntu:~/Desktop/GNUstepTest/HelloWorld.app$
> LD_LIBRARY_PATH=/home/notroot/Desktop/GNUstepTest/HelloWorld.app ./HelloWorld
> 2011-10-16 21:32:26.305 HelloWorld[6593] Did not find correct version of
> backend (libgnustep-back-021.bundle), falling back to std
> (libgnustep-back.bundle).
> 2011-10-16 21:32:26.305 HelloWorld[6593] NSApplication.m:304 Assertion
> failed in BOOL initialize_gnustep_backend(). Unable to find backend back
> ./HelloWorld: Uncaught exception NSInternalInconsistencyException, reason:
> NSApplication.m:304 Assertion failed in BOOL initialize_gnustep_backend().
> Unable to find backend back
>
> of course the backend is there:
> notroot@ubuntu:~/Desktop/GNUstepTest/HelloWorld.app$ ls Bundles/
> GSPrinting libgmodel.bundle libgnustep-back-021.bundle TextConverters
>
> i've tried stuffing a GNUstep.conf file in the helloworld.app bundle as well
> - didn't change a thing:
>
> GNUSTEP_SYSTEM_ROOT=.
> GNUSTEP_LOCAL_ROOT=.
> GNUSTEP_NETWORK_ROOT=.
> [etc]
>
> do you have an idea here, or should i modify initialize_gnustep_backend() to
> print out the path where it is searching for the backend to get more
> information?
>
>
> btw when rebuilding gnustep i've encountered this problems:
>
> i wanted to try out the nonfragile option to make/libobjc2 but building
> libobjc2 1.5.1 with the non-fragile option yielded this:
>
> notroot@ubuntu:~/Desktop/libobjc2-1.5.1$ clang arc.m -c -MMD -MP
> -DTYPE_DEPENDENT_DISPATCH -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500
> -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing
> -fobjc-nonfragile-abi -D_NONFRAGILE_ABI -pthread -fPIC -Wall -DGSWARN
> -DGSDIAGNOSE -Wno-import -g -O2 -fgnu-runtime -std=gnu99 -g -fexceptions
> -Wno-unused-function -O3 -std=gnu99 -g -fexceptions -Wno-unused-function -O3
> -I. -I/home/notroot/GNUstep/Library/Headers
> -I/home/notroot/standalone/include -o obj/libobjc.obj/arc.m.o
> In file included from arc.m:400:
> In file included from ./hash_table.h:21:
> /usr/include/unistd.h:1128:35: error: __block attribute not allowed, only
> allowed on local variables
> extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
That's glibc using __block as a variable name where clang treats it as a
storage specifier. Here's the workaround that Quentin came up with for
the same issue in gnustep-base:
#ifdef HAVE_UNISTD_H
#ifdef __block
/* Turn off Clang built-in __block */
#undef __block
#endif
#define __block __gs_unistd_block
#include <unistd.h>
#undef __block
#endif
> i wanted to switch to the SVN trunk version of libobjc2 to see if the problem
> is gone there, but it doesn't use GNUmakefiles anymore - and unconditionally
> installs into /usr/local. thats not fine for me since i need the libobj2
> shipped in the standalone folder since my users won't have it. i think
> libobjc2 trunk should still have an option to be deployable - i don't care if
> its with an option to just build statically or by still installing into the
> gnustep path.
Hmm. That odd. For me `PREFIX=/tmp/test make install' installs libobjc2
into /tmp/test.
- Re: building a self-contained deployable gnustep [cont], (continued)
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Julian Mayer, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Julian Mayer, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Julian Mayer, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/18
- Message not available
- Message not available
- Message not available
- Message not available
- Re: building a self-contained deployable gnustep [cont], Julian Mayer, 2011/10/19
- Re: building a self-contained deployable gnustep [cont],
Niels Grewe <=
- Re: building a self-contained deployable gnustep [cont], Richard Frith-Macdonald, 2011/10/17