Static GNUstep libraries build on ubuntu

View: New views
5 Messages — Rating Filter:   Alert me  

Static GNUstep libraries build on ubuntu

by dhusubali :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,
I am trying a static build of GNUstep libraries in ubuntu.  I was successful until GNUstep/core/base library. When trying to compile gui library I got problem while linking. Somehow gui does not recognize libtiff library. However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/lib/.
Any help would be appreciated. Thanks in advance.



The specific error messages I get are:
usr/GNUstep/System/Library/Libraries/libgnustep-base.a(objc-load.m.o): In function `__objc_dynamic_link':
/home/khatun/modules/core/base/Source/dynamic-load.h:65: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
..
..
..
..
..
..
..

/usr/GNUstep/System/Library/Libraries/libgnustep-base.a(GSFileHandle.m.o): In function `getAddr':
/home/khatun/modules/core/base/Source/GSFileHandle.m:202: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffOpenDataRead':
/home/khatun/modules/core/gui/Source/tiff.m:200: undefined reference to `TIFFSetErrorHandler'
/home/khatun/modules/core/gui/Source/tiff.m:201: undefined reference to `TIFFSetWarningHandler'
/home/khatun/modules/core/gui/Source/tiff.m:211: undefined reference to `TIFFClientOpen'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffOpenDataWrite':
/home/khatun/modules/core/gui/Source/tiff.m:230: undefined reference to `TIFFClientOpen'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffClose':
/home/khatun/modules/core/gui/Source/tiff.m:241: undefined reference to `TIFFClose'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffGetImageCount':
/home/khatun/modules/core/gui/Source/tiff.m:253: undefined reference to `TIFFReadDirectory'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffGetInfo':
/home/khatun/modules/core/gui/Source/tiff.m:275: undefined reference to `TIFFSetDirectory'
/home/khatun/modules/core/gui/Source/tiff.m:280: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:281: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:282: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:284: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:285: undefined reference to `TIFFGetField'
../Source/./obj/libgnustep-gui.a(tiff.m.o):/home/khatun/modules/core/gui/Source/tiff.m:286: more undefined references to `TIFFGetField' follow
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffGetInfo':
/home/khatun/modules/core/gui/Source/tiff.m:294: undefined reference to `TIFFGetFieldDefaulted'
/home/khatun/modules/core/gui/Source/tiff.m:295: undefined reference to `TIFFGetFieldDefaulted'
/home/khatun/modules/core/gui/Source/tiff.m:297: undefined reference to `TIFFGetFieldDefaulted'
/home/khatun/modules/core/gui/Source/tiff.m:302: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:313: undefined reference to `TIFFFileName'
/home/khatun/modules/core/gui/Source/tiff.m:313: undefined reference to `TIFFError'
/home/khatun/modules/core/gui/Source/tiff.m:317: undefined reference to `TIFFFileName'
/home/khatun/modules/core/gui/Source/tiff.m:317: undefined reference to `TIFFError'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffRead':
/home/khatun/modules/core/gui/Source/tiff.m:363: undefined reference to `TIFFScanlineSize'
/home/khatun/modules/core/gui/Source/tiff.m:364: undefined reference to `_TIFFmalloc'
/home/khatun/modules/core/gui/Source/tiff.m:376: undefined reference to `TIFFReadScanline'
/home/khatun/modules/core/gui/Source/tiff.m:386: undefined reference to `TIFFReadScanline'
/home/khatun/modules/core/gui/Source/tiff.m:397: undefined reference to `TIFFReadScanline'
/home/khatun/modules/core/gui/Source/tiff.m:415: undefined reference to `TIFFReadScanline'
/home/khatun/modules/core/gui/Source/tiff.m:425: undefined reference to `TIFFReadScanline'
/home/khatun/modules/core/gui/Source/tiff.m:437: undefined reference to `_TIFFfree'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffWrite':
/home/khatun/modules/core/gui/Source/tiff.m:456: undefined reference to `TIFFSetField'
/home/khatun/modules/core/gui/Source/tiff.m:457: undefined reference to `TIFFSetField'
/home/khatun/modules/core/gui/Source/tiff.m:458: undefined reference to `TIFFSetField'
/home/khatun/modules/core/gui/Source/tiff.m:460: undefined reference to `TIFFSetField'
/home/khatun/modules/core/gui/Source/tiff.m:461: undefined reference to `TIFFSetField'
../Source/./obj/libgnustep-gui.a(tiff.m.o):/home/khatun/modules/core/gui/Source/tiff.m:462: more undefined references to `TIFFSetField' follow
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffWrite':
/home/khatun/modules/core/gui/Source/tiff.m:483: undefined reference to `TIFFWriteScanline'
/home/khatun/modules/core/gui/Source/tiff.m:495: undefined reference to `TIFFWriteScanline'
/home/khatun/modules/core/gui/Source/tiff.m:507: undefined reference to `TIFFWriteScanline'
/home/khatun/modules/core/gui/Source/tiff.m:517: undefined reference to `TIFFWriteScanline'
/home/khatun/modules/core/gui/Source/tiff.m:525: undefined reference to `TIFFFileName'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffGetColormap':
/home/khatun/modules/core/gui/Source/tiff.m:576: undefined reference to `TIFFGetField'
/home/khatun/modules/core/gui/Source/tiff.m:579: undefined reference to `TIFFFileName'
/home/khatun/modules/core/gui/Source/tiff.m:579: undefined reference to `TIFFError'
/home/khatun/modules/core/gui/Source/tiff.m:584: undefined reference to `TIFFFileName'
/home/khatun/modules/core/gui/Source/tiff.m:584: undefined reference to `TIFFWarning'
../Source/./obj/libgnustep-gui.a(tiff.m.o): In function `NSTiffIsCodecConfigured':
/home/khatun/modules/core/gui/Source/tiff.m:594: undefined reference to `TIFFIsCODECConfigured'
collect2: ld returned 1 exit status
make[2]: *** [obj/set_show_service] Error 1
make[1]: *** [set_show_service.all.tool.variables] Error 2
make: *** [internal-all] Error 2




Re: Static GNUstep libraries build on ubuntu

by Adam Fedor-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I really doubt you'll be able to compile gnustep as a static build.  
The was a time long ago when that might have been possible.  We still  
even have a flag in gnustep-make to build the backend as a library  
rather than a bundle.  I'm not sure that works anymore and that  
certainly isn't the only problem you'll have.

On Nov 25, 2008, at 3:00 PM, dhusubali wrote:

>
> Hello,
> I am trying a static build of GNUstep libraries in ubuntu.  I was  
> successful
> until GNUstep/core/base library. When trying to compile gui library  
> I got
> problem while linking. Somehow gui does not recognize libtiff library.
> However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/
> lib/.
> Any help would be appreciated. Thanks in advance.
>
>



_______________________________________________
Help-gnustep mailing list
Help-gnustep@...
http://lists.gnu.org/mailman/listinfo/help-gnustep

Re: Static GNUstep libraries build on ubuntu

by dhusubali :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks a LOT! Do you think that this is a problem for upgrading GNUstep itself or that's a problem from GCC compiler. Somehow we feel like that newest GCC has some problem in linking. Does any one else facing this problem with latest GCC. I thought of trying compilation Static GNUstep again on a older GCC.
Thanks again.
   
Adam Fedor-5 wrote:
I really doubt you'll be able to compile gnustep as a static build.  
The was a time long ago when that might have been possible.  We still  
even have a flag in gnustep-make to build the backend as a library  
rather than a bundle.  I'm not sure that works anymore and that  
certainly isn't the only problem you'll have.

On Nov 25, 2008, at 3:00 PM, dhusubali wrote:

>
> Hello,
> I am trying a static build of GNUstep libraries in ubuntu.  I was  
> successful
> until GNUstep/core/base library. When trying to compile gui library  
> I got
> problem while linking. Somehow gui does not recognize libtiff library.
> However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/
> lib/.
> Any help would be appreciated. Thanks in advance.
>
>



_______________________________________________
Help-gnustep mailing list
Help-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnustep

Re: Static GNUstep libraries build on ubuntu

by giddings :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Adam and others,
I'm a long-time Gnustep user (from the 90's) who has worked a bit with Jainab on her attempted static build, so perhaps I can fill in a bit more detail.

The reason she is seeking to build statically is so that we can distribute a compute job over a heterogenous linux cluster.  We need to be able to send our binary out to arbitrary machines (that will not have Gnustep installed, since we do not control them), and have it run, using Condor.

Now, I went back to a 2-year old copy of Gnustep and Ubuntu, and our build worked fine statically, i.e. first building Gnustep as static, then building our program statically (but there are other compatibility problems due to such an old set of libraries).

Then we tried multiple scenarios to get it building under Ubuntu 8.1 with the latest Gnustep from SVN, and it fails in the gnustep-gui build (gnustep-base works fine).  

I tracked down the failure that Jainab mentioned to link to the tiff library.  I was able to get this to compile statically through manual intervention, but only by rearranging the listing of the libraries at the linker command (or, by listing libtiff twice).  It seems that gcc 4.2 is exhibiting weirdness regarding linking statically, and this doesn't necessarily seem to be a Gnustep issue, though it could be.  Our next step is to try to revert to gcc 3.3 or something, to see if this works.

So that brings me to your post.  Can you clarify why you think that the latest Gnustep is not capable of being built statically?  This is actually a very critical issue for Gnustep to get used by people.  Not only for our attempts at distributing compute jobs on a cluster, but also for our ability to distribute binaries to people "that just work" (e.g., especially on Windows), without complex Gnustep installs.  If there are particular things that you think are "broken" for static builds, perhaps we will attempt to fix them, but it would help to know what they are.

Thanks again,
Morgan

BTW - Jainab's response sounds like she is being sarcastic in saying "Thanks a LOT!," but she is not a native speaker and did not realize that sounds sarcastic.


Adam Fedor-5 wrote:
I really doubt you'll be able to compile gnustep as a static build.  
The was a time long ago when that might have been possible.  We still  
even have a flag in gnustep-make to build the backend as a library  
rather than a bundle.  I'm not sure that works anymore and that  
certainly isn't the only problem you'll have.

On Nov 25, 2008, at 3:00 PM, dhusubali wrote:

>
> Hello,
> I am trying a static build of GNUstep libraries in ubuntu.  I was  
> successful
> until GNUstep/core/base library. When trying to compile gui library  
> I got
> problem while linking. Somehow gui does not recognize libtiff library.
> However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/
> lib/.
> Any help would be appreciated. Thanks in advance.
>
>



_______________________________________________
Help-gnustep mailing list
Help-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnustep

Re: Static GNUstep libraries build on ubuntu

by Adam Fedor-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Actually I had just assumed it would be hard more due to the fact that  
most gcc builds are geared towards shared builds now.  If you have  
done it in the recent past, then there is nothing different about  
GNUstep that should change this.  I haven't tried it for over 10 years  
so I can't really give any other input.

FYI  help-gnustep is a seldom used list.  You should try discuss-gnustep


On Dec 5, 2008, at 11:46 AM, giddings wrote:

>
> Hi Adam and others,
> I'm a long-time Gnustep user (from the 90's) who has worked a bit with
> Jainab on her attempted static build, so perhaps I can fill in a bit  
> more
> detail.
>
> The reason she is seeking to build statically is so that we can  
> distribute a
> compute job over a heterogenous linux cluster.  We need to be able  
> to send
> our binary out to arbitrary machines (that will not have Gnustep  
> installed,
> since we do not control them), and have it run, using Condor.
>
> Now, I went back to a 2-year old copy of Gnustep and Ubuntu, and our  
> build
> worked fine statically, i.e. first building Gnustep as static, then  
> building
> our program statically (but there are other compatibility problems  
> due to
> such an old set of libraries).
>
> Then we tried multiple scenarios to get it building under Ubuntu 8.1  
> with
> the latest Gnustep from SVN, and it fails in the gnustep-gui build
> (gnustep-base works fine).
>
> I tracked down the failure that Jainab mentioned to link to the tiff
> library.  I was able to get this to compile statically through manual
> intervention, but only by rearranging the listing of the libraries  
> at the
> linker command (or, by listing libtiff twice).  It seems that gcc  
> 4.2 is
> exhibiting weirdness regarding linking statically, and this doesn't
> necessarily seem to be a Gnustep issue, though it could be.  Our  
> next step
> is to try to revert to gcc 3.3 or something, to see if this works.
>
> So that brings me to your post.  Can you clarify why you think that  
> the
> latest Gnustep is not capable of being built statically?  This is  
> actually a
> very critical issue for Gnustep to get used by people.  Not only for  
> our
> attempts at distributing compute jobs on a cluster, but also for our  
> ability
> to distribute binaries to people "that just work" (e.g., especially on
> Windows), without complex Gnustep installs.  If there are particular  
> things
> that you think are "broken" for static builds, perhaps we will  
> attempt to
> fix them, but it would help to know what they are.
>
> Thanks again,
> Morgan
>
> BTW - Jainab's response sounds like she is being sarcastic in saying  
> "Thanks
> a LOT!," but she is not a native speaker and did not realize that  
> sounds
> sarcastic.
>
>
>
> Adam Fedor-5 wrote:
>>
>> I really doubt you'll be able to compile gnustep as a static build.
>> The was a time long ago when that might have been possible.  We still
>> even have a flag in gnustep-make to build the backend as a library
>> rather than a bundle.  I'm not sure that works anymore and that
>> certainly isn't the only problem you'll have.
>>
>> On Nov 25, 2008, at 3:00 PM, dhusubali wrote:
>>
>>>
>>> Hello,
>>> I am trying a static build of GNUstep libraries in ubuntu.  I was
>>> successful
>>> until GNUstep/core/base library. When trying to compile gui library
>>> I got
>>> problem while linking. Somehow gui does not recognize libtiff  
>>> library.
>>> However, I see that both libtiff.a and libtiff.so.4.2.1 are in usr/
>>> lib/.
>>> Any help would be appreciated. Thanks in advance.
>>>
>>>
>>


_______________________________________________
Help-gnustep mailing list
Help-gnustep@...
http://lists.gnu.org/mailman/listinfo/help-gnustep