Bruno, Trying to build clisp with dynamic modules on solaris 11 (i386), I get interesting errors with gnulib code:
1. dynmod/lib-rawsock.so (which does not use gnulib) is created successfully and can be dynamically loaded. 2. dynmod/lib-wildcard.so cannot be created when clisp is configured --with-debug: gcc -shared -Wl,-z -Wl,text -Wl,-h -Wl,lib-wildcard.so -o /export/home/sds/src/clisp/current/build-g/dynmod/lib-wildcard.so wildcard.o libgnu_wc.a -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral -falign-functions=4 -g -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE -DSAFETY=3 -DUNIX_BINARY_DISTRIB -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -fPIC -DPIC Text relocation remains referenced against symbol offset in file .bss (section) 0x5e libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x97 libgnu_wc.a(fnmatch.o) .bss (section) 0xad libgnu_wc.a(fnmatch.o) .bss (section) 0x1d2 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x28f libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x294 libgnu_wc.a(fnmatch.o) .rodata (section) 0x2b2 libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x2d5 libgnu_wc.a(fnmatch.o) .bss (section) 0x2eb libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x46b libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x470 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x56e libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x573 libgnu_wc.a(fnmatch.o) .rodata (section) 0x5f1 libgnu_wc.a(fnmatch.o) .bss (section) 0x6d3 libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x959 libgnu_wc.a(fnmatch.o) .bss (section) 0x96f libgnu_wc.a(fnmatch.o) .bss (section) 0xf76 libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0xfc0 libgnu_wc.a(fnmatch.o) .bss (section) 0xfd6 libgnu_wc.a(fnmatch.o) .bss (section) 0x1126 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x11fe libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x1203 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x121c libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x1221 libgnu_wc.a(fnmatch.o) .rodata (section) 0x123f libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x1267 libgnu_wc.a(fnmatch.o) .bss (section) 0x127d libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x14df libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x14e4 libgnu_wc.a(fnmatch.o) .rodata (section) 0x154e libgnu_wc.a(fnmatch.o) .bss (section) 0x15ed libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x1892 libgnu_wc.a(fnmatch.o) .bss (section) 0x18a8 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x2003 libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x2008 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x2030 libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x2035 libgnu_wc.a(fnmatch.o) .rodata.str1.4 (section) 0x204d libgnu_wc.a(fnmatch.o) .rodata.str1.1 (merged string section) 0x2052 libgnu_wc.a(fnmatch.o) .text (section) 0x0 libgnu_wc.a(fnmatch.o) .text (section) 0x4 libgnu_wc.a(fnmatch.o) .text (section) 0x8 libgnu_wc.a(fnmatch.o) .text (section) 0xc libgnu_wc.a(fnmatch.o) .text (section) 0x10 libgnu_wc.a(fnmatch.o) .text (section) 0x14 libgnu_wc.a(fnmatch.o) .text (section) 0x18 libgnu_wc.a(fnmatch.o) .text (section) 0x1c libgnu_wc.a(fnmatch.o) ............... .text (section) 0x2d0 libgnu_wc.a(fnmatch.o) .text (section) 0x2d4 libgnu_wc.a(fnmatch.o) .text (section) 0x2d8 libgnu_wc.a(fnmatch.o) .text (section) 0x2dc libgnu_wc.a(fnmatch.o) getenv 0x9c libgnu_wc.a(fnmatch.o) getenv 0x2da libgnu_wc.a(fnmatch.o) getenv 0x95e libgnu_wc.a(fnmatch.o) getenv 0xfc5 libgnu_wc.a(fnmatch.o) getenv 0x126c libgnu_wc.a(fnmatch.o) getenv 0x1897 libgnu_wc.a(fnmatch.o) memcpy 0x195 libgnu_wc.a(fnmatch.o) memcpy 0x261 libgnu_wc.a(fnmatch.o) __assert 0x299 libgnu_wc.a(fnmatch.o) __assert 0x475 libgnu_wc.a(fnmatch.o) __assert 0x578 libgnu_wc.a(fnmatch.o) __assert 0x1208 libgnu_wc.a(fnmatch.o) __assert 0x1226 libgnu_wc.a(fnmatch.o) __assert 0x14e9 libgnu_wc.a(fnmatch.o) __assert 0x200d libgnu_wc.a(fnmatch.o) __assert 0x203a libgnu_wc.a(fnmatch.o) __assert 0x2057 libgnu_wc.a(fnmatch.o) strcat 0x323 libgnu_wc.a(fnmatch.o) tolower 0x8c4 libgnu_wc.a(fnmatch.o) tolower 0x8e0 libgnu_wc.a(fnmatch.o) tolower 0x947 libgnu_wc.a(fnmatch.o) tolower 0x980 libgnu_wc.a(fnmatch.o) tolower 0xa5c libgnu_wc.a(fnmatch.o) tolower 0xab1 libgnu_wc.a(fnmatch.o) tolower 0xbde libgnu_wc.a(fnmatch.o) tolower 0xbf5 libgnu_wc.a(fnmatch.o) tolower 0xeea libgnu_wc.a(fnmatch.o) wctype 0x9e4 libgnu_wc.a(fnmatch.o) wctype 0x1ced libgnu_wc.a(fnmatch.o) btowc 0xa05 libgnu_wc.a(fnmatch.o) iswctype 0xa0d libgnu_wc.a(fnmatch.o) iswctype 0x1d09 libgnu_wc.a(fnmatch.o) memchr 0xb0f libgnu_wc.a(fnmatch.o) memchr 0xd20 libgnu_wc.a(fnmatch.o) wcslen 0x1000 libgnu_wc.a(fnmatch.o) wmemcpy 0x10e2 libgnu_wc.a(fnmatch.o) wmemcpy 0x11d7 libgnu_wc.a(fnmatch.o) wcscat 0x12a2 libgnu_wc.a(fnmatch.o) towlower 0x1572 libgnu_wc.a(fnmatch.o) towlower 0x1829 libgnu_wc.a(fnmatch.o) towlower 0x1843 libgnu_wc.a(fnmatch.o) towlower 0x1965 libgnu_wc.a(fnmatch.o) towlower 0x1994 libgnu_wc.a(fnmatch.o) towlower 0x1ad7 libgnu_wc.a(fnmatch.o) towlower 0x1aee libgnu_wc.a(fnmatch.o) towlower 0x1c56 libgnu_wc.a(fnmatch.o) wmemchr 0x1a1f libgnu_wc.a(fnmatch.o) wmemchr 0x1c79 libgnu_wc.a(fnmatch.o) __ctype 0x1e9f libgnu_wc.a(fnmatch.o) mbsrtowcs 0x1efc libgnu_wc.a(fnmatch.o) mbsrtowcs 0x1f2d libgnu_wc.a(fnmatch.o) mbsrtowcs 0x1fa4 libgnu_wc.a(fnmatch.o) mbsrtowcs 0x1fc7 libgnu_wc.a(fnmatch.o) mbsinit 0x1f11 libgnu_wc.a(fnmatch.o) mbsinit 0x1f43 libgnu_wc.a(fnmatch.o) mbsinit 0x1faf libgnu_wc.a(fnmatch.o) free 0x201b libgnu_wc.a(fnmatch.o) malloc 0x206e libgnu_wc.a(fnmatch.o) errno 0x2086 libgnu_wc.a(fnmatch.o) ld: fatal: relocations remain against allocatable but non-writable sections collect2: ld returned 1 exit status 3. when clisp is configured normally, dynmod/lib-wildcard.so is created without an error, but loading is fails: (REQUIRE "wildcard") ==> ;; Loading file /.../dynmod/wildcard.lisp ... ;; Loading module wildcard from /.../dynmod/lib-wildcard.so [SIMPLE-ERROR]: SYSTEM::DYNLOAD-MODULES: "dlopen" -> "ld.so.1: lisp.run: fatal: relocation error: file /.../dynmod/lib-wildcard.so: symbol rpl_mbsrtowcs: referenced symbol not found" I am passing CFLAGS et al to the gnulib compilation, so "-fPIC -DPIC" should have been used. Bruno, do you have any insight on the matter? -- Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 11.0.60900031 http://truepeace.org http://www.memritv.org http://thereligionofpeace.com http://ffii.org http://honestreporting.com http://mideasttruth.com Sinners can repent, but stupid is forever.