Any luck with compiling and linking X11 programs?
Posted: Sat Sep 07, 2019 3:55 pm
I tried compiling some of the example code that comes with DEC Windows but ran into a wall when trying to link:
%LINK-W-NUDFSYMS, 10 undefined symbols:
%LINK-I-UDFSYM, MRMFETCHSETVALUES
%LINK-I-UDFSYM, MRMFETCHWIDGET
%LINK-I-UDFSYM, MRMINITIALIZE
%LINK-I-UDFSYM, MRMOPENHIERARCHY
%LINK-I-UDFSYM, MRMREGISTERNAMES
%LINK-I-UDFSYM, XTAPPINITIALIZE
%LINK-I-UDFSYM, XTAPPMAINLOOP
%LINK-I-UDFSYM, XTMANAGECHILD
%LINK-I-UDFSYM, XTREALIZEWIDGET
%LINK-I-UDFSYM, _XMSTRINGS
%LINK-W-USEUNDEF, undefined symbol MRMOPENHIERARCHY referenced
It goes on...
I found the respective header files but couldn't get cc to use the DECC$USER_INCLUDE logical, only the /INCLUDE_DIRECTORY parameter. It compiles to an .OBJ but that was it.
Any ideas?
Added in 1 hour 8 minutes 31 seconds:
I modifed the source file so that header files are not expected in subdirectories, since they aren't on the system.
$ cc helloint.c
#include <Xm.h> /* Motif Toolkit */
.^
%CC-F-NOINCLFILEF, Cannot find file <Xm.h> specified in #include directive.
at line number 8 in file SYS$SYSDEVICE:[AJBREHM]HELLOINT.C;4
$ cc helloint.c/include_directory=DKA0:[VMS$COMMON.DECW$INCLUDE]
$
It works with the /include_directory parameter.
However:
$ link helloint
%LINK-W-NUDFSYMS, 10 undefined symbols:
%LINK-I-UDFSYM, MRMFETCHSETVALUES
%LINK-I-UDFSYM, MRMFETCHWIDGET
%LINK-I-UDFSYM, MRMINITIALIZE
%LINK-I-UDFSYM, MRMOPENHIERARCHY
%LINK-I-UDFSYM, MRMREGISTERNAMES
%LINK-I-UDFSYM, XTAPPINITIALIZE
%LINK-I-UDFSYM, XTAPPMAINLOOP
%LINK-I-UDFSYM, XTMANAGECHILD
%LINK-I-UDFSYM, XTREALIZEWIDGET
%LINK-I-UDFSYM, _XMSTRINGS
%LINK-W-USEUNDEF, undefined symbol MRMOPENHIERARCHY referenced
in psect $LINK$ offset %X00000000
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTAPPINITIALIZE referenced
in psect $LINK$ offset %X00000040
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTAPPMAINLOOP referenced
in psect $LINK$ offset %X00000050
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTREALIZEWIDGET referenced
in psect $LINK$ offset %X000000C0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMINITIALIZE referenced
in psect $LINK$ offset %X000000D0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMREGISTERNAMES referenced
in psect $LINK$ offset %X000000E0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMFETCHWIDGET referenced
in psect $LINK$ offset %X000000F0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTMANAGECHILD referenced
in psect $LINK$ offset %X00000100
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol _XMSTRINGS referenced
in psect $LINK$ offset %X00000170
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMFETCHSETVALUES referenced
in psect $LINK$ offset %X00000190
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
Coming from a Windows world, I am not very familiar with X. Am I missing some configuration?
%LINK-W-NUDFSYMS, 10 undefined symbols:
%LINK-I-UDFSYM, MRMFETCHSETVALUES
%LINK-I-UDFSYM, MRMFETCHWIDGET
%LINK-I-UDFSYM, MRMINITIALIZE
%LINK-I-UDFSYM, MRMOPENHIERARCHY
%LINK-I-UDFSYM, MRMREGISTERNAMES
%LINK-I-UDFSYM, XTAPPINITIALIZE
%LINK-I-UDFSYM, XTAPPMAINLOOP
%LINK-I-UDFSYM, XTMANAGECHILD
%LINK-I-UDFSYM, XTREALIZEWIDGET
%LINK-I-UDFSYM, _XMSTRINGS
%LINK-W-USEUNDEF, undefined symbol MRMOPENHIERARCHY referenced
It goes on...
I found the respective header files but couldn't get cc to use the DECC$USER_INCLUDE logical, only the /INCLUDE_DIRECTORY parameter. It compiles to an .OBJ but that was it.
Any ideas?
Added in 1 hour 8 minutes 31 seconds:
I modifed the source file so that header files are not expected in subdirectories, since they aren't on the system.
$ cc helloint.c
#include <Xm.h> /* Motif Toolkit */
.^
%CC-F-NOINCLFILEF, Cannot find file <Xm.h> specified in #include directive.
at line number 8 in file SYS$SYSDEVICE:[AJBREHM]HELLOINT.C;4
$ cc helloint.c/include_directory=DKA0:[VMS$COMMON.DECW$INCLUDE]
$
It works with the /include_directory parameter.
However:
$ link helloint
%LINK-W-NUDFSYMS, 10 undefined symbols:
%LINK-I-UDFSYM, MRMFETCHSETVALUES
%LINK-I-UDFSYM, MRMFETCHWIDGET
%LINK-I-UDFSYM, MRMINITIALIZE
%LINK-I-UDFSYM, MRMOPENHIERARCHY
%LINK-I-UDFSYM, MRMREGISTERNAMES
%LINK-I-UDFSYM, XTAPPINITIALIZE
%LINK-I-UDFSYM, XTAPPMAINLOOP
%LINK-I-UDFSYM, XTMANAGECHILD
%LINK-I-UDFSYM, XTREALIZEWIDGET
%LINK-I-UDFSYM, _XMSTRINGS
%LINK-W-USEUNDEF, undefined symbol MRMOPENHIERARCHY referenced
in psect $LINK$ offset %X00000000
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTAPPINITIALIZE referenced
in psect $LINK$ offset %X00000040
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTAPPMAINLOOP referenced
in psect $LINK$ offset %X00000050
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTREALIZEWIDGET referenced
in psect $LINK$ offset %X000000C0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMINITIALIZE referenced
in psect $LINK$ offset %X000000D0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMREGISTERNAMES referenced
in psect $LINK$ offset %X000000E0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMFETCHWIDGET referenced
in psect $LINK$ offset %X000000F0
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol XTMANAGECHILD referenced
in psect $LINK$ offset %X00000100
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol _XMSTRINGS referenced
in psect $LINK$ offset %X00000170
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
%LINK-W-USEUNDEF, undefined symbol MRMFETCHSETVALUES referenced
in psect $LINK$ offset %X00000190
in module HELLOINT file SYS$SYSDEVICE:[AJBREHM]HELLOINT.OBJ;5
Coming from a Windows world, I am not very familiar with X. Am I missing some configuration?