[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Connection C-KCL (Bug)

| Guilherme Bittencourt writes:
| ------------------------------------------------
| 	 Other system calls like "exit", "read", "dup2",  do work but "fork"
| is not alone in the "unworking"  group "creat", "link",  and (surprisingly)
| "dup" do not work either. And, most interesting, in my earlier version of
| KCL this bug doesn't occur !
| 	 I'll be very happy if some one could explain me this behavior, it
| is very important to the connection of other systems (in my case Reduce and
| Prolog) to KCL.
| ------------------------------------------------
| David Linn answers :
| ------------------------------------------------
| You don't specify your environment but I would guess it's BSD-derived
| based on the system calls specified and the error message from the
| linker.
| The only system calls that you can make in a normal KCL executable are
| those made either directly or indirectly by the C coded kernel,
| raw_kcl. This is because the library code for the uncalled routines is
| not linked in from the C library when the executable raw_kcl is built.
| The (load) function does not allow you to link in any more library
| routines; you need to use (si:faslink) to get the other system calls.
| Try (help 'si:faslink).
| ------------------------------------------------

	And it was exactly that ! I just make :

(si:faslink "ltest.o" "ctest.o -lc")

	And it works "comme sur des roulettes" (a french expression meaning
perfectly well).

	Thank you very much David.

 Guilherme BITTENCOURT             +-----+      gb@lifia.imag.fr
 L.I.F.I.A.                        | <0> |  
 46, Avenue Felix Viallet          +-----+  
 38031 GRENOBLE Cedex - FRANCE                     (33) 76574668