Bugzilla – Bug 530
Sudo 1.8.3p1 for ppc build fails on libsudoers.a
Last modified: 2012-05-17 11:26:30 MDT
Hi, While cross-compiling sudo 1.8.3p1 for power pc, it fails at linking error_jmp. Please see the failure dump: /bin/sh ../libtool --mode=link ppc_82xx-gcc -o sudo conversation.o error.o exec.o exec_pty.o get_pty.o net_ifs.o load_plugins.o parse_args.o sudo.o sudo_edit.o tgetpass.o ttysize.o utmp.o preload.o -lutil ../plugins/sudoers/sudoers.la ../common/libcommon.la ../compat/libreplace.la -static-libtool-libs libtool: link: ppc_82xx-gcc -o sudo conversation.o error.o exec.o exec_pty.o get_pty.o net_ifs.o load_plugins.o parse_args.o sudo.o sudo_edit.o tgetpass.o ttysize.o utmp.o preload.o -lutil ../plugins/sudoers/.libs/libsudoers.a -lcrypt -lz ../common/.libs/libcommon.a ../compat/.libs/libreplace.a ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0xa): In function `sudoers_policy_close': ./sudoers.c:248: undefined reference to `error_jmp' ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0x16):./sudoers.c:248: undefined reference to `error_jmp' ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0x136): In function `sudoers_policy_init_session': ./sudoers.c:277: undefined reference to `error_jmp' ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0x13e):./sudoers.c:277: undefined reference to `error_jmp' ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0x21a): In function `sudoers_policy_invalidate': ./sudoers.c:720: undefined reference to `error_jmp' ../plugins/sudoers/.libs/libsudoers.a(sudoers.o)(.text+0x222):./sudoers.c:720: more undefined references to `error_jmp' follow collect2: ld returned 1 exit status make[1]: *** [sudo] Error 1
It sounds like your system has dlopen() but libtool doesn't recognize it. Can you attach the config.log file?
Created attachment 325 [details] config.log file Find the config.log file.
The problem is that libtool doesn't think that shared libraries are supported (which is incorrect). configure:13392: checking if libtool supports shared libraries configure:13394: result: no configure:13397: checking whether to build shared libraries configure:13418: result: no ... This is probably because you didn't specify the host operating system. You probably want something along the lines of --host powerpc-montavista-linux If that doesn't help, you can just build sudo without shared object support by passing configure the --disable-shared option which will just build a static version of sudo without plugin support.
Incomplete --host argument was specified. Sudo 1.8.4 and higher will error out in configure if the system dlopen status conflicts with what libtools know about.