#62469 closed defect (invalid)
mesa @19.0.8_1+osmesa+python27: Makefile:1393: *** missing separator. Stop.
Reported by: | cave-canem | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.99 |
Keywords: | mavericks | Cc: | evd6219@… |
Port: | mesa |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
:error:build Failed to build mesa: command execution failed :debug:build Error code: CHILDSTATUS 27990 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec -callback portprogress::target_progress_callback build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname"
See attached file "main.log.tar.gz"
Attachments (3)
Change History (18)
Changed 4 years ago by cave-canem
Attachment: | main.log.tar.gz added |
---|
comment:1 Changed 4 years ago by cave-canem
Description: | modified (diff) |
---|
comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jeremyhu@… removed |
---|---|
Description: | modified (diff) |
Keywords: | mavericks added |
Milestone: | MacPorts Future |
Owner: | set to jeremyhu |
Status: | new → assigned |
Summary: | mesa @19.0.8_1+osmesa+python27 failed to build on 10.9 → mesa @19.0.8_1+osmesa+python27: Makefile:1393: *** missing separator. Stop. |
The relevant info from the log appears to be:
:info:build Making all in glx :info:build make[3]: Entering directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/src/glx' :info:build Makefile:1393: *** missing separator. Stop.
comment:3 Changed 4 years ago by kencu (Ken)
So you appear to be on 10.9.
We have a good build on the buildbot
https://packages.macports.org/mesa/mesa-19.0.8_1+osmesa+python27.darwin_13.x86_64.tbz2
but you have to build your own as you're in a non-standard prefix, and therefore can't just download the prebuilt binaries from the buildbot.
First question: why don't you install macports into /opt/local, use the tremendous number of prebuilt binaries from the buildbot, and save yourself a lot of trouble?
That aside, we need to next sort our what might be different about your system that is causing your build to fail when the buildbot build succeeded.
Please do this first:
$ port select --summary
and let's take a look and see if you have anything "selected" that might be messing with you.
comment:4 Changed 4 years ago by kencu (Ken)
meanwhile I will try to build it from source and see if something has changed since the buildbot built it.
comment:5 Changed 4 years ago by kencu (Ken)
OK. Successful build from source on 10.7.5 (the system I happen to have on my lap). So nothing much has changed there.
At some point I'll spin up my 10.9 VM and double check it for you there (if someone else doesn't beat me to it).
comment:6 Changed 4 years ago by cave-canem
Hello Ken!
Please do this first: port select --summary
port select --summary Name Selected Options ==== ======== ======= clang mp-clang-10 mp-clang-10 mp-clang-11 mp-clang-3.7 mp-clang-5.0 mp-clang-9.0 mp-clang-devel none docutils py38-docutils py38-docutils py39-docutils none gcc none apple-gcc42 mp-gcc10 mp-gcc5 mp-gcc9 none llvm mp-llvm-devel mp-llvm-10 mp-llvm-11 mp-llvm-3.7 mp-llvm-5.0 mp-llvm-9.0 mp-llvm-devel none perl none perl5.12-apple.13 perl5.16-apple.13 none pygments py39-pygments py37-pygments py38-pygments py39-pygments none python python27-apple python25-apple python26-apple python27 python27-apple python35 python37 python38 python39 none python2 python27 python25-apple python26-apple python27 python27-apple none python3 python39 python35 python37 python38 python39 none ruby ruby30 ruby27 ruby30 none sphinx py39-sphinx py38-sphinx py39-sphinx none wxWidgets none wxWidgets-3.0 none
N.B.:
in macports.conf
#default_compilers macports-clang macports-gcc clang
Also:
port -v installed mesa The following ports are currently installed: mesa @19.0.8_0+osmesa+python27 (active) platform='darwin 13' archs='x86_64' date='2021-01-19T10:55:30+0300'
So, can't build mesa @19.0.8_1+osmesa+python27, but can build mesa @19.0.8_0+osmesa+python27.
comment:7 Changed 4 years ago by kencu (Ken)
OK, some things to do.
For now, I suggest you please unselect most or all the stuff you have selected in port select --summary
until they all say "none", and then try your build again.
eg
sudo port select clang none sudo port select docutils none ... etc
all those things mess up builds with MacPorts Portfiles sometimes, as all port maintainers and all buildbots assume they will all be "none" and nobody checks what might happen if some of them are selected.
In particular, you see how you have clang-10 selected for "clang" and llvm-devel selected for "llvm"? -- who knows what kind of wreckage something like that might cause?
comment:8 Changed 4 years ago by cave-canem
In particular, you see how you have clang-10 selected for "clang" and llvm-devel selected for "llvm"?
I chose "llvm-devel" as there is no +llvm10 variant in ld64-latest.
So:
port select --summary Name Selected Options ==== ======== ======= clang none mp-clang-10 mp-clang-11 mp-clang-3.7 mp-clang-5.0 mp-clang-9.0 mp-clang-devel none docutils none py38-docutils py39-docutils none gcc none apple-gcc42 mp-gcc10 mp-gcc5 mp-gcc9 none llvm none mp-llvm-10 mp-llvm-11 mp-llvm-3.7 mp-llvm-5.0 mp-llvm-9.0 mp-llvm-devel none perl none perl5.12-apple.13 perl5.16-apple.13 none pygments none py37-pygments py38-pygments py39-pygments none python none python25-apple python26-apple python27 python27-apple python35 python37 python38 python39 none python2 none python25-apple python26-apple python27 python27-apple none python3 none python35 python37 python38 python39 none ruby none ruby27 ruby30 none sphinx none py38-sphinx py39-sphinx none wxWidgets none wxWidgets-3.0 none
Reult:
sudo port -vd upgrade mesa ... Making all in glx make[3]: Entering directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/src/glx' Makefile:1393: *** missing separator. Stop. make[3]: Leaving directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/src/glx' make[2]: *** [Makefile:897: all-recursive] Error 1 make[2]: Leaving directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/src' make[1]: *** [Makefile:682: all] Error 2 make[1]: Leaving directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/src' make: *** [Makefile:696: all-recursive] Error 1 make: Leaving directory '/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8' Command failed: cd "/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8" && /usr/bin/make -j4 -w all Exit code: 2 Error: Failed to build mesa: command execution failed DEBUG: Error code: CHILDSTATUS 57577 2 DEBUG: Backtrace: command execution failed while executing "system {*}$notty {*}$callback {*}$nice $fullcmdstring" invoked from within "command_exec -callback portprogress::target_progress_callback build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" Error: See /opt/MacPorts/var/macports/logs/_opt_macports-ports_x11_mesa/mesa/main.log for details. DEBUG: invalid command name "::ui_init" while executing "::ui_init $priority $prefix $channels($priority) {*}$args" ("uplevel" body line 2) invoked from within "uplevel 1 $body" Error: Follow https://guide.macports.org/#project.tickets to report a bug.
See attached debug log "new_main.log.tar.xz"
Changed 4 years ago by kencu (Ken)
Attachment: | mesa.10.9.log.zip added |
---|
successful build of mesa on 10.9
comment:9 Changed 4 years ago by kencu (Ken)
so I just built mesa for you on my 10.9 VM and (as you might have guessed) it built through from start to finish without touching anything. My log attached. We now need to see what is different.
comment:10 Changed 4 years ago by kencu (Ken)
what do you have installed for tools?
$ port -v installed | grep cctools cctools @949.0.1_0+llvm37 (active) platform='darwin 13' archs='x86_64' date='2021-01-23T18:04:34-0800' $ port -v installed | grep ld64 ld64 @3_3+ld64_274 (active) platform='darwin 13' archs='x86_64' date='2020-05-13T10:06:22-0700' ld64-274 @274.2_0+llvm37 (active) platform='darwin 13' archs='x86_64' date='2020-02-22T13:25:38-0800'
comment:11 Changed 4 years ago by kencu (Ken)
I have no gawk installed, whereas you do.
checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk
:info:configure checking for gawk... gawk
that could be it.
I have no gmake installed, whereas you do:
checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes
:info:configure checking whether /opt/MacPorts/bin/gmake sets $(MAKE)... yes :info:configure checking whether /opt/MacPorts/bin/gmake supports nested variables... yes
I have no gsed installed, whereas you do:
checking for a sed that does not truncate output... (cached) /usr/bin/sed
:info:configure checking for a sed that does not truncate output... (cached) /opt/MacPorts/bin/gsed
Why don't you try a "trace" build, that eliminates most of these differences?
sudo port -v -t install mesa
comment:12 Changed 4 years ago by cave-canem
Hello Ken!
I'm sorry to be late with the reply.
I have deactivated the ports that I used, but you did not use.
As a result, the "mesa" port was successfully built.
I began to consistently activate disabled ports, trying to find the "culprit" of the error (and it took a lot of time).
The "villain" is gmake, which I have injected into the portfile (configure.args) because the first time I tried building "mesa" I got the following errors:
mp-clang-config.status: error: in `/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8': config.status: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE="gmake" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See `config.log' for more details Command failed: cd "/opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8" && ./configure --prefix=/opt/MacPorts --enable-autotools --disable-silent-rules --with-platforms=x11 --disable-egl --disable-gbm --disable-llvm-shared-libs --with-gallium-drivers= --enable-osmesa Exit code: 1 Error: Failed to configure mesa, consult /opt/MacPorts/var/macports/build/_opt_macports-ports_x11_mesa/mesa/work/mesa-19.0.8/config.log Error: Failed to configure mesa: configure failure: command execution failed Error: See /opt/MacPorts/var/macports/logs/_opt_macports-ports_x11_mesa/mesa/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug.
and followed the recommendation. (By the way, without the '--disable-dependency-tracking' "mesa" is not build in 10.13 either).
But here's what is completely incomprehensible to me:
Why do need THREE Make to build this port? (/usr/bin/make, /Library/Developer/CommandLineTools/usr/bin/make and /opt/MacPorts/bin/gmake).
(Strings ## 616 641 733 762 769 813 2005 — /Library/Developer/CommandLineTools/usr/bin/make
String # 2600 — /usr/bin/make
Strings ## 616 641 733 762 769 813 2005 — /Library/Developer/CommandLineTools/usr/bin/make
in "new_main.log.tar.xz")
/usr/bin/make --version GNU Make 3.81
/Library/Developer/CommandLineTools/usr/bin/make --version GNU Make 3.81
/opt/MacPorts/bin/gmake --version GNU Make 4.3
Why do need "jumping" from one to another?
???
comment:13 Changed 4 years ago by kencu (Ken)
You don't need three makes -- after fixing a few of these port issues, you learn that the right fix for these is usually:
configure.args-append --disable-dependency-tracking
So the lesson here, if there is one is this:
These builds are more delicate than you think they are, or perhaps than they should be. These things are usually set up to build only one way, and whoever figured out that way sets things up for a reason.
You can't realistically expect to switch around compilers, make programs, seds, awks, or much of anything else without bringing the entire house of cards down on your head.
I appreciate your enthusiasm and interest in hacking around and making things work -- I do lots of that myself -- but like flying a plane, it takes a while to develop the right touch with these things.
comment:14 Changed 4 years ago by kencu (Ken)
I'm going to close this one as "invalid" in the end, but if you see a build error that needs:
configure.args-append --disable-dependency-tracking
please open a ticket for that and we'll see what is up with that.
comment:15 Changed 4 years ago by kencu (Ken)
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
main.log