#622 nedit-5.5 fails to build with openMotif-2.3.0

release
open-invalid
nobody
5
2008-03-09
2008-02-16
engelsman
No

I'm using Lunar Linux, which is a source based distro,
and for whatever reason decided to rebuild all of the
installed packages again from scratch, only to find that
nedit-5.5 won't rebuild now that other packages have been
updated in the meantime.

Please see the attached compile log for more details.

If I track down the missing dependency/library, I will
let you know.

Cheers
engelsman

Discussion

  • engelsman
    engelsman
    2008-02-16

    nedit-5.5 compile log

     
    Attachments
  • Thorsten Haude
    Thorsten Haude
    2008-03-09

    Logged In: YES
    user_id=119143
    Originator: NO

    Not a NEdit problem, check your Motif installation.

    Can you use Lesstif as an alternative?
    Is there a Lunar bug tracker web page?

     
  • Thorsten Haude
    Thorsten Haude
    2008-03-09

    • status: open --> open-invalid
     
  • engelsman
    engelsman
    2008-03-09

    Logged In: YES
    user_id=2011011
    Originator: YES

    Yooden: yes, and no!

    What threw me was that because I have openMotif-2.3.0 installed,
    the current Lunar Linux nedit build process responds with:

    > NEdit is known to work with LessTif versions:
    > ...
    > and is known to be very stable with Open Motif versions 2.1.30 and
    > 2.2.3, which are freely available from several sources, including:
    > ...
    > ========================== WARNING ===========================
    > You have chosen to build NEdit with an untested version of Open Motif.
    > Please report your success or failure with this version to:
    > develop@nedit.org

    nedit failed to build, so I assumed that it was down to incompatibilities
    with openMotif-2.3.0. In fact, it is, and it isn't.

    The Open Motif 2.3 Release Notes contain the following nugget:

    > 2. What is new in Open Motif 2.3
    > OpenMotif 2.3 has the following feature improvements:
    > * Client-side anti-aliased fonts support via XFT
    > * UTF-8 and UTF8_STRING atom support
    > * Ability to show text and pixmaps in Label, LabelGadget and all
    > derived widgets
    > * Support of PNG and JPEG image formats in the same way as XPM is supported
    > * 26 bug fixes

    If libXft, libpng and libjpeg are already installed on the system, the Open Motif
    configuration step should detect them and enable them. In fact, in the Lunar package
    options these are explicitly enabled. But this means that any code that links against
    Open Motif will also need to define these libraries on the link line. And that is
    the problem here. I think.

    To get nedit to build with Open Motif 2.3, I need to add -DBUILD_UNTESTED_NEDIT
    to CFLAGS in nedit/makefiles/Makefile.linux. If I also add -lXmu -lXft -lpng -ljpeg
    to the LIBS declaration then I can get nedit to build without error.

    I would be much obliged if you could check and confirm this behaviour.

    Cheers
    engelsman

     
  • Andrew Hood
    Andrew Hood
    2008-03-09

    Logged In: YES
    user_id=36856
    Originator: NO

    I can't find my test build with OM 2.3.0 but it did work. I did have to add a couple of extra libs to the link.

    There was one patch I had to make to the OM source to stop crashes. I have the first release of the OM source and yours might have it included. I can search for it in bugzilla if you need it.

    There is one patch required to NEdit to get a clean compile since a few extra #defines were added to OM.

    diff -b -u -r1.6 XmL.h
    --- Microline/XmL/XmL.h 15 Aug 2004 02:09:13 -0000 1.6
    +++ Microline/XmL/XmL.h 9 Mar 2008 22:02:39 -0000
    @@ -295,7 +295,9 @@

    /* Grid Row/Column/Cell resources */

    +#if XmVersion < 2003
    #define XmNrow "row"
    +#endif /*XmVersion*/
    #define XmCGridRow "row"
    #define XmNrowHeight "rowHeight"
    #define XmCRowHeight "RowHeight"
    @@ -313,7 +315,9 @@
    #define XmRRowType "RowType"
    #define XmNrowUserData "rowUserData"

    +#if XmVersion < 2003
    #define XmNcolumn "column"
    +#endif /*XmVersion*/
    #define XmCGridColumn "Column"
    #define XmNcolumnPtr "columnPtr"
    #define XmNcolumnRangeEnd "columnRangeEnd"

     
  • Bert Wesarg
    Bert Wesarg
    2008-03-09

    Logged In: YES
    user_id=122956
    Originator: NO

    If its only the extra libs, here is my list for OM 2.3.0 on an x86-64 linux:

    -lXm -lXmu -lXp -lXext -lXt -lSM -lICE -lX11 -lm

     
  • Daniel Macks
    Daniel Macks
    2008-06-19

    Logged In: YES
    user_id=535292
    Originator: NO

    lesstif provides an autoconf macro to publish what compiler/linker flags are needed to use it. It's rare that I say "shame something isn't using a standard autotool-driven build system", but there ya go.

     
  • engelsman
    engelsman
    2008-06-22

    Logged In: YES
    user_id=2011011
    Originator: YES

    I'm no expert on the state of openMotif or lesstif or how many applications use them in general, or how representative Lunar Linux is, but nedit is the only application in the Lunar Linux package tree that uses lesstif compared to 19 that use openMotif.

    It would be brilliant if an autotools wizard could restructure the nedit make system so that nedit can be compiled against whichever of lesstif or openMotif is installed. [Unfortunately that wizard is not me :-( ]