Closed 9600 closed 6 years ago
Hi... really surprised that someone be interested by isode-8.0. Welcome to the ISODE world In effect, -lcrypt should solve the first missing reference, but the command line does not seem to have the -lcrypt option added
cc -o xftamd ftamd.o ftamsystem.o ftamd-manage.o
ftamd-select.o ftamd-trans.o ftamsbr.o DOCS_tables.o
../libftam.a ../libisode.a -lm
The other link error is an unresolved reference to getcwd
which is part of glibc,, the implicit linked library of the C runtime. That is quite strange
BTW, you could also add the -lcrypt
to LDFLAGS
in CONFIG.make
I was delighted to discover someone had ported it to Linux! Back in the mid-90s I built an e-mail gateway for a national utilities company, to route between DEC ALL-IN-ONE internal mail and X.400, using DEC MAILbus 400 MTA and X.500 DSA on OpenVMS, with X.400<>SMTP routing via other MAILbus software on an OSF/1 host.
Then in 1999 used the Isode commercial products for X.400 connection to an ADMD for EDI messaging, and Solstice OSI for FTAM over X.25 to transfer payment information from a bank. We had a DSA connected to NameFLOW-Paradise just for fun also.
Hence I have a soft spot for ISO networking and applications, and would love to get this up and running.
Previous output was without -lcrypt in CONFIG.make. Appending this to LDFLAGS I get:
cc -lcrypt -o xftamd ftamd.o ftamsystem.o ftamd-manage.o \
../libisode.a(chkpassword.o): In function chkpassword': /var/SW/isode-8.0/compat/chkpassword.c:89: undefined reference to
crypt'
collect2: error: ld returned 1 exit status
make[2]: [xftamd] Error 1
cc -lcrypt -o xftam ftam.o ftamuser.o ftam-assoc.o \
ftam-dir.o: In function f_lcd': /var/SW/isode-8.0/ftam2/ftam-dir.c:60: undefined reference to
_getcwd'
ftam-dir.o: In function f_pwd': /var/SW/isode-8.0/ftam2/ftam-dir.c:247: undefined reference to
_getcwd'
collect2: error: ld returned 1 exit status
make[2]: [xftam] Error 1
make[2]: Target 'all' not remade because of errors.
make[1]: [all-ftam] Error 2
make: [everything] Error 2
I read that the position of -lcrypt can be important and appending it to LDFLAGS it was appearing earlier on, so I moved it to after -lm on LSOCKET. Not sure if it's now getting further and encountering another error, or this has actually created another problem.
//
-rw-rw-r-- 2 andrew andrew 1464746 Aug 20 10:45 libftam.a FTAM library built normally make[2]: Leaving directory '/var/SW/isode-8.0/ftam' cd ftam2; ./make DESTDIR= -w -k all make[2]: Entering directory '/var/SW/isode-8.0/ftam2' Makefile:33: warning: overriding recipe for target '.c.o' ../config/CONFIG.make:112: warning: ignoring old recipe for target '.c.o' ../pepsy/xpepsy -A -f -h -m docs.py pepsy 8.0 #1 (snow) of Mon 20 Aug 10:44:55 BST 2018 DOCS none decode none: FTAM-1-Parameters FTAM-1-Datatype1 FTAM-3-Parameters FTAM-3-Datatype1 NBS-9-Parameters NBS-9-Datatype1
comptag:warning implicit tag of unknown type Attribute-Names
comptag:treated as implicit
cc -w -g -I. -I../h -DPEPYPATH -c ftamd.c
cc -w -g -I. -I../h -DPEPYPATH -c ftamsystem.c
cc -w -g -I. -I../h -DPEPYPATH -c ftamd-manage.c
cc -w -g -I. -I../h -DPEPYPATH -c ftamd-select.c
cc -w -g -I. -I../h -DPEPYPATH -c ftamd-trans.c
cc -w -g -I. -I../h -DPEPYPATH -c ftamsbr.c
cc -w -g -I. -I../h -DPEPYPATH -c DOCS_tables.c
cc -o xftamd ftamd.o ftamsystem.o ftamd-manage.o \
ftamd-select.o ftamd-trans.o ftamsbr.o DOCS_tables.o \
../libftam.a ../libisode.a -lm -lcrypt
cc ftamd.o xftamd -o ftamd
xftamd: In function __bss_start': (.bss+0x2c): multiple definition of
cflag'
ftamd.o:(.bss+0x0): first defined here
xftamd: In function ftam_adios': /var/SW/isode-8.0/ftam2/ftamd.c:154: multiple definition of
ftam_adios'
ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:154: first defined here
xftamd: In function data_start': (.data+0x30): multiple definition of
myname'
ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:52: first defined here
xftamd: In function _fini': (.fini+0x0): multiple definition of
_fini'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o:(.fini+0x0): first defined here
xftamd: In function __bss_start': (.bss+0x30): multiple definition of
debug'
ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:52: first defined here
xftamd: In function advise': /var/SW/isode-8.0/ftam2/ftamd.c:305: multiple definition of
advise'
ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:305: first defined here
xftamd: In function ftam_diag': /var/SW/isode-8.0/ftam2/ftamd.c:189: multiple definition of
ftam_diag'
ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:189: first defined here
xftamd: In function data_start': (.data+0x0): multiple definition of
data_start'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:(.data+0x0): first defined here
xftamd: In function data_start': (.data+0x8): multiple definition of
dso_handle'
/usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o:(.data+0x0): first defined here
xftamd:(.rodata+0x0): multiple definition of _IO_stdin_used' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4+0x0): first defined here xftamd: In function
data_start':
(.data+0x28): multiple definition of ftamfd' ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:52: first defined here xftamd: In function
_start':
(.text+0x0): multiple definition of _start' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:(.text+0x0): first defined here xftamd: In function
main':
/var/SW/isode-8.0/ftam2/ftamd.c:52: multiple definition of main' ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:52: first defined here xftamd: In function
adios':
/var/SW/isode-8.0/ftam2/ftamd.c:277: multiple definition of adios' ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:277: first defined here xftamd: In function
_init':
(.init+0x0): multiple definition of _init' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o:(.init+0x0): first defined here xftamd: In function
ftam_advise':
/var/SW/isode-8.0/ftam2/ftamd.c:170: multiple definition of ftam_advise' ftamd.o:/var/SW/isode-8.0/ftam2/ftamd.c:170: first defined here /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o:(.tm_clone_table+0x0): multiple definition of
__TMC_END__'
xftamd:(.data+0x28f40): first defined here
/usr/bin/ld: error in xftamd(.eh_frame); no .eh_frame_hdr table will be created.
collect2: error: ld returned 1 exit status
Yes -lcrypt should be ordered in the command line after the first unresolved reference, hence just before or after -lm in that case.
The other issues are coming from these 2 lines
cc -o xftamd ftamd.o ftamsystem.o ftamd-manage.o
ftamd-select.o ftamd-trans.o ftamsbr.o DOCS_tables.o
../libftam.a ../libisode.a -lm -lcrypt
cc ftamd.o xftamd -o ftamd
The first one is producing xftamd that includes ftamd.o The second is producing ftamd combining ftamd.o with the previous xftamd, hence all ftamd.o external symbols are duplicate. The solution would be to avoid the second line, but I dpo not have a working Linux under hand and cannot explore a solution.
The problem is coming from this line in ftam2/Makefile
ftamd: xftamd
Make has no rule to apply for producing ftamd from xftamd, thus it applies a default rule since it founds a ftam.o in the directory. May be adding an echo ""
would solve the issue.
That seemed to do the trick and now it just fails with those _getcwd errors:
cc -w -g -I. -I../h -DPEPYPATH -c ftam-ls.c
cc -w -g -I. -I../h -DPEPYPATH -c ftam-mgmt.c
cc -w -g -I. -I../h -DPEPYPATH -c ftam-put.c
cc -o xftam ftam.o ftamuser.o ftam-assoc.o \
ftam-dir.o ftam-get.o ftam-glob.o ftam-ls.o \
ftam-mgmt.o ftam-put.o ftamsbr.o DOCS_tables.o \
../libftam.a ../libisode.a -lm -lcrypt
ftam-dir.o: In function f_lcd': /var/SW/isode-8.0/ftam2/ftam-dir.c:59: undefined reference to
_getcwd'
ftam-dir.o: In function f_pwd': /var/SW/isode-8.0/ftam2/ftam-dir.c:243: undefined reference to
_getcwd'
collect2: error: ld returned 1 exit status
Makefile:115: recipe for target 'xftam' failed
In h/usr.dirent.h
and others/cl/h/dirent.h
, comment out the line below as a workaround (the final fix should be guarded by a #define)
#define getcwd _getcwd
Thanks, this got me further again. Next ftam was failing to build with similar duplicate symbol errors to ftamd, so I added an echo "" line for this also. Now it's failing with ftp.c:
cc -o xftam ftam.o ftamuser.o ftam-assoc.o \ ftam-dir.o ftam-get.o ftam-glob.o ftam-ls.o \ ftam-mgmt.o ftam-put.o ftamsbr.o DOCS_tables.o \ ../libftam.a ../libisode.a -lm -lcrypt
make[2]: Leaving directory '/var/SW/isode-8.0/ftam2'
cd ftam-ftp; ./make DESTDIR= -w -k all
make[2]: Entering directory '/var/SW/isode-8.0/ftam-ftp'
Makefile:37: warning: overriding recipe for target '.c.o'
../config/CONFIG.make:112: warning: ignoring old recipe for target '.c.o'
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamd.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamsystem.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamd-manage.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamd-select.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamd-trans.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamsbr.c
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ftp.c
In file included from ftp.c:44:0:
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:4:2: error: #error "GCC no longer implements
^
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:5:2: error: #error "Revise your code to use
^
In file included from ftp.c:46:0:
ftp_var.h:86:14: error: conflicting types for ‘sys_errlist’
extern char sys_errlist[];
^
In file included from /usr/include/stdio.h:853:0,
from /usr/include/malloc.h:24,
from ../h/general.h:154,
from ftp.c:30:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:27:26: note: previous declaration of ‘sys_errlist’ was here
extern const char const sys_errlist[];
^
ftp.c: In function ‘hookup’:
ftp.c:97:10: error: conflicting types for ‘inet_addr’
u_long inet_addr();
^
In file included from ../h/internet.h:36:0,
from ftp.c:37:
/usr/include/arpa/inet.h:34:18: note: previous declaration of ‘inet_addr’ was here
extern in_addr_t inet_addr (const char *cp) THROW;
^
ftp.c: In function ‘command’:
ftp.c:193:1: error: expected declaration specifiers before ‘va_dcl’
va_dcl {
^
ftp.c:197:14: error: macro "va_start" requires 2 arguments, but only 1 given
va_start (ap);
^
ftp.c:206:1: error: expected declaration specifiers before ‘_command’
_command(ap)
^
ftp.c:217:29: error: ‘ap’ undeclared (first use in this function)
_asprintf (buffer, NULLCP, ap);
^
ftp.c:217:29: note: each undeclared identifier is reported only once for each function it appears in
Makefile:37: recipe for target 'ftp.o' failed
make[2]: [ftp.o] Error 1
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ftp_lib.c
In file included from ftp_lib.c:42:0:
ftp_var.h:86:14: error: conflicting types for ‘sys_errlist’
extern char sys_errlist[];
^
In file included from /usr/include/stdio.h:853:0,
from ftp_lib.c:38:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:27:26: note: previous declaration of ‘sys_errlist’ was here
extern const char const sys_errlist[];
^
Makefile:37: recipe for target 'ftp_lib.o' failed
make[2]: [ftp_lib.o] Error 1
make[2]: Target 'all' not remade because of errors.
make[2]: Leaving directory '/var/SW/isode-8.0/ftam-ftp'
cd ftp-ftam; ./make DESTDIR= -w -k all
make[2]: Entering directory '/var/SW/isode-8.0/ftp-ftam'
Makefile:37: warning: overriding recipe for target '.c.o'
../config/CONFIG.make:112: warning: ignoring old recipe for target '.c.o'
cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ftpd.c
In file included from ftpd.c:66:0:
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:4:2: error: #error "GCC no longer implements
^
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:5:2: error: #error "Revise your code to use
^ ftpd.c:81:14: error: conflicting types for ‘sys_errlist’ extern char sys_errlist[]; ^ In file included from /usr/include/stdio.h:853:0, from /usr/include/malloc.h:24, from ../h/general.h:154, from ../h/sys.file.h:26, from ftpd.c:45: /usr/include/x86_64-linux-gnu/bits/sys_errlist.h:27:26: note: previous declaration of ‘sys_errlist’ was here extern const char const sys_errlist[]; ^ ftpd.c: In function ‘reply’: ftpd.c:330:1: error: expected declaration specifiers before ‘va_dcl’ va_dcl { ^ ftpd.c:334:14: error: macro "va_start" requires 2 arguments, but only 1 given va_start (ap); ^ ftpd.c:343:1: error: expected declaration specifiers before ‘lreply’ lreply(va_alist) ^ ftpd.c:348:14: error: macro "va_start" requires 2 arguments, but only 1 given va_start (ap); ^ ftpd.c:358:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘int’ int n; ^ ftpd.c:360:9: error: declaration for parameter ‘ap’ but no such parameter va_list ap; ^ ftpd.c:359:9: error: declaration for parameter ‘c’ but no such parameter char c; ^ ftpd.c:366:24: error: ‘n’ undeclared (first use in this function) printf ("%d%c%s\r\n", n, c, buffer); ^ ftpd.c:366:24: note: each undeclared identifier is reported only once for each function it appears in Makefile:37: recipe for target 'ftpd.o' failed make[2]: [ftpd.o] Error 1 make[2]: No rule to make target 'ftpcmd.y', needed by 'ftpcmd.c'. cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamuser.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-assoc.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-dir.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-get.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-glob.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-ls.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-mgmt.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftam-put.c cc -w -g -I. -I../h -DPEPYPATH -DBRIDGE -I../ftam2/ -c ../ftam2/ftamsbr.c make[2]: Target 'all' not remade because of errors. make[2]: Leaving directory '/var/SW/isode-8.0/ftp-ftam' Makefile:159: recipe for target 'all-ftam-ftp' failed make[1]: [all-ftam-ftp] Error 2 make[1]: Leaving directory '/var/SW/isode-8.0' Makefile:108: recipe for target 'everything' failed make: [everything] Error 2 andrew@snow:/var/SW/isode-8.0$
This is the main issue
In file included from ftp.c:44:0:
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:4:2: error: #error "GCC no longer implements <varargs.h>."
#error "GCC no longer implements <varargs.h>."
^
/usr/lib/gcc/x86_64-linux-gnu/5/include/varargs.h:5:2: error: #error "Revise your code to use <stdarg.h>."
#error "Revise your code to use <stdarg.h>."
Since I have no Linux machine under hands, I cannot fix this one... May be you could fix on your own?
Thanks for all our help! Managed to resolve a few more errors by commenting out lines where it was redefining variables, e.g. inet_addr, with conflicting types. Just reading up how to move from using varargs to stdarg.
Now uses stdarg in place of varargs, which fixes the previous build errors. Now build gets further and fails with:
make[2]: Leaving directory '/var/SW/isode-8.0/ftam2' cd ftam-ftp; ./make DESTDIR= -w -k all make[2]: Entering directory '/var/SW/isode-8.0/ftam-ftp' Makefile:37: warning: overriding recipe for target '.c.o' ../config/CONFIG.make:112: warning: ignoring old recipe for target '.c.o' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/var/SW/isode-8.0/ftam-ftp' cd ftp-ftam; ./make DESTDIR= -w -k all make[2]: Entering directory '/var/SW/isode-8.0/ftp-ftam' Makefile:37: warning: overriding recipe for target '.c.o' ../config/CONFIG.make:112: warning: ignoring old recipe for target '.c.o' make[2]: No rule to make target 'ftpcmd.y', needed by 'ftpcmd.c'. make[2]: Target 'all' not remade because of errors. make[2]: Leaving directory '/var/SW/isode-8.0/ftp-ftam' Makefile:159: recipe for target 'all-ftam-ftp' failed make[1]: [all-ftam-ftp] Error 2 make[1]: Leaving directory '/var/SW/isode-8.0' Makefile:108: recipe for target 'everything' failed make: *** [everything] Error 2
Any ideas?
this file ftpcmd.y
is missing in the ftp-ftam directory
, thus make cannot build ftpcmd.c
from ftpcmd.y
make[2]: *** No rule to make target 'ftpcmd.y', needed by 'ftpcmd.c'.
Just occurred to ask: have you had this building on Linux, or was/is it very much a work in progress? I ask as tried make all-quipu and that result in a lot of errors.
At that time, I did not need the full Isode modules, only the TSAp up to the AcSAP. That 's why some others modules are merely a WorkInProgress... (and quipu is one of them for sure)
Ah, good to know. I've just forked the repo and will split up the changes made so far into separate commits. Will see then if I can work through some of the remaining errors, but seems like it would be a lot of work and, since I'm definitely not a C programmer, I'm not sure the result is ever going to be PR-worthy. That said, I'll ping you if I make any substantial progress.
BTW, do you need all modules of Isode-8.0 or some specific ones that are not yet ready?
I was hoping to run a Quipu DSA and maybe experiment with PP also.
Huu great challenge... let me know if you need help..I should get a working Linux box in 2/3 weeks
Hello @9600 and @zosrothko , have either of you got this working on a modern Linux distro? I was planning to create a Docker image of Quipu (and possibly other services if it's not too hard), but it seems like we all run into the same issues when trying to build it.
Also, @9600 I am looking into this because I wrote my own X.500 directory server (docs) and I wanted to test integration with it. Sorry to plug my own work here, but you specifically expressed an interest in this kind of thing.
@JonathanWilbur I never got very far with this I'm afraid and it's probably beyond my skill level also. Very cool indeed to see that you wrote your own DSA, though. I look forward to trying this out!
Just a heads up to you both, @9600 and @zosrothko : I submitted a bounty of $1500 for somebody to get this compiling, installing, and running. https://app.bountysource.com/issues/109508245-will-not-compile-on-a-modern-linux-system-bounty
@JonathanWilbur ok, I am interested and will try to get it compile. Just let some time since I will do it on my spare time.
@JonathanWilbur Is your bounty proposal of 1500$ is always running?
I don't understand your question @zosrothko . If you mean my bounty is still active, then yes.
Just a heads up: there are fees associated with withdrawing money from BountySource, which you can read about here: https://app.bountysource.com/fees
I don't understand your question @zosrothko . If you mean my bounty is still active, then yes.
I am and was not aware of this BountySource system. I registered and will start working on it.
@9600 Could you commit and push in the branch develop all your work you have done to compile isode-8.0?
@zosrothko I am already working on this and almost done
@zosrothko I didn't get far previously and in any case, couldn't speak to the quality of the changes I made.
Really looking forward to being able to build this on a modern Linux system!
@9600 I do not think there is a quality code evaluation. All changes needed have to be done for following the new C standard. As such, the quality of thoses changes are a t the same micro level as the code they replace.
@zosrothko I am already working on this and almost done
Well good for you... but I have done all changes in most of the isode-8.0 modules... So it would be a little bit unfair if you get the 1500$ by closing the BountySource challenge!
@JonathanWilbur By the way, if you are interested in the OSI world, I restart some years ago a complete rewriting of all OSI specifications in C++ as well as a ASN.1 compiler in C++ with support of all the 4 ASN.1 specifications.
Here the repository of the ISODE project: https://github.com/Kampbell/ISODE Let me know if you want to access to the ASN.1 compiler, it is a private github repository.
@zosrothko the bounty is for finishing the task, not for previous work. Anybody can claim bounty if he will get done what is written in bounty description, isn't that true @JonathanWilbur
That is true, @bl00mber . It is a race to get it done. That's just part of the deal.
@zosrothko My code standards for this are not particularly high. I just want something that builds and runs. I don't expect any bugs to be fixed or code quality to be improved at all. That said, I do expect to review the code just to make sure you didn't make it work in a hacky way. :smiley_cat:
Also, I would be very interested in seeing your ASN.1 compiler. I think you and I have very similar interests, because I actually wrote an ASN.1 compiler myself which is also private. Mine compiles to Typescript. I'll show you mine if you show me yours!
Curious if anyone got any further with this?
The BountyCourse is closed as the target of providing the full Isode-8.0 stack on modern linux has been achieved: See this git repository :Isode-8.0
@zosrothko Thanks, I'd somehow missed that. Just built and installed and looking forward to trying it out.
@9600 If you know someone interested in a fully ITU compliant ASN.1 compiler producing C++ code which is a serious WIP, let me know.
@zosrothko Sure, I'll bear this in mind if I hear of such a requirement.
BTW, do you know if the port can be used with ISO TP4 (native and not RFC1006)? It looks as though this needed OS support, e.g. on Solaris via Sunlink/Solstice OSI.
As far as I can remember, I do not think so. Since TCP/IP is considered as a reliable internet transport provider, only TP0 is supported. By tyhe way, RFC006 is mandatory.
@9600 Can I ask what your interest in TP4 is? I was on the fence about implementing this in Meerkat DSA, but I'll implement it if you have a use for it. I currently have a mostly working RFC 1006 ISO Transport Over TCP (ITOT) stack in this branch. It is not too much more work to support TP4, I believe.
@JonathanWilbur That's does not make sense to support TP4 over TCP/IP with the RFC1006 since TCP/IP IS A RELIABLE transprt.
TP4 would have a sense if it is build over the UDP datagram or the IP layer for exemple .
I
@JonathanWilbur I'm guessing by TP4 you mean IP protocol number 29? I was meaning native ISO TP4 CLNS / Ethernet, without any IP stack. I'm most familiar with using this via DECnet/OSI on VMS and DEC OSF/1. Also used TP4 on Sun systems via the Sunlink/Solstice product, along with TP0 CONS X.25.
For TP4 CLNS / Ethernet I'd have expected we'd need kernel support. Or maybe with modern Linux it's now possible from user space? BSD gained ISO networking support with 4.3 and this looks to have been in NetBSD up until at least 6.x. I have wondered if it could easily be added back in to current NetBSD and whether this might then make a more interesting target OS than Linux.
https://man.netbsd.org/NetBSD-6.0/iso.4 https://man.netbsd.org/NetBSD-6.0/clnp.4 https://man.netbsd.org/NetBSD-6.0/tp.4
My interest is mainly from a computing history / conservation perspective and I'd like to get a few different systems up and running here with ISO networking and applications. E.g. OpenVMS and DECnet/OSI via the hobbyist programme, which up until the OS and programme were handed over to VMS Software Inc., you could also get licenses for a fully fledged X.500 DSA and X.400 MTA. And it could also be fun to set up an enthusiast (inter)network with tunnels — you could just use RFC1006, but it wouldn't be quite as interesting.
Although I do also recognise the benefits of things such as X.500 shadowing and chaining for commercial directory deployments. And of course X.400 is still in use in aviation and military, and ISO networking in certain telecoms apps and perhaps industrial too.
Running Ubuntu 16.04.4 x86_64. In an effort to resolve the first error appended -lcrypt to OPTIONS += line in CONFIG.make, but didn't appear to help. Fatal errors below.
//
make[2]: Entering directory '/var/SW/isode-8.0/ftam2' Makefile:33: warning: overriding recipe for target '.c.o' ../config/CONFIG.make:110: warning: ignoring old recipe for target '.c.o' ../pepsy/xpepsy -A -f -h -m docs.py pepsy 8.0 #3 (snow) of Sun 19 Aug 20:44:25 BST 2018 DOCS none decode none: FTAM-1-Parameters FTAM-1-Datatype1 FTAM-3-Parameters FTAM-3-Datatype1 NBS-9-Parameters NBS-9-Datatype1
comptag:warning implicit tag of unknown type Attribute-Names comptag:treated as implicit cc -w -g -I. -I../h -DPEPYPATH -c ftamd.c cc -w -g -I. -I../h -DPEPYPATH -c ftamsystem.c cc -w -g -I. -I../h -DPEPYPATH -c ftamd-manage.c cc -w -g -I. -I../h -DPEPYPATH -c ftamd-select.c cc -w -g -I. -I../h -DPEPYPATH -c ftamd-trans.c cc -w -g -I. -I../h -DPEPYPATH -c ftamsbr.c cc -w -g -I. -I../h -DPEPYPATH -c DOCS_tables.c cc -o xftamd ftamd.o ftamsystem.o ftamd-manage.o \ ftamd-select.o ftamd-trans.o ftamsbr.o DOCS_tables.o \ ../libftam.a ../libisode.a -lm ../libisode.a(chkpassword.o): In function
chkpassword': /var/SW/isode-8.0/compat/chkpassword.c:89: undefined reference to
crypt' collect2: error: ld returned 1 exit status Makefile:78: recipe for target 'xftamd' failed make[2]: [xftamd] Error 1 cc -w -g -I. -I../h -DPEPYPATH -c ftam.c cc -w -g -I. -I../h -DPEPYPATH -c ftamuser.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-assoc.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-dir.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-get.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-glob.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-ls.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-mgmt.c cc -w -g -I. -I../h -DPEPYPATH -c ftam-put.c cc -o xftam ftam.o ftamuser.o ftam-assoc.o \ ftam-dir.o ftam-get.o ftam-glob.o ftam-ls.o \ ftam-mgmt.o ftam-put.o ftamsbr.o DOCS_tables.o \ ../libftam.a ../libisode.a -lm ftam-dir.o: In functionf_lcd': /var/SW/isode-8.0/ftam2/ftam-dir.c:60: undefined reference to
_getcwd' ftam-dir.o: In functionf_pwd': /var/SW/isode-8.0/ftam2/ftam-dir.c:247: undefined reference to
_getcwd' collect2: error: ld returned 1 exit status Makefile:114: recipe for target 'xftam' failed make[2]: [xftam] Error 1 make[2]: Target 'all' not remade because of errors. make[2]: Leaving directory '/var/SW/isode-8.0/ftam2' Makefile:131: recipe for target 'all-ftam' failed make[1]: [all-ftam] Error 2 make[1]: Leaving directory '/var/SW/isode-8.0' Makefile:108: recipe for target 'everything' failed make: [everything] Error 2