Opened 3 years ago
Last modified 3 years ago
#64412 assigned defect
mariadb-10.6/7 fails to build on Mojave 10.14.6
Reported by: | ArtKoKo | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | mojave | Cc: | |
Port: | mariadb-10.6 mariadb-10.7 |
Description
The reported error is :
:info:build /opt/.../work/server-mariadb-10.7.1/storage/innobase/include/fil0fil.h:1497:11: error: 'asm goto' constructs are not supported yet :info:build make: *** [all] Error 2 :info:build make: Leaving directory `/opt/.../mariadb-10.7/work/build' :info:build Command failed: cd "/opt/.../mariadb-10.7/work/build" && /usr/bin/make -j8 -w all VERBOSE=ON :info:build Exit code: 2 :error:build Failed to build mariadb-10.7: command execution failed :debug:build Error code: CHILDSTATUS 10468 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"
Attachments (2)
Change History (5)
Changed 3 years ago by ArtKoKo
Attachment: | main.log.zip added |
---|
comment:1 Changed 3 years ago by outis
comment:2 Changed 3 years ago by outis
An initial attempt at a fix, which avoids asm goto if on an Apple platform, is now attached. The first line in the excerpt of fil0fil.h is simply changed to:
#if defined __clang_major__ && (__clang_major__ < 10 || __APPLE__)
comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | mariadb removed |
---|
Apple clang and open source clang use different version numbering schemes. Open source clang 10 is not the same thing as Apple clang 10.
It would not be correct to check for __APPLE__
here since it is perfectly valid to use either Apple clang or open source clang on Apple platforms. If you want to know if Apple clang is being used, you would check for __apple_build_version__
.
Note: See
TracTickets for help on using
tickets.
The code generating the error (in 'server-mariadb-10.7.1/storage/innobase/include/fil0fil.h') is:
On my own system (which is experiencing this issue), the version info for clang++ used in the build is:
It appears that even though the MariaDB code contends that clang++ 10.+ supports asm goto, the Apple version (a least) does not. LLVM's related bug report and clang 9's release notes both say initial support was created for version 9, which supports MariaDB's statement (I couldn't find anything in the v10.0.0 documents that confirmed whether full support was available). This could be considered a MariaDB bug, but only if they offer support for MacOS. Whether or not it is, a fix in macports would be quite useful (and could always be pushed upstream).