bugGNUstep - Bugs: bug #40671, Cant build gui on system with...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #40671: Cant build gui on system with alternative ICU package

Submitted by:  Richard Frith-Macdonald <CaS>
Submitted on:  Fri 22 Nov 2013 03:33:31 PM UTC  
 
Category: Gui/AppKitSeverity: 3 - Normal
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: Richard Frith-Macdonald <CaS>
Open/Closed: Closed

Sat 07 Dec 2013 08:46:15 PM UTC, comment #4:

Then I close the bug report as it works for you and for me your solution seems to be a valid one.

Fred Kiefer <FredKiefer>
Project Member
Thu 05 Dec 2013 06:25:30 AM UTC, comment #3:

I'm not sure how to class the current state of things.

As far as I could tell, I was building gnustep-base and gnustep-gui the same way, and I did not manage to figure out why gnustep-gui was using a different version of ICU from gnustep-base.

What I did in gnustep-base was expose the flags used to incorporate ICU in the base.make makefile fragment, so that anything built by gnustep-make will get those same flags.

That means, when we come to building gnustep-gui, we get the flags used to build base, irrespective of what gnustep-gui's configure found for ICU (basically we ignore gnustep-gui's ICU configure results).

One the one had, I think it's the right thing to do to try to ensure that anything building with base also builds/links the same versions of libraries that base uses. On the other hand, it seems wrong to be ignoring the results of gui's configure script.

Anyway, this worked for me iin that it allowed me to build gui again … so you could say this issue is fixed.

Richard Frith-Macdonald <CaS>
Project MemberIn charge of this item.
Tue 03 Dec 2013 10:19:53 PM UTC, comment #2:

Is this still valid or did your last change to base resolve the issue?

Fred Kiefer <FredKiefer>
Project Member
Fri 22 Nov 2013 08:58:30 PM UTC, comment #1:

Not sure whether I completely understand your post.

Would it be sufficient to use the same code base is using in its configure script to sort out the ICU dependencies? There we set the LDFLAGS based on results from icu-config. I did not see a way to get include paths from icu-config. If that is waht you require, how should that be determined? If you don't want the standard version of a library it is up to you to provide the system with the required settings.

Is base actually working correctly for you? I would expect similar problems there. Maybe it did pick up the standard ICU more consistently?

Fred Kiefer <FredKiefer>
Project Member
Fri 22 Nov 2013 03:33:31 PM UTC, original submission:

If you try to build gui with an alternative version of ICU, the configure script is able to detect the version you are using and set up the library directory and extra ICU libraries to use.

Unfortunately it fails to set the correct header directory path during the build, so the build actually uses the stock system headers (or I suppose if there are none, it will fail during compilation).

If it builds the library, it then fails to build the tools.
eg.
Making all for tool set_show_service...
Linking tool set_show_service ...
../Source/./obj/libgnustep-gui.so: undefined reference to `u_strFromUTF32_4_2'
../Source/./obj/libgnustep-gui.so: undefined reference to `u_charName_4_2'
../Source/./obj/libgnustep-gui.so: undefined reference to `u_enumCharNames_4_2'
../Source/./obj/libgnustep-gui.so: undefined reference to `u_getPropertyValueName_4_2'
../Source/./obj/libgnustep-gui.so: undefined reference to `u_getIntPropertyValue_4_2'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [obj/set_show_service] Error 1

I think this is because different versions of the ICU headers redefine functions to have different names … the above are version 4.2 functions (the stock install on my current system), but the build should have been using 4.6

Richard Frith-Macdonald <CaS>
Project MemberIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by FredKiefer (Posted a comment)
  • -unavailable- added by CaS (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 07 Dec 2013 08:46:15 PM UTCFredKieferStatusNone=>Fixed
      Assigned toNone=>CaS
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1