No, sorry, it's actually failing on "configure" which this script calls. I should have been more clear. ./configured is failing at step: *Checking uname sysname type* It's obviously missing some app/header/library, but reading through all the breakpoints listed in the error (re-pasted below) I can't make out from the code what it's looking for, and the config.log doesn't show a better error. I even manually ran the last step shown in config.log and it ran fine, so I don't believe that is the step that it's actually hanging on. I'm hoping to hear back from someone that's familiar what's actually happening during this step of configure. *Checking uname sysname type* : Traceback (most recent call last): File "./buildtools/bin/waf", line 76, in <module> Scripting.prepare(t, cwd, VERSION, wafdir) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", line 145, in prepare prepare_impl(t, cwd, ver, wafdir) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", line 135, in prepare_impl main() File "/opt/test/samba-4.6.4/wscript", line 350, in main wildcard_main(wildcard_cmd) File "./buildtools/wafsamba/samba_wildcard.py", line 110, in wildcard_main fun(ctx) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", line 241, in configure conf.sub_config(['']) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", line 237, in sub_config self.recurse(k, name='configure') File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line 656, in recurse f(self) File "/opt/test/samba-4.6.4/wscript", line 101, in configure conf.RECURSE('lib/replace') File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE return ctx.sub_config(relpath) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", line 237, in sub_config self.recurse(k, name='configure') File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line 656, in recurse f(self) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line 743, in wrap ret = fun(k) File "/opt/test/samba-4.6.4/lib/replace/wscript", line 28, in configure conf.RECURSE('buildtools/wafsamba') File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE return ctx.sub_config(relpath) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", line 237, in sub_config self.recurse(k, name='configure') File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line 656, in recurse f(self) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line 743, in wrap ret = fun(k) File "/opt/test/samba-4.6.4/lib/replace/../../buildtools/wafsamba/wscript", line 308, in configure conf.CHECK_UNAME() File "./buildtools/wafsamba/samba_conftests.py", line 452, in CHECK_UNAME msg="Checking uname %s type" % v): File "./buildtools/wafsamba/samba_autoconf.py", line 436, in CHECK_CODE define_ret=define_ret) File "./buildtools/wafsamba/samba_conftests.py", line 52, in check ret = self.run_c_code(*k, **kw) File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Tools/config_c.py", line 575, in run_c_code proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE) File "/opt/usr/lib/python2.7/subprocess.py", line 390, in __init__ errread, errwrite) File "/opt/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory On Sat, Jun 3, 2017 at 2:58 AM, Andrew Bartlett <abartlet at samba.org> wrote:> On Fri, 2017-06-02 at 20:59 -0400, Zac Morris via samba wrote: > > I am trying to build Samba 4.6.4 on an ARM 7 Cortex based router (Netgear > > R8000), running *DD-WRT v3.0-r31980M kongac (05/11/17)* > > > > I'm working with some folks via the DDWRT, but we're running into an > issue > > trying to build from source. > > > > I have python 2.7 already installed on the router, and I'm executing the > > install_with_python.sh script. > > > > ./install_with_python.sh /opt/test/samba-4.6.4 > > You don't need to use install_with_python.sh if you already have > python. (We should probably remove that script, it installs an > outdated version). > > I hope this helps, > > Andrew Bartlett > -- > Andrew Bartlett http://samba.org/~abartlet/ > Authentication Developer, Samba Team http://samba.org > Samba Developer, Catalyst IT http://catalyst.net.nz/ > services/samba > >
On Sat, 3 Jun 2017 11:10:36 -0400 Zac Morris via samba <samba at lists.samba.org> wrote:> No, sorry, it's actually failing on "configure" which this script > calls. I should have been more clear. > > ./configured is failing at step: *Checking uname sysname type* >I think what Andrew was saying is, do not use the script. Just install the required dependencies to compile Samba, then run ./configure and if you still get the same problem, you will know it isn't likely to be anything to do with Python. Rowland
Since it may be related, here is the uname output from my system: Linux router 4.4.67 #317 SMP Thu May 11 12:58:51 CEST 2017 armv7l GNU/Linux Since this is a custom distro, I'm guessing there's is an additional/different value that the was scripts may be expecting, that somehow works into a subscript/function that is called as part of configure? I installed the full version of uname, vs the linked to busybox version (that was a previous error). Here's the help output from my installed uname binary: uname --help Usage: uname [OPTION]... Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the following order, except omit -p and -i if unknown: -s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system --help display this help and exit --version output version information and exit GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report uname translation bugs to <http://translationproject.org/team/> For complete documentation, run: info coreutils 'uname invocation' THANKS! On Sat, Jun 3, 2017 at 11:10 AM, Zac Morris <zac at zacwolf.com> wrote:> No, sorry, it's actually failing on "configure" which this script calls. > I should have been more clear. > > ./configured is failing at step: *Checking uname sysname type* > > It's obviously missing some app/header/library, but reading through all > the breakpoints listed in the error (re-pasted below) I can't make out from > the code what it's looking for, and the config.log doesn't show a better > error. I even manually ran the last step shown in config.log and it ran > fine, so I don't believe that is the step that it's actually hanging on. > I'm hoping to hear back from someone that's familiar what's actually > happening during this step of configure. > > *Checking uname sysname type* : Traceback (most recent call > last): > File "./buildtools/bin/waf", line 76, in <module> > Scripting.prepare(t, cwd, VERSION, wafdir) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 145, in prepare > prepare_impl(t, cwd, ver, wafdir) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 135, in prepare_impl > main() > File "/opt/test/samba-4.6.4/wscript", line 350, in main > wildcard_main(wildcard_cmd) > File "./buildtools/wafsamba/samba_wildcard.py", line 110, in > wildcard_main > fun(ctx) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 241, in configure > conf.sub_config(['']) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line > 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/wscript", line 101, in configure > conf.RECURSE('lib/replace') > File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE > return ctx.sub_config(relpath) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line > 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line > 743, in wrap > ret = fun(k) > File "/opt/test/samba-4.6.4/lib/replace/wscript", line 28, in configure > conf.RECURSE('buildtools/wafsamba') > File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE > return ctx.sub_config(relpath) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line > 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", line > 743, in wrap > ret = fun(k) > File "/opt/test/samba-4.6.4/lib/replace/../../buildtools/wafsamba/wscript", > line 308, in configure > conf.CHECK_UNAME() > File "./buildtools/wafsamba/samba_conftests.py", line 452, in > CHECK_UNAME > msg="Checking uname %s type" % v): > File "./buildtools/wafsamba/samba_autoconf.py", line 436, in CHECK_CODE > define_ret=define_ret) > File "./buildtools/wafsamba/samba_conftests.py", line 52, in check > ret = self.run_c_code(*k, **kw) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Tools/config_c.py", > line 575, in run_c_code > proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, > stderr=Utils.pproc.PIPE) > File "/opt/usr/lib/python2.7/subprocess.py", line 390, in __init__ > errread, errwrite) > File "/opt/usr/lib/python2.7/subprocess.py", line 1024, in > _execute_child > raise child_exception > OSError: [Errno 2] No such file or directory > > On Sat, Jun 3, 2017 at 2:58 AM, Andrew Bartlett <abartlet at samba.org> > wrote: > >> On Fri, 2017-06-02 at 20:59 -0400, Zac Morris via samba wrote: >> > I am trying to build Samba 4.6.4 on an ARM 7 Cortex based router >> (Netgear >> > R8000), running *DD-WRT v3.0-r31980M kongac (05/11/17)* >> > >> > I'm working with some folks via the DDWRT, but we're running into an >> issue >> > trying to build from source. >> > >> > I have python 2.7 already installed on the router, and I'm executing the >> > install_with_python.sh script. >> > >> > ./install_with_python.sh /opt/test/samba-4.6.4 >> >> You don't need to use install_with_python.sh if you already have >> python. (We should probably remove that script, it installs an >> outdated version). >> >> I hope this helps, >> >> Andrew Bartlett >> -- >> Andrew Bartlett http://samba.org/~abartlet/ >> Authentication Developer, Samba Team http://samba.org >> Samba Developer, Catalyst IT http://catalyst.net.nz/service >> s/samba >> >> >
On Sat, 3 Jun 2017 12:43:52 -0400 Zac Morris <zac at zacwolf.com> wrote:> OK, to be extra clear, I *am* now running just: ./configure > > It is this script that is erroring at step: > *Checking uname sysname type* > > It's not a python specific issue. Like I said, this is a minimal linux > build, so many of the de facto apps/headers/libs are not installed. > I've installed all of the "listed" samba dependencies, so this is > probably a sub (sub/sub?) dependency of some kind. I'm just not > fluent enough in python to understand what action is called at each > of the various "breakpoints" below, so I can't figure out what might > be missing, and the error message isn't helping. > > So I'm asking, is anyone familiar with what is actually happening at > step: "*Checking > uname sysname type*" of the configure script? > > If someone more familiar with Python could look through the various > scripts listed below, and maybe give me a clue as to what is trying > to be accomplished at this stage of configure, then maybe I can > figure out what else might be missing from my build. > > THANKS! > > *Checking uname sysname type* : Traceback (most recent > call last): > File "./buildtools/bin/waf", line 76, in <module> > Scripting.prepare(t, cwd, VERSION, wafdir) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 145, in prepare > prepare_impl(t, cwd, ver, wafdir) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 135, in prepare_impl > main() > File "/opt/test/samba-4.6.4/wscript", line 350, in main > wildcard_main(wildcard_cmd) > File "./buildtools/wafsamba/samba_wildcard.py", line 110, in > wildcard_main fun(ctx) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Scripting.py", > line 241, in configure > conf.sub_config(['']) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", > line 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/wscript", line 101, in configure > conf.RECURSE('lib/replace') > File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE > return ctx.sub_config(relpath) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", > line 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", > line 743, in wrap > ret = fun(k) > File "/opt/test/samba-4.6.4/lib/replace/wscript", line 28, in > configure conf.RECURSE('buildtools/wafsamba') > File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE > return ctx.sub_config(relpath) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Configure.py", > line 237, in sub_config > self.recurse(k, name='configure') > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", > line 656, in recurse > f(self) > File "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Utils.py", > line 743, in wrap > ret = fun(k) > File > "/opt/test/samba-4.6.4/lib/replace/../../buildtools/wafsamba/wscript", > line 308, in configure conf.CHECK_UNAME() > File "./buildtools/wafsamba/samba_conftests.py", line 452, in > CHECK_UNAME msg="Checking uname %s type" % v): > File "./buildtools/wafsamba/samba_autoconf.py", line 436, in > CHECK_CODE define_ret=define_ret) > File "./buildtools/wafsamba/samba_conftests.py", line 52, in check > ret = self.run_c_code(*k, **kw) > File > "/opt/test/samba-4.6.4/third_party/waf/wafadmin/Tools/config_c.py", > line 575, in run_c_code proc = Utils.pproc.Popen([lastprog] + args, > stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE) > File "/opt/usr/lib/python2.7/subprocess.py", line 390, in __init__ > errread, errwrite) > File "/opt/usr/lib/python2.7/subprocess.py", line 1024, in > _execute_child raise child_exception > OSError: [Errno 2] No such file or directory >I am not an expert here, but there seems to be something wrong with your version of 'subprocess.py'. I use a debian based distro and if I look at my version of 'subprocess.py', the line that is throwing the exception isn't 1024 (raise child_exception), it is 1335 Do you still have the symlink etc in place ? Or to put it another way, try doing a clean OS install, then install python 2.7 along with the other required packages to compile Samba and then try ./configure again. Rowland