LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   NEDIT revival for SUSE 42.2 (https://www.linuxquestions.org/questions/linux-software-2/nedit-revival-for-suse-42-2-a-4175604961/)

stamcose 04-30-2017 10:33 AM

NEDIT revival for SUSE 42.2
 
Installing the NEDIT from repo

http://download.opensuse.org/reposit...2/editors.repo

for SUSE 42.2 one gets an unusable NEDIT as discussed in the thread

"NEDIT for SUSE 42.2, strange display"


An earlier version that has been working perfectly on earlier SUSE setups does not start because the library "libXp.so.6" is not found


I found that in the earlier SUSE system "libXp.so.6" was in /usr/lib while in SUSE 42.2 it is in /usr/lib64

As an experiment I put a symbolic link to the existing "/usr/lib64/libXp.so.6" from /usr/lib

Not surprisingly this is not working, I get as error code

"error while loading shared libraries: libXp.so.6: wrong ELF class: ELFCLASS64"

The earlier "good" version was obvously compiled as a 32 bits application and SUSE42.2 is only for 64 bits applications!

Any good ideas how to get an NEDIT working in the SUSE 42.2 environment?

I do not think the source code of NEDIT has changed the last few years! I guess something went wrong in the preparation of NEDIT for the 42.2 "editors.repo"

norobro 04-30-2017 01:16 PM

Quote:

Originally Posted by stamcose (Post 5704249)
Any good ideas how to get an NEDIT working in the SUSE 42.2 environment?

Haven't used NEdit but why not compile it yourself?

Looks like there was some activity in February of this year: https://sourceforge.net/projects/ned.../nedit-source/

stamcose 04-30-2017 02:36 PM

1 Attachment(s)
The NEDIT binary included in SUSE 13.2 needs the following libraries to run:

libICE.so.6
libSM.so.6
libX11.so.6
libXau.so.6
libxcb.so.1
libXext.so.6
libXpm.so.4
libXp.so.6
libXt.so.6
libuuid.so.1

The 9 first were in SUSE 13.2 included in /usr/lib, the last in /lib

In SUSE 42.2 they are all in /usr/lib64 but absent in the directories /usr/lib and /lib

When I move all these SUSE 13.2 libraries into /usr/lib and /lib of SUSE 42.2 the NEDIT binary copied from SUSE 13.2 starts and opens an EDIT window but this EDIT window does not work. On error-sysout a large amount of error messages all related to "TranslationTable" are produced. The error messages are in attachment!

Any good idea how to solve these "TranslationTable" problems?

norobro 04-30-2017 05:07 PM

I see in your other thread that pan64 recommends compiling from source also. http://www.linuxquestions.org/questi...1/#post5704202
  1. download nedit-5.7-src.tar.gz
  2. untar it
  3. cd into the directory
  4. run make linux
As the docs say, it is a stand-alone executable. It ran fine from my working directory.

Is there a reason that you haven't tried compiling from source?

ondoho 05-01-2017 01:35 AM

fwiw, archlinux has nedit in their repos and it works.
but just for giggles i compiled it myself now, took about 30s (OK, 5 minutes including reading the README), and works.
note there's some options to compile it statically linked.
also i think it defaults to lesstif instead of motif, and the README states that there's some (longstanding?) bugs with lesstif.

stamcose 05-01-2017 04:07 AM

"norobro" writes:
Quote:

Is there a reason that you haven't tried compiling from source?
Because it is an activity that is new to me! But as both "norobro" and "ondoho" had success going this way I tried to do the same getting source and makefiles from "sourceforge"

But I was not succesful:
Code:

mats@linux-ze70:~/nedit-5.7> make linux
(cd util; \
    make -f Makefile.linux libNUtil.a)
make[1]: Entering directory '/home/mats/nedit-5.7/util'
cc -O -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD  -c -o DialogF.o DialogF.c
In file included from DialogF.c:33:0:
DialogF.h:30:27: fatal error: X11/Intrinsic.h: No such file or directory
 #include <X11/Intrinsic.h>
                          ^
compilation terminated.
<builtin>: recipe for target 'DialogF.o' failed
make[1]: *** [DialogF.o] Error 1
make[1]: Leaving directory '/home/mats/nedit-5.7/util'
Makefile:21: recipe for target 'linux' failed
make: *** [linux] Error 2

Appearently an
Code:

X11/Intrinsic.h
is lacking in SUSE42.2!

"norobro" and "ondoho", does your setup include this file? What shall I do to have a sucessful "build" like you had?

stamcose 05-01-2017 08:06 AM

From Norobro:
Quote:

download nedit-5.7-src.tar.gz
untar it
cd into the directory
run make linux
It must be controllable if a 32 bit or a 64 bit binary should result!

Sure, the "makefile" could be analysed but for a non-specialist in shell scripting this is not so obvious!

Anyway, the required "Intrinsic.h" file is not found, there is neither a 32 bit or a 64 bit version with this file name in SUSE 42.2!

norobro 05-01-2017 09:03 AM

Quote:

Originally Posted by stamcose (Post 5704563)
Anyway, the required "Intrinsic.h" file is not found, there is neither a 32 bit or a 64 bit version with this file name in SUSE 42.2!

That file is in Xt development library. https://software.opensuse.org/package/libXt-devel

pan64 05-01-2017 09:24 AM

yes, if that was unclear: you need to install that package (and probably there will be others) to be able to compile it.

stamcose 05-01-2017 09:32 AM

Thanks, norobro! With this file available the "make" went a bit further! Now it is

Xm/Xm.h

that is failing!

Code:

mats@linux-ze70:~/nedit-5.7> make linux
(cd util; \
    make -f Makefile.linux libNUtil.a)
make[1]: Entering directory '/home/mats/nedit-5.7/util'
cc -O -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD  -c -o DialogF.o DialogF.c
In file included from DialogF.c:34:0:
misc.h:31:19: fatal error: Xm/Xm.h: No such file or directory
 #include <Xm/Xm.h>
                  ^
compilation terminated.
<builtin>: recipe for target 'DialogF.o' failed
make[1]: *** [DialogF.o] Error 1
make[1]: Leaving directory '/home/mats/nedit-5.7/util'
Makefile:21: recipe for target 'linux' failed
make: *** [linux] Error 2
mats@linux-ze70:~/nedit-5.7>


pan64 05-01-2017 09:41 AM

Code:

# $Id: Makefile.linux,v 1.14 2006/10/26 02:20:16 tringali Exp $
CC=cc
AR=ar

# For editres, add -DEDITRES to CFLAGS and -lXmu to LIBS
# If using a Motif 2.1 compatible library (LessTif, OM) add
# a '-lXp' in front of the -lXext in LIBS. You also drop the
# -lXpm from that list.
# Ensure that the Motif/LessTif headers and libs are found!
# e.g. you may have to add something like
#  -I/usr/lesstif/include  to CFLAGS and
#  -L/usr/lesstif/lib      to LIBS
#
# To evaluate an alternative layout for the Replace/Find dialog, add
# -DREPLACE_SCOPE to the CFLAGS. See the README file for more information.
#
# To test if the Motif library exports the runtime version
# add -DHAVE__XMVERSIONSTRING to CFLAGS
#
CFLAGS=-O -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD

ARFLAGS=-urs

LIBS=-L/usr/X11R6/lib -lXm -lXt -lX11 -lm

include Makefile.common

this is a makefile from nedit.
You need to install lesstif probably

stamcose 05-01-2017 10:44 AM

I copied your makefile to ~/nedit-5.7:


Code:

mats@linux-ze70:~/nedit-5.7> cat Makefile
# $Id: Makefile.linux,v 1.14 2006/10/26 02:20:16 tringali Exp $
CC=cc
AR=ar

# For editres, add -DEDITRES to CFLAGS and -lXmu to LIBS
# If using a Motif 2.1 compatible library (LessTif, OM) add
# a '-lXp' in front of the -lXext in LIBS. You also drop the
# -lXpm from that list.
# Ensure that the Motif/LessTif headers and libs are found!
# e.g. you may have to add something like
#  -I/usr/lesstif/include  to CFLAGS and
#  -L/usr/lesstif/lib      to LIBS
#
# To evaluate an alternative layout for the Replace/Find dialog, add
# -DREPLACE_SCOPE to the CFLAGS. See the README file for more information.
#
# To test if the Motif library exports the runtime version
# add -DHAVE__XMVERSIONSTRING to CFLAGS
#
CFLAGS=-O -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD

ARFLAGS=-urs

LIBS=-L/usr/X11R6/lib -lXm -lXt -lX11 -lm

include Makefile.common
mats@linux-ze70:~/nedit-5.7>

Tried to use:
Code:

mats@linux-ze70:~/nedit-5.7> make
Makefile:26: Makefile.common: No such file or directory
make: *** No rule to make target 'Makefile.common'.  Stop.
mats@linux-ze70:~/nedit-5.7>

It seems to be the last line of "Makefile":
Code:

include Makefile.common
that cannot be executed! No "Makefile.common" to be found!

The "Makefile" from Sourceforge got further!

pan64 05-01-2017 10:51 AM

you misunderstood. This makefile was from sourceforge, you will find that yourself in the makefiles folder. I just posted what you should check to be able to compile.

stamcose 05-01-2017 12:06 PM

Code:

# If using a Motif 2.1 compatible library (LessTif, OM) add
# a '-lXp' in front of the -lXext in LIBS. You also drop the
# -lXpm from that list.

I think SUSE is using X11 but not Motif! With SUSE 13.2 everything with NEDIT was fine! Without involving a developer familiar with these graphical systems and with NEDIT I don't think any further progress can be made! The SUSE-developers should get in touch with Scott Tringali to obtain that the "editors" repo of SUSE is put in order! I still think it is just a minor discrepancy, during the 32 bits epoch it was all fine!

Anyway, to compile the source code with the makefile provided by Sourceforge is no immediate solution to the SUSE problem, this compile does not work in the SUSE environment!

Is there a channel for official bug reporting for SUSE?

pan64 05-01-2017 12:28 PM

Quote:

Originally Posted by stamcose (Post 5704679)
this compile does not work in the SUSE environment!

This statement is false, you need to install all the prerequisites to be able to compile. It is not a bug, this is how things [should] work. Actually the creators of NEdit had no idea what packages will be required 5-10 years later on a fresh new OS, so it is not documented very well. You need to install the X11 related development libraries, because NEdit uses the native X11 interface.
One solution could be to look for all the missing files similar way as it was in post #8.


All times are GMT -5. The time now is 10:56 AM.