|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Help me decode this error message Here's an error I'm getting from bjam -a :
--- begin error --- /usr/share/boost-build/kernel/class.jam:93: in new *** argument error * rule object(searched-lib-target)@60.__init__ ( name : project : shared ? : search * : action ) * called with: ( : object(project-target)@35 : true : /usr/lib : object(null-action)@59 : : : : ) * missing argument name /usr/share/boost-build/tools/builtin.jam:341:see definition of rule '__init__' being called /usr/share/boost-build/tools/builtin.jam:575: in searched-lib-generator.run /usr/share/boost-build/tools/unix.jam:113: in object(unix-searched-lib-generator)@21.run /usr/share/boost-build/build/generators.jam:840: in try-one-generator-really /usr/share/boost-build/build/generators.jam:902: in try-one-generator /usr/share/boost-build/build/generators.jam:1110: in construct-really /usr/share/boost-build/build/generators.jam:1186: in generators.construct /usr/share/boost-build/tools/builtin.jam:481: in object(lib-generator)@5.run /usr/share/boost-build/build/generators.jam:840: in try-one-generator-really /usr/share/boost-build/build/generators.jam:902: in try-one-generator /usr/share/boost-build/build/generators.jam:1110: in construct-really /usr/share/boost-build/build/generators.jam:1186: in generators.construct /usr/share/boost-build/build/targets.jam:1408: in construct /usr/share/boost-build/build/targets.jam:1252: in object(typed-target)@40.generate /usr/share/boost-build/build/targets.jam:765: in generate-really /usr/share/boost-build/build/targets.jam:738: in object(main-target)@52.generate /usr/share/boost-build/build/targets.jam:895: in targets.generate-from-reference /usr/share/boost-build/build/targets.jam:1170: in generate-dependencies /usr/share/boost-build/build/targets.jam:1224: in object(typed-target)@41.generate /usr/share/boost-build/build/targets.jam:765: in generate-really /usr/share/boost-build/build/targets.jam:738: in object(main-target)@45.generate /usr/share/boost-build/build/targets.jam:255: in object(project-target)@33.generate /usr/share/boost-build/build-system.jam:414: in load /usr/share/boost-build/kernel/modules.jam:261: in import /usr/share/boost-build/kernel/bootstrap.jam:132: in boost-build /usr/share/boost-build/boost-build.jam:1: in module scope ---- end error ---- which is almost the platonic ideal of unhelpful. Here's my Jamroot: --- begin Jamroot --- import ./sysdefs ; exe filesystem-test : filesystem_test.cpp /sysdefs//boost-filesystem ; ---- end Jamroot ---- The error is obviously coming from the included file sysdefs.jam --- begin sysdefs.jam --- import project ; project.initialize $(__name__) ; project sysdefs ; # In the work-around for boost libraries compiled with gcc42 on # bulb and gcc42 on tulip, because boost by default adds compilier # extension to name. import path ; ################################################################# # Directory Names + misc ################################################################# sysdefs-boost-dir = /usr ; # # Use lib64 subdirectory for libraries if it exists. # (Override by setting sysdefs-boost-lib-dir.) # if ( ! $(sysdefs-boost-lib-dir) ) { if ( [ path.exists $(sysdefs-boost-dir)/lib64 ] ) { sysdefs-boost-lib-dir = $(sysdefs-boost-dir)/lib64 ; } else { sysdefs-boost-lib-dir = $(sysdefs-boost-dir)/lib ; } } ################################################################# # Boost libraries ################################################################# # Deal with the combinatorial complexity of the boost libraries, # for which we have: # 1) Debug and release versions # 2) Single and multi-threaded version # 3) 64-bit and 32 bit versions # Also, we avoid adding the boost includes and library directories # to the search path multiple times. alias boost-headers : : : : #FOR: boost headers <include>$(sysdefs-boost-dir)/include ; #deprecated alias sysdefs-boost-search : : : : ; #alias sysdefs-boost-search : : : : # <search>$(sysdefs-boost-dir)/lib ; rule sysdefs-boost-lib-deps ( lib-name-root : properties * ) { # echo "lib-name-root: " $(lib-name-root) ; # echo "properties: " $(properties) ; local name = $(lib-name-root)-$(sysdefs-boost-compiler-extension) ; if ( <threading>multi in $(properties) || $(lib-name-root) = boost_thread ) { name = $(name)-mt ; } if ( <variant>debug in $(properties) ) { name = $(name)-d ; } local result = "<name>$(name)" ; if ( <address-model>32 in $(properties) ) { result += "<search>$(sysdefs-boost-dir-32bit)/lib" ; } else { result += "<search>$(sysdefs-boost-dir)/lib" ; } return $(result) ; } rule sysdefs-boost-filesystem-deps ( properties * ) { # echo "properties: " $(properties) ; return [ sysdefs-boost-lib-deps "boost_filesystem" : $(properties) ] ; } # echo [ sysdefs-boost-filesystem-deps ] ; lib boost-filesystem #FOR: directories and files : boost-headers sysdefs-boost-search : <conditional>@sysdefs-boost-filesystem-deps ; ---- end sysdefs.jam ---- This basic sysdefs was working with in a previous version of our repository. I made some changes a few months which I just realized broke the library lookups (e.g. it would always look for and link to single threaded, even when compiling with threading=multi). To fix that, I started with this old version, and got this nonsensical error message above. I pruned down the project to this minimal Jamroot and sysdefs.jam file and one .cpp file. My goal was to slowly replace this logic with that in contrib/boost.jam and learn more about boost-build. -- Anthony Foglia Princeton Consultants (609) 987-8787 x233 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build |
|
|
Re: Help me decode this error messageAMDG
Anthony Foglia wrote: > Here's an error I'm getting from bjam -a : > > --- begin error --- > > <snip> > > ---- end error ---- > > which is almost the platonic ideal of unhelpful. Here's my Jamroot: > > <snip> > > rule sysdefs-boost-lib-deps ( lib-name-root : properties * ) > { > # echo "lib-name-root: " $(lib-name-root) ; > # echo "properties: " $(properties) ; > local name = $(lib-name-root)-$(sysdefs-boost-compiler-extension) ; sysdefs-boost-compiler-extension doesn't seem to be defined anywhere? In Christ, Steven Watanabe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build |
|
|
Re: Help me decode this error messageSteven Watanabe wrote:
> AMDG > > Anthony Foglia wrote: >> Here's an error I'm getting from bjam -a : >> >> --- begin error --- >> >> <snip> >> >> ---- end error ---- >> >> which is almost the platonic ideal of unhelpful. Here's my Jamroot: >> >> <snip> >> >> rule sysdefs-boost-lib-deps ( lib-name-root : properties * ) >> { >> # echo "lib-name-root: " $(lib-name-root) ; >> # echo "properties: " $(properties) ; >> local name = $(lib-name-root)-$(sysdefs-boost-compiler-extension) ; > > sysdefs-boost-compiler-extension doesn't seem to be defined anywhere? Thank you. That was it. (It was needed on the old computer, but not the new one, and in the same checkin I fixed that, I broke the other part.) -- Anthony Foglia Princeton Consultants (609) 987-8787 x233 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build |
| Free embeddable forum powered by Nabble | Forum Help |