Bug 530 - Sudo 1.8.3p1 for ppc build fails on libsudoers.a
Sudo 1.8.3p1 for ppc build fails on libsudoers.a
Status: RESOLVED INVALID
Product: Sudo
Classification: Unclassified
Component: Configure
1.8.3
Other Linux
: low normal
Assigned To: Todd C. Miller
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-12-19 08:27 MST by vinay.hunsur
Modified: 2012-05-17 11:26 MDT (History)
0 users

See Also:


Attachments
config.log file (165.49 KB, application/octet-stream)
2011-12-19 08:55 MST, vinay.hunsur
Details

Note You need to log in before you can comment on or make changes to this bug.
Description vinay.hunsur 2011-12-19 08:27:56 MST
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
Comment 1 Todd C. Miller 2011-12-19 08:47:17 MST
It sounds like your system has dlopen() but libtool doesn't recognize it.  Can you attach the config.log file?
Comment 2 vinay.hunsur 2011-12-19 08:55:00 MST
Created attachment 325 [details]
config.log file

Find the config.log file.
Comment 3 Todd C. Miller 2012-03-13 10:50:34 MDT
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.
Comment 4 Todd C. Miller 2012-05-17 11:26:30 MDT
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.