Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

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

main.log.tar.gz (61.8 KB) - added by cave-canem 3 years ago.
main.log
new_main.log.tar.xz (33.9 KB) - added by cave-canem 3 years ago.
new_main.log.tar.xz
mesa.10.9.log.zip (81.1 KB) - added by kencu (Ken) 3 years ago.
successful build of mesa on 10.9

Download all attachments as: .zip

Change History (18)

Changed 3 years ago by cave-canem

Attachment: main.log.tar.gz added

main.log

comment:1 Changed 3 years ago by cave-canem

Description: modified (diff)

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… removed
Description: modified (diff)
Keywords: mavericks added
Milestone: MacPorts Future
Owner: set to jeremyhu
Status: newassigned
Summary: mesa @19.0.8_1+osmesa+python27 failed to build on 10.9mesa @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 3 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 3 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 3 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 3 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 3 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 3 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 3 years ago by cave-canem

Attachment: new_main.log.tar.xz added

new_main.log.tar.xz

Changed 3 years ago by kencu (Ken)

Attachment: mesa.10.9.log.zip added

successful build of mesa on 10.9

comment:9 Changed 3 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 3 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 3 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
Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:12 Changed 3 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 3 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.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:14 Changed 3 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 3 years ago by kencu (Ken)

Resolution: invalid
Status: assignedclosed
Note: See TracTickets for help on using tickets.