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.) |