I worte a" hello world "aix kernel extension, and then I "make" it. my makefile is as follow:
all:kernext_hello
kernext_hello:kernext_hello.c
gcc -D_KERNEL -maix64 -c kernext_hello.c -o kernext_hello.o
ld -b64 -o kernext_hello kernext_hello.o -e hello_init -bI:/usr/lib/kernex.exp -lsys -lcsys
clean:
rm -f *.o kernext_hello 2> /dev/null
And the error info :
gcc -D_KERNEL -maix64 -c kernext_hello.c -o kernext_hello.o
ld -b64 -o kernext_hello kernext_hello.o -e hello_init -bI:/usr/lib/kernex.exp -lsys -lcsys
ld: 0706-005 Cannot find or open file: kernext_hello.o
ld: open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l sys
ld: open(): A file or directory in the path name does not exist.
ld: 0706-006 Cannot find or open library file: -l csys
ld: open(): A file or directory in the path name does not exist.
ld: 0706-003 Cannot find or read import file: /usr/lib/kernex.exp
ld: accessx(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.
So I am wondering that there are not "libsys", "libcsys" and "/usr/lib/kernex.exp" in my aix 6.1.
So could you guys help me?
You probably need to install bos.adt.all. kernexp.exp is part of bos.adt.syscalls but I would install the whole set to reduce frustration.