Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not find a task generator for the name 'six-python' #169

Closed
JBUserGame opened this issue Mar 19, 2017 · 6 comments
Closed

Could not find a task generator for the name 'six-python' #169

JBUserGame opened this issue Mar 19, 2017 · 6 comments

Comments

@JBUserGame
Copy link

I'm trying to build ngaSix. I did this successfully a few months ago, but now the install is complaining. I possibly installed a new version of python in the interim. I first did this:

  `  ./waf configure --prefix=install

`
That seemed to be successful. But then the install failed:

./waf install --targets=six-python
Waf: Entering directory `/home/userjb/src/ngaSIXLibrary/target'
Waf: Leaving directory `/home/userjb/src/ngaSIXLibrary/target'
Could not find a task generator for the name 'six-python'

What am I doing wrong?

@asylvest
Copy link
Contributor

Can you post the output of the waf configure command here? My guess is that waf is either not finding Python at all or doesn't like something about it. When it can't build the Python bindings, it doesn't add the Python targets in which I think is why it can't find a task generator for it.

@JBUserGame
Copy link
Author

Here are the relevant parts of the output of 'waf configure'

Checking for program python              : /home/userjb/srcMisc/Python-2.7.13/INSTALL/bin/python
Checking for python version              : 2.7.13 
Checking for library python2.7 in LIBDIR : not found
Checking for library python2.7 in python_LIBPL : not found
Checking for library python2.7 in $prefix/libs : not found
Checking for library python2.7m in LIBDIR      : not found
Checking for library python2.7m in python_LIBPL : not found
Checking for library python2.7m in $prefix/libs : not found
Checking for library python27 in LIBDIR         : not found
Checking for library python27 in python_LIBPL   : not found
Checking for library python27 in $prefix/libs   : not found
Checking for program /home/userjb/srcMisc/Python-2.7.13/INSTALL/bin/python-config,python2.7-config,python-config-2.7,python2.7m-config :
 /home/userjb/srcMisc/Python-2.7.13/INSTALL/bin/python-config
Checking for header Python.h                                                                                                               : :-(
Asking python-config for pyembed --cflags flags                                                                                            : yes
Asking python-config for pyembed --libs flags                                                                                              : yes
Asking python-config for pyembed --ldflags flags                                                                                           : yes
Getting pyembed flags from python-config                                                                                                   : Could not build a python embedded interpreter
The configuration failed
(complete log in /home/userjb/src/Work/Software/ngaSIXLibrary/target/config.log)
Python lib/headers                                                                                                                         : The configuration failed
(complete log in /home/userjb/src/Work/Software/ngaSIXLibrary/target/config.log) (Is python built with -fPIC?) 

I'm using a locally installed version of python so it's quite possible something isn't right.

@asylvest
Copy link
Contributor

Thanks for the log.

Yeah you can take a look at /home/userjb/src/Work/Software/ngaSIXLibrary/target/config.log to get a little more detail (you'll see waf actually trying to compile the various things that are failing and see the compiler/linker errors). I'm betting that you'll see a linker error; if that locally installed Python is one you built from source, Python doesn't build with PIC by default. You'll want to rebuild your Python and in its configure step use --with-pic (I think that's the configure option).

@JBUserGame
Copy link
Author

It looks like I have two separate errors in the config.log. They happen close together. The first is:
err: g++: error: unrecognized command line option '-fp-model'
The second is a g++ compile command that is defining

    -DPYTHONDIR="/home/userjb/src/ngaSIXLibrary/install/lib/python2.7/site-packages
    -DPYTHONARCHDIR="/home/userjb/src/ngaSIXLibrary/install/lib/python2.7/site-packages

The error message is
not found
It advises:
try again with -L$python_LIBPL (some systems don't install the python library in $prefix/lib)
But that isn't a waf command-line option. How can I tell waf where the python libraries are?

@JBUserGame
Copy link
Author

I recompiled python with -fPIC (setenv CFLAGS "-fPIC") and the ngaSIX install was successful. Thanks for helping with this.

@asylvest
Copy link
Contributor

OK great!

JonathanMeans pushed a commit that referenced this issue Jun 12, 2019
aa0f352 Merge pull request #169 from mdaus/cPickleFix
b1d4548 Regenerated with SWIG 3.0.10
36c9ac5 Fix how pickle gets imported for Python3
a57581a Because of how it's processed, msvs.py actually needs tabs instead of spaces

git-subtree-dir: externals/coda-oss
git-subtree-split: aa0f352959f3b0cfd656fb3f92f1f61d01f0577d
JonathanMeans pushed a commit that referenced this issue Feb 24, 2020
ba5cb1d Merge pull request #185 from mdaus/numpyTypes
64e84d3 Fix merge conflict
e431254 Add consts
9d5bf82 Merge pull request #188 from mdaus/mathMisc
681e019 Add math utilities to support SICD validation
bc69e0b Fix space
cd7c72f Add comments
8fecda5 Move function implementation to hpp file
fbee286 Add conversion of Poly2D
d6fc5d2 Check in working progress
c5111f4 Merge pull request #183 from mdaus/wheelTargets
deaeeca Merge pull request #184 from mdaus/adding-banners
9a1a321 Added banners
8202b18 Allow to specify targets for makewheel
373e275 Merge pull request #181 from mdaus/matrixTemplates
991b63d Get rid of useless parameter
0520adf Generalize with SWIG macros
dedaba6 Fix pickle import
24c9c12 Merge branch 'master' into matrixTemplates
72667a9 Add matrices of dimensions (and transposes) used in SIX to Python layer
6d2450d Merge pull request #179 from mdaus/fix_pcre_compilation
c2f7555 Variable name had gotten out of sync
3fded3d Test conversion functions
c6c565c Merge pull request #177 from mdaus/fix-drivers-configuration
01d020f Merge pull request #175 from mdaus/regex-url-fix
e1540b3 Updated the recurse directories so drivers would always be first
d8a28d7 Added a comment explaining the change, and changed the variable name to match what is happening
41617c1 Updates based on review comments
d46b389 Merge pull request #176 from mdaus/fix_boost_check
1d9eaa3 Need to make HAVE_BOOST check smarter in case modules/drivers/boost doesn't exist at all
96c1724 Removed extra call to testMatchOptional
2d8dbc1 Updated regex to not throw when a url is parsed
db76994 Merge pull request #174 from mdaus/pickleType
afb0612 Import proper pickle in coda_types
80cee56 Merge pull request #172 from mdaus/wheel
530989d Specify bin dir in wheel command
76a38a1 Fix spacing issues
61577f3 Remove extraeneous line
6bec950 Move wheel to bin during creation
15e9e4a Set env variable for location of setup.py
11b82ed Fix spacing
084f591 Install setup.py to cwd, remove unused assignments, put wheel straight into bin
5ea9dce Add trailing newline
2f4acf6 Revert accidental change
7f96e7a Don't have to worry about cleaning up extra wheels, since they aren't getting built
2b21629 Don't build dependencies with wheel
481e4de Add package and makewheel commands for distribution
63990c0 Merge pull request #171 from mdaus/fix_pcre_windows
462612b Needing to add PCRE2_STATIC in one more spot for Windows to link properly
fb1bd91 Removing stray printout
8ba069f Merge pull request #138 from mdaus/stdregex
6af3363 Merge pull request #170 from mdaus/swigVersionCheck
fcfe4b6 Fix checking for SWIG version
aa0f352 Merge pull request #169 from mdaus/cPickleFix
b1d4548 Regenerated with SWIG 3.0.10
36c9ac5 Fix how pickle gets imported for Python3
a57581a Because of how it's processed, msvs.py actually needs tabs instead of spaces
2891a55 Merge pull request #166 from mdaus/python3Fixes
49aaf97 Update lingering issues that only worked in Python2
661fa7f Merge pull request #160 from mdaus/pcre2
6158d9f Removed a todo and added a flag in the comment
9f31903 Minor fix to get --install-source working
308a96c Need to add in sys/Conf.h since a sys header isn't getting included in Regex.h now
426339a Added new --enable-std-regex flag and using this to key off of whether PCRE or the STL should be used
5869686 update RegexSTL to handle overlapping regexes; add more edge cases to unit tests
8d554c9 Merge branch 'pcre2' of https://github.com/mdaus/coda-oss into pcre2
3fa9d4d Fixed a number of edge conditions in the PCRE implementation and added more unittest coverage.
db4a977 Merge pull request #163 from mdaus/add_types_dep
137558e types-python should come in for math.poly too
fa348c2 Merge pull request #162 from mdaus/add_generated_code
b8589d5 Missed committing generated code previously
ed6a6c3 Merge pull request #161 from mdaus/add_new_pickle_utils
7db9fc3 Added new pickling macros in types.i; applied to select math objects
c0dbdab Merge branch 'stdregex' into pcre2
430a69c Updating .gitignore with new PCRE subdirectory
9896d1e Added cpp file for common function across PCRE and STL implementations
a60b9bc Style cleanup and removing any duplicate code between the PCRE and STL implementations.  escape() can be static.  Tried to add more details in comments about what the methods provide.
ebfbe74 Updating wscript to reflect target names all with PCRE in them now rather than PCRE2
736efe6 Removing old pcre2 directory
f38f6eb Starting process of moving modules/drivers/pcre2 into modules/drivers/pcre
3ba1287 Removing old PCRE implementation.  Moving new PCRE2 implementation in place.
5a455f8 Got installation of headers and libraries in place.  Added distclean in.
e5dd293 Finishing PCRE2 configure checks and now actually successfully building the library
c0318de Adding part of the logic to build PCRE2 from source tarball... a good chunk of the way through generating the config.h file that we need
8a7af1d Added the ability for untarFile() to send in a mode string so you can use it with .tar.gz files
29434ee Adding PCRE2 tarball
a459188 Merge pull request #159 from mdaus/sign
27b82da Fix signature
b008cb4 Merge pull request #158 from mdaus/besselFunction
ea10140 Adding a TODO
cd3a99a Replaced tabs with spaces!
ed69970 Improved checking / added a few more unit tests
a034553 Corrected a bunch of indexing with how begin/end differs from before due to us not doing substr() anymore... unit tests all pass now
5dab6f9 allow passing regexp from command line; remove C++11 code
f261a6f Remove unnecessary include
5b4763c Fix docstring
d31d105 Add main arguments
4608a80 Add Sign function
2b71312 Use std::abs instead of std::fabs; fix naming
5a958a8 Merge branch 'stdregex' into pcre2
fa5c8e8 Adding more PCRE2 functionality.  Something with the indexing is wrong in searchAll() right now... test_regex does NOT pass
72db0fb Starting to put pcre2_match() into PCRE2 implementation
d8d0543 add a benchmark for re::Regex
02cc601 Add trailing newline
81cd168 Add Bessel function of the first kind
58f5bcf Adding partial support for PCRE2
aaa3270 Merge pull request #156 from mdaus/throw-invalid-fit
c6a1974 remove comments
a39d0a4 add a couple #includes
6888f52 Merge pull request #155 from mdaus/fixFindExecSolaris
e149ff4 Merge pull request #154 from mdaus/matrix-negation-operator
f3177b6 move as much processing as possible to Regex::compile(); start using the std::regex::optimize flag (which doesn't seem to do much)
2a4404d Merge pull request #157 from mdaus/dualCompatability
456b570 Fix Python3 compatability issue with cPickle
eaba631 fit() throws if not enough points to constrain fit to unique solution; add unit tests for this
78d55de move Vector unit tests to test_Vector*.cpp; style cleanup
7c9b7b1 Check path before calling readLink
46a349f getCurrentExecutable() works by trying a number of different things on Unix machines, so it doesn't work to throw if readLink fails
e7ef2fe modify unit tests so they will fail if negation operator does nothing; add #include<functional> to Matrix2D for std::negate
4200e30 add negation operators to math.linear objects
6ce19a0 Merge pull request #153 from mdaus/missed_swig_generation
680d231 Missed some Swig-generated files
8cadaed Merge pull request #146 from mdaus/currentPath
2751dbe Merge pull request #151 from mdaus/coda-oss-aar-polyeval
5052ceb Merge back from coda/aar-remove-polyeval
ac54cbd Merge pull request #150 from mdaus/glibc_backtrace
0f5e4c4 Fixed string literal
3cc3088 Remove unused function
d5dcf35 Merge pull request #147 from mdaus/glibc_backtrace
dac4273 Merge pull request #148 from mdaus/installPython
bb6f2b6 Fix typo
a4bf515 Remove extra newlines
89b4a79 Remove whitespace changes
eb8466b Install Python tests into test dir
11ddb8a Added RAII wrapper in Backtrace
330d35d Made backtrace const static, fixed typo
5f2944f Added short doxygen to backtrace
d351c6a Added utility function to show a backtrace on glibc systems
33ce58c Update docstrings; make readlink wrapper more user-friendly
07e0308 Fix return type of helper function
3966d87 Add error-handling wrappers for a couple system calls
4c424c4 Add comment
6c36c42 Write getCurrentExecutable() for Unix
10f0f8b Handle XP edge case more safely
3ea2193 Add function to find current executable in the Windows and general cases
17be40c Merge pull request #145 from mdaus/add-pickling-coda_types
427016f Unittests for pickling coda_types
08216e8 Templated versions of pickle utilities
0163d0d Extended python coda_types to support pickling.
d1177f0 Merge pull request #142 from mdaus/xml_lite_warnings
8f49445 Cleaning up a few warnings about unused variables
11482e4 Some of the TEST_DEPS weren't needed as they were already in MODULE_DEPS
9ded27b add TEST_THROWS to test whether code throws something (anything)
c9a7823 do our own exception test since TEST_EXCEPTION can't handle STL exceptions
975e42e rename mOvectorCount -> OVECTOR_COUNT
abf85c4 style cleanups; pass exception on to user
29705c2 make OVECCOUNT static; clean up error messages
17e8cd1 make OVECCOUNT static; clean up comments and descriptions
587cf93 remove commented-out code; add "return 0"
121db90 style corrections
df6556d need to clear match vector before use for old PCRE interface; don't include exception testing when CPP11 is disabled
5376a40 move search() with flag parameter to private internal
f68e638 need internal function for passing flags to pcre_exec()
29a62dd remove Regex compile flags parameter
25404b0 remove Regex compile flags parameter
f8aace8 remove Regex search flags parameter
c952d30 copy RegexTest3.cpp into unit tests
76cbc8d expand unit tests
7efae41 convert searchAll() to use searchWithContext()
49540d5 add more unit tests
6609bd4 add tests for ^ or $ in the middle of the string
d2d08c8 add workaround for issue with VS2015 treating "^foo" differently than gcc
39da2e1 fix regex mistake in replaceDot()
f096974 tidy up a few mistakes
20b2ae4 OVECCOUNT should only exist #ifndef __CODA_CPP11
f36e2e1 protected -> private
21cfb2b rename PCRE -> Regex everywhere
bace6dd rename PCRE -> Regex everywhere
38fb81d rename files
05faa44 style fixes
7d19a8b style fixes; convert mOvector to an actual vector
93b0e51 style fixes; remove unused USE_PCRE define; convert mOvector to an actual vector
031db11 fix type for Content-Type
ca06e28 add ability to work with PCRE_DOTALL newline matching
5b43705 add "break" to kill infinite loop on error
5c42c95 add unit test for PCRE_DOTALL flag behavior
adc62ea add second source file for C++11 std::regex, protected by preprocessor define __CODA_CPP11

git-subtree-dir: externals/coda-oss
git-subtree-split: ba5cb1d337677474ba980dd2089045cb43bdb5f0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants