|
From: Jim R. <jm...@qu...> - 2005-11-17 22:27:59
|
Still fighting against this python configure. :( Following is long and
complicated, but I would appreciate whatever ideas anyone has!
My earlier discovery that unsetting CONFIG_SHELL allowed me to run
configure to completion. However, I have now run into something else
and I am baffled by the results of my debugging efforts.
The "problem" is that when I ask ark to configure the package, I get an
error from configure:
...
+ ./configure --prefix=/our/.-ark-deploy/python--2.4.2 --disable-nls
LDFLAGS= -L/our/.-ark-deploy/python--2.4.2/lib
-Wl,-R/our/.-ark-deploy/python--2.4.2/lib CXXFLAGS=-O2
-I/our/.-ark-deploy/python--2.4.2/include CFLAGS=-O2 -fstrict-aliasing
-I/our/.-ark-deploy/python--2.4.2/include CPPFLAGS=
-I/our/.-ark-deploy/python--2.4.2/include CXX=/our/bin/g++
CC=/our/bin/gcc CONFIG_SHELL=
checking MACHDEP... sunos5
checking EXTRAPLATDIR...
checking for --without-gcc... no
checking for --with-cxx=<compiler>... no
checking for c++... /our/bin/g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... configure: error: cannot run
C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
config.log tells us a bit more:
...
configure:1833: result: a.out
configure:1838: checking whether the C++ compiler works
configure:1844: ./a.out
ld.so.1: ./a.out: fatal: libgcc_s.so.1: version `GCC_3.3' not found
(required by file /our/.-ark-deploy/gcc--3.4.4/lib/libstdc++.so.6)
configure:1847: $? = 137
configure:1854: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
...
And this would point fairly clearly to a runtime load library path kind
of problem... except that I have very conflicting/confusing other info:
I've tried to recreate this failure by running it in various ways by
hand, and I cannot recreate it.
0.) If I run configure by hand, (with no args) it works just fine.
1.) I hacked the configure script to save a copy of the a.out that it
built when run under ark. I can run a.out just fine. I don't have
LD_LIBRARY_PATH set in my environment.
2.) I tracked down the python code in arkbase/ark/think.py that runs the
shell code that is built up, and uncommented the debug statements near
line 1800:
elif lang == 'sh':
#print 'pre=',`self.preambleSh()`
#print 'exp=',`self.expandParams(lang)`
#print 'cod=',`string.strip(code)`
Ran the ark package configure again; saved the resulting statements to a
file, messed with it to remove/adjust the quoting, and ended up with a
file (foo) that I can run with the command "sh foo". This does
everything that I think ark is doing (certainly the output looks very
similar). *It* also runs to completion, and doesn't have trouble with
the C++ compiler/loader issue. foo is attached.
This latter one is the most perplexing. I don't understand how the
"environment" when run via "ark package configure" might be different
from what "foo" does -- but it clearly is different enough that it has
this problem....
Got any ideas?
(I may or may not have a problem with the compiler and libstdc++, but
even if I do, why does this stuff succeed when run by hand and fail when
run by ark.?)
(I think I really need to understand this unable-to-recreate-failure, so
that I can successfully debug any compiler problem I have.)
|