Re[2]: picoLisp on FreeBSD 9.1 x64
OK, so I made 32bit jail by this instructions: http://www.gundersen.net/32bit-jail-on-64bit-freebsd/ and rebuilt pil. Now all seems goes well. Now I need to get working IPv6 address inside a jail, but I should go now :) Вторник, 1 января 2013, 11:23 +01:00 от Alexander Burger a...@software-lab.de: Hi Mansur, I found this: http://lists.freebsd.org/pipermail/freebsd-questions/2010-August/220250.html Maybe the problem is with system headers, that are not 32bit aware on FreeBSD x64 Indeed. This describes quite well the possible reason of the problems. Btw, what about x64 version of picoLisp on FreeBSD? Is this possible and how I can help with it? Good idea! We should try to get pil64 running then. If the architecture is x86-64, we just need to extend src64/Makefile a little (i.e. add a clause for 'FreeBSD', similar to the 'SunOS' stuff), and create two new files src64/sys/x86-64.freeBsd.defs.l src64/sys/x86-64.freeBsd.code.l The defs.l file can be generated pretty easily now, because since the 'emu' version we have a C-Programm 'src64/sysdefs' which prints most of its contents ('emu' simply includes the standard output of that program). The code.l might be more difficult. It holds a set of stub functions which are system dependent, and which can be found by compiling and disassembling test programs in C, or perhaps by looking at the proper macro expansions in the system's include files. So here some detective work is necessary ;-) ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re[2]: picoLisp on FreeBSD 9.1 x64
Hi all! I tried to build x64 version of pil on FreeBSD, but I ended up with the following errors: root@proto:/root/picoLisp/src64 # gmake x86-64.freeBsd.base.o: In function `giveupX': (.text+0x459): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `execErrS': (.text+0x496): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `.38': (.text+0x8c3): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `.341': (.text+0x35d6): undefined reference to `stdin' x86-64.freeBsd.base.o: In function `.341': (.text+0x3607): undefined reference to `stdout' x86-64.freeBsd.base.o: In function `.341': (.text+0x3638): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `.3140': (.text+0x1a8ea): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `ignLog': (.text+0x1ab85): undefined reference to `stderr' x86-64.freeBsd.base.o: In function `errno_A': (.text+0x1d5e1): undefined reference to `___errno' x86-64.freeBsd.base.o: In function `errnoC': (.text+0x1d5f1): undefined reference to `___errno' gmake: *** [../bin/picolisp] Error 1 I added following lines In Makefile: ... ifeq ($(MAKECMDGOALS), x86-64.freeBsd) UNAME = FreeBSD MACHINE = x86_64 ... ifeq ($(UNAME), FreeBSD) --OS = FreeBSD --SYS = .freeBsd --FMT = .s --ARCH = x86-64 --AS = as --64 --LD-MAIN = -lc -lm --LD-SHARED = -m64 -shared --STRIP = strip endif I don't know how to change x86-64.freeBsd.code.l I found this in man errno: extern int * __error(); #define errno (* __error()) Best regards, Mansur