[redhat7.1] Nedit...

Pagina: 1
Acties:

  • DPLuS
  • Registratie: April 2000
  • Niet online
Hoi,

Ik krijg deze melding als ik Nedit (www.nedit.org) wil compileren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@bigtower nedit-5.1.1]# make linux
(cd util;   make -f Makefile.linux libNUtil.a)
make[1]: Entering directory `/root/nedit-5.1.1/util'
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o DialogF.o DialogF.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o getfiles.o getfiles.c
cc -c -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD  printUtils.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o misc.o misc.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o fileUtils.o fileUtils.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o prefFile.o prefFile.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o fontsel.o fontsel.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o managedList.o managedList.c
ar -urs libNUtil.a DialogF.o getfiles.o printUtils.o misc.o fileUtils.o prefFile.o fontsel.o managedList.o
make[1]: Leaving directory `/root/nedit-5.1.1/util'
(cd source; make -f Makefile.linux nedit nc)
make[1]: Entering directory `/root/nedit-5.1.1/source'
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o nedit.o nedit.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o file.o file.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o menu.o menu.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o window.o window.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o selection.o selection.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o search.o search.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o undo.o undo.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o shift.o shift.c
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD  -c help.c -o help.o
cc -O -I/usr/lesstif/include -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD   -c -o preferences.o preferences.c
preferences.c: In function `RestoreNEditPrefs':
preferences.c:817: `stderr' undeclared (first use in this function)
preferences.c:817: (Each undeclared identifier is reported only once
preferences.c:817: for each function it appears in.)
preferences.c: In function `ParseError':
preferences.c:4075: `stderr' undeclared (first use in this function)
make[1]: *** [preferences.o] Error 1
make[1]: Leaving directory `/root/nedit-5.1.1/source'
make: *** [linux] Error 2
[root@bigtower nedit-5.1.1]#

Btw, ik heb lesstif 0.93 al geinstalleerd...

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ik heb het vermoeden dat de fout ergens hier zit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void RestoreNEditPrefs(XrmDatabase prefDB, XrmDatabase appDB)
{
    int requiresConversion;
    
    /* Load preferences */
    RestorePreferences(prefDB, appDB, APP_NAME,
          APP_CLASS, PrefDescrip, XtNumber(PrefDescrip));
    
    /* If the preferences file was written by an older version of NEdit,
     warn the user that it will be converted. */
    requiresConversion = PrefData.prefFileRead &&
          PrefData.fileVersion[0] == '\0';
    if (requiresConversion) {
    fprintf(stderr, "NEdit: Converting .nedit file from old version.\n"
        "    To update, use Preferences -> Save Defaults\n");
    updatePatternsTo5dot1();
    }
     
    /* Do further parsing on resource types which RestorePreferences does
     not understand and reads as strings, to put them in the final form
     in which nedit stores and uses.  If the preferences file was
     written by an older version of NEdit, update regular expressions in
     highlight patterns to quote braces and use & instead of \0 */
    translatePrefFormats(requiresConversion);
}

Dit is regel 800 tm 840 van het bestand preferences.c waar 'ie over aan het zeuren is.
Alleen weet ik niets van C...

Verwijderd

In dat bestand moet je de volgende regels toevoegen (ergens bovenin):
code:
1
2
#include <stdio.h>
#include <stdlib.h>

stderr staat in een van die twee gedefinieerd maar ik ben te lui om het op te zoeken ;)

  • DPLuS
  • Registratie: April 2000
  • Niet online
Dat was hem! Dank je...

Volgend probleem:


[root@CP82517-A source]# ./nedit
./nedit: error while loading shared libraries: libXm.so.2: cannot load shared object file: No such file or directory


Maar als ik zoek:

[root@CP82517-A source]# slocate libXm.so
/usr/local/lib/libXm.so.2

vindt 'ie 'm gewoon...

Hoe los ik dit op?

  • Remenic
  • Registratie: Juni 2001
  • Laatst online: 09-08 20:06
Op zaterdag 11 augustus 2001 23:43 schreef DPLuS het volgende:

Dat was hem! Dank je...



Volgend probleem:





[root@CP82517-A source]# ./nedit

./nedit: error while loading shared libraries: libXm.so.2: cannot load shared object file: No such file or directory





Maar als ik zoek:



[root@CP82517-A source]# slocate libXm.so

/usr/local/lib/libXm.so.2



vindt 'ie 'm gewoon...



Hoe los ik dit op?
Maak een symlink van /usr/local/lib/libXm.so.2 naar /usr/local/lib/libXm.so (als die er niet al is).
Zorg dat /usr/local/lib in /etc/ld.so.conf staat, en run dan 'ldconfig'

dan zou ie 'm gewoon moeten vinden.

succes

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 10:10

deadinspace

The what goes where now?

Staat /usr/local/lib in /etc/ld.so.conf? Zo nee, toevoegen en 'ldconfig' runnen.

Als hij er wel instaat, of het hierna nog niet werkt, moet je eens 'ldconfig -V | grep libXm' doen en kijken wat ldconfig met die shared object(s) doet.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 10:10

deadinspace

The what goes where now?

Op zondag 12 augustus 2001 00:15 schreef Remenic het volgende:
Maak een symlink van /usr/local/lib/libXm.so.2 naar /usr/local/lib/libXm.so (als die er niet al is).
Dat hoort niet te hoeven, de dynamic loader vertaalt die namen namelijk, dus als het programma braaf naar de dynamic loader luistert, zou het zonder die symlink ook moeten werken.

  • DPLuS
  • Registratie: April 2000
  • Niet online
Oh ja, ik had het al gevonden:

bedankt voor de hulp, ik hoop dat dit programma het waard was :)



After LessTif (Getting shared libraries to work)

Shared library configuration differs from system to system. Here is the lowdown on getting them to work on the systems that support them.

Linux
There are two ways to have shared libraries available under linux:
Use the LD_LIBRARY_PATH environment variable.
Use ldconfig.
The second option is only available to those with superuser access, so if you don't, or you specifically want to use the library that was just built (for running the tests), use the
LD_LIBRARY_PATH variable.

The LD_LIBRARY_PATH variable is to contain a colon separated list of paths to be searched for shared libraries. This variable is consulted before the information compiled by ldconfig, so
even if you have LessTif already installed on your system you can use this variable to force the use of the newly built library.

An example setting for LD_LIBRARY_PATH:

$ LD_LIBRARY_PATH=/home/toshok/lesstif/libXm:/home/toshok/lesstif/libMrm
$ export LD_LIBRARY_PATH

If you have superuser access and want LessTif to be installed for system- wide use, make sure the directory to which the libraries were installed is listed in /etc/ld.so.conf. Then (as
root) type

ldconfig -v

to make them available.
Pagina: 1