Summary: | emerge openssh (3.9_p1-r1, default) fails with compile errors (due to ppc64 hardened) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Michael Caine <jmcaine> |
Component: | Current packages | Assignee: | The Gentoo Linux Hardened Team <hardened> |
Status: | VERIFIED LATER | ||
Severity: | normal | CC: | jni, ppc64 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge openssh &> log
per request: /var/tmp/portage/openssh-3.9_p1-r2/work/openssh-3.9p1/config.log output of: readelf -s /usr/lib/libnsl.so emerge --update --deep --newuse glib preprocessed source |
Description
Michael Caine
2005-05-01 23:04:24 UTC
post the whole build log ... do `emerge openssh >& log` and attach log to the bug Created attachment 57858 [details]
emerge openssh &> log
please post the /var/tmp/portage/openssh-3.9_p1-r2/work/openssh-3.9p1/config.log file as an attachment too the problem is this: checking for library containing getrrsetbyname... none required configure detected all the wrong things in libresolv and such Created attachment 57861 [details]
per request: /var/tmp/portage/openssh-3.9_p1-r2/work/openssh-3.9p1/config.log
"configure detected all the wrong things in libresolv and such" -- ok, so, is there a fix for that? is that a different bug? *** Bug 89400 has been marked as a duplicate of this bug. *** please attach the output of `readelf -s /usr/lib/libnsl.so` Created attachment 57889 [details]
output of: readelf -s /usr/lib/libnsl.so
try this then: echo "char getrrsetbyname(); int main() { getrrsetbyname(); return 0; }" > main.c gcc main.c -o main if that fails, try this: gcc main.c -o main -lcrypto -lpam -ldl -lz -lnsl -lcrypt Here are the results: # echo "char getrrsetbyname(); int main() { getrrsetbyname(); return 0; }" > main.c # gcc main.c -o main # ./main ./main: symbol lookup error: ./main: undefined symbol: getrrsetbyname # gcc main.c -o main -lcrypto -lpam -ldl -lz -lnsl -lcrypt # ./main ./main: symbol lookup error: ./main: undefined symbol: getrrsetbyname Thanks very much for your attention to this. the mere fact that it compiled is the problem, it should have done something like this: $ gcc main.c -o main /tmp/cciWo0vk.o(.text+0xa): In function `main': : undefined reference to `getrrsetbyname' collect2: ld returned 1 exit status can you post more readelf logs ? run `ldd main` and see what libraries main linked against, and then run `readelf -s` on them anyone from the ppc64 team care to look at this ? only two people have reported this issue so far and they were both on ppc64 ... Well, this seems interesting: # ldd main libc.so.6 => /lib/libc.so.6 (0x0000008000033000) /lib64/ld64.so.1 (0x0000008000000000) # readelf -s /usr/lib/libc.so readelf: Error: Unable to read in 0x2074 bytes of section headers readelf: Error: Not an ELF file - it has the wrong magic bytes at the start # ls -l /usr/lib/libc.so -rwxr-xr-x 1 root root 211 May 2 21:42 /usr/lib/libc.so (sanity check) and, lo and behold, there is no ld64.so on my system at all! That's not enough to explain it all to me, but perhaps it's enough for somebody else to know what's up? It might be worth mentioning another bug I opened, that didn't seem to bear similarity until now: http://bugs.gentoo.org/show_bug.cgi?id=91130 I think that this bug is related to Hardened gcc. It is because this problem occurred when gcc which enabled hardened flag in my environment was used. Please disable hardened flag and re-install gcc. And, would you `emerge openssh` after that and teach a result? Created attachment 57899 [details]
emerge --update --deep --newuse glib
That might be! However, I just removed 'hardened' from my USE flag and emerged
glib, with sad results (entire output is attached):
...
gcc -DHAVE_CONFIG_H -I. -I. -I. -DG_LOG_DOMAIN=g_log_domain_glib -O2 -pipe
-Wall -D_REENTRANT -c testgdate.c
testglib.c:920: internal compiler error: Segmentation fault
Please submit a full bug report,
...
I'll attach the preprocessed source in the next message...
Created attachment 57900 [details]
preprocessed source
... and here's the preprocessed source.
I believe this and a couple of other problems I've been having are related to my 'hardened' USE flag -- I've now removed that flag and am trying to rebuild gcc/glibc/etc., but am getting segfaults upon compilations. And I just rebooted for the first time since I started this effort and the kernel crashed. So I'm in a bit of a hosed state that I'll be trying to work my way out of and then I'll report back, hopefully with something useful for closing this bug out one way or another. ok, well the problem seems unrelated to openssh so i'll let the ppc64 team take it from here ;) I've resolved this bug by un-hardening my machine. Shall we mark it resolved and/or completely pass on to the hardened team? passing to hardened team Hardened PPC64 is not really complete. We lack of hardware for proper testing/debugging and q/a at this point in time. This is supposed to change sometime in the future. When that changes I'm happy to help resolve any bugs that is within my power to help resolve. Till then you will have to take the userland on a case by case basis and build what you can. If something does not build properly with +hardened features then sadly your probably better off switching to vanilla gcc specs via gcc-config for the package in question. Sorry all I can do at this point is resolve this bug as LATER solar, perhaps it's time for a partition on the box in oregon (least if you're still sans hardware) sticking a fork in this one. |