Opened 8 years ago
Closed 8 years ago
#53568 closed defect (fixed)
sqlite3 3.17.0 fails to compile: use of unknown builtin
Reported by: | hewonen (Kimmo Sundqvist) | Owned by: | Schamschula (Marius Schamschula) |
---|---|---|---|
Priority: | High | Milestone: | |
Component: | ports | Version: | 2.4.0 |
Keywords: | Cc: | mojca (Mojca Miklavec), jeremyhu (Jeremy Huddleston Sequoia), kierans (Kieran Simpson), bK4gYuRo, hadrabap (Petr Hadraba), mopihopi, petrrr | |
Port: | sqlite3 |
Description
Trying to upgrade outdated, the compile fails. Then uninstalling, cleaning and trying to reinstall, the result is the same.
Attachments (4)
Change History (32)
Changed 8 years ago by hewonen (Kimmo Sundqvist)
comment:1 Changed 8 years ago by mf2k (Frank Schima)
Owner: | set to Schamschula |
---|---|
Status: | new → assigned |
comment:2 Changed 8 years ago by Schamschula (Marius Schamschula)
Looks like this is the same issue as https://github.com/perl11/potion/issues/86
What does
clang -dM -E -x c /dev/null | grep __clang_
print out?
comment:3 Changed 8 years ago by petrrr
I have the same issue. OSX 10.10. Unfortunately, this port is quite critical as it prevents the installation of quite some ports, in particular python.
The commando above gives the following for me:
#define __clang__ 1 #define __clang_major__ 6 #define __clang_minor__ 1 #define __clang_patchlevel__ 0 #define __clang_version__ "6.1.0 (clang-602.0.53)"
comment:4 Changed 8 years ago by hewonen (Kimmo Sundqvist)
I get
#define __clang__ 1 #define __clang_major__ 7 #define __clang_minor__ 0 #define __clang_patchlevel__ 2 #define __clang_version__ "7.0.2 (clang-700.1.81)"
This is a 10.10.5 system, up to date AFAIK.
comment:5 Changed 8 years ago by daveletourneau (Dave Létourneau)
I had the same problem this morning on a 10.10.5 system. The output of
clang -dM -E -x c /dev/null | grep __clang_
is...
#define __clang__ 1 #define __clang_major__ 7 #define __clang_minor__ 0 #define __clang_patchlevel__ 2 #define __clang_version__ "7.0.2 (clang-700.1.81)"
comment:6 Changed 8 years ago by Schamschula (Marius Schamschula)
We need to add a conversion routine between Apple-clang versions and llvm-clang versions.
Changed 8 years ago by Schamschula (Marius Schamschula)
Attachment: | patch-sqlite3.c.diff added |
---|
Changed 8 years ago by Schamschula (Marius Schamschula)
Changed 8 years ago by daveletourneau (Dave Létourneau)
Attachment: | main.2.log added |
---|
Post patch main.log
comment:7 Changed 8 years ago by daveletourneau (Dave Létourneau)
Tried to manually patch and build the port with these commands:
port clean sqlite3 port fetch sqlite3 port extract sqlite3 cd `port dir sqlite3` cd work/sqlite-autoconf-3170000/ wget https://trac.macports.org/raw-attachment/ticket/53568/patch-sqlite3.c.diff patch -p0 < patch-sqlite3.c.diff port build sqlite3
The patch is correctly applied but the build fails:
---> Computing dependencies for sqlite3 ---> Configuring sqlite3 ---> Building sqlite3 Error: Failed to build sqlite3: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_sqlite3/sqlite3/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port sqlite3 failed
I'm on a 10.10.5 system and this is the first time I face this kind of problem so maybe there is something simple I didn't do right. Linking a copy of my main.log file.
comment:8 Changed 8 years ago by mojca (Mojca Miklavec)
Cc: | mojca added |
---|
comment:9 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jeremyhu added |
---|
Jeremy tried to fix this by using a newer compiler in [bcc939f4f8b71aef04559128504538e1417b6a6f/macports-ports]; unfortunately, that introduces a circular dependency.
comment:10 follow-up: 11 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Priority: | Normal → High |
---|
We should probably begin with reporting the problem to the developers of sqlite3.
comment:11 Changed 8 years ago by Schamschula (Marius Schamschula)
Replying to ryandesign:
We should probably begin with reporting the problem to the developers of sqlite3.
Apparently, sqlite only takes bug reports on their mailing list. I'm currently waiting for moderator approval to join...
comment:12 Changed 8 years ago by kierans (Kieran Simpson)
Cc: | kierans added |
---|
comment:13 Changed 8 years ago by bK4gYuRo
Cc: | bK4gYuRo added |
---|
comment:14 Changed 8 years ago by hadrabap (Petr Hadraba)
Cc: | hadrabap added |
---|
comment:15 Changed 8 years ago by jbrinchmann
Cc: | jbrinchmann added |
---|
comment:16 Changed 8 years ago by mopihopi
Cc: | mopihopi added |
---|
comment:17 Changed 8 years ago by Schamschula (Marius Schamschula)
Update: I'm on the sqlite3 mailing list. I've posted the issue, and found that there already was a parallel discussion, started before I was able to join.
comment:18 Changed 8 years ago by petrrr
Cc: | petrrr added |
---|
comment:20 Changed 8 years ago by Schamschula (Marius Schamschula)
The above change configure.args is the workaround suggested by the sqlite3 developers. Let me know if this works for the older OS versions.
comment:21 Changed 8 years ago by MichalMMac (Michal Moravec)
Thanks! I've found this problem few minutes ago. I manually added DSQLITE_DISABLE_INTRINSIC flag to /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/databases/sqlite3/Portfile and installed sqlite3 on 10.10.5 with success.
comment:22 Changed 8 years ago by ymotongpoo (Yoshi Yamaguchi)
I tried to apply the workaround, but I couldn't find the Portfile. The only directory existing under /opt/local/var/macports/sources/rsync.macports.org/macports
is release
.
comment:23 follow-up: 24 Changed 8 years ago by hadrabap (Petr Hadraba)
I have the Portfile here:
localhost:~ petr$ cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/ localhost:sqlite3 petr$ la total 16 drwxr-xr-x 3 root 505 - 102 14 úno 21:53 . drwxr-xr-x 160 root 505 - 5440 28 led 13:55 .. -rw-r--r-- 1 root 505 - 4318 14 úno 21:53 Portfile localhost:sqlite3 petr$
And it worked as expected.
comment:24 follow-up: 26 Changed 8 years ago by ymotongpoo (Yoshi Yamaguchi)
Replying to hadrabap:
I have the Portfile here:
localhost:~ petr$ cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/ localhost:sqlite3 petr$ la total 16 drwxr-xr-x 3 root 505 - 102 14 úno 21:53 . drwxr-xr-x 160 root 505 - 5440 28 led 13:55 .. -rw-r--r-- 1 root 505 - 4318 14 úno 21:53 Portfile localhost:sqlite3 petr$And it worked as expected.
In my case there's no directory database
under release
as well.
% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs % find . -name "Portfile" ./base/doc/exampleport/Portfile ./base/src/macports1.0/tests/Portfile ./base/src/package1.0/tests/Portfile ./base/src/port1.0/tests/Portfile ./base/tests/test/checksums-1/Portfile ./base/tests/test/dependencies-a/Portfile ./base/tests/test/dependencies-b/Portfile ./base/tests/test/dependencies-c/Portfile ./base/tests/test/dependencies-d/Portfile ./base/tests/test/dependencies-e/Portfile ./base/tests/test/envvariables/Portfile ./base/tests/test/site-tags/Portfile ./base/tests/test/statefile-unknown-version/Portfile ./base/tests/test/statefile-version1/Portfile ./base/tests/test/statefile-version1-outdated/Portfile ./base/tests/test/statefile-version2/Portfile ./base/tests/test/statefile-version2-invalid/Portfile ./base/tests/test/statefile-version2-outdated/Portfile ./base/tests/test/svn-and-patchsites/Portfile ./base/tests/test/trace/Portfile ./base/tests/test/variants/Portfile ./base/tests/test/xcodeversion/Portfile
comment:25 Changed 8 years ago by jbrinchmann
Cc: | jbrinchmann removed |
---|
comment:26 follow-up: 27 Changed 8 years ago by hadrabap (Petr Hadraba)
There are two local "tarballs" actually. The one in question is a local copy of all available ports. This lives in .../rsync.macports.org/release/tarballs/ports/
. The second one is the MacPorts harness itself which lives in .../rsync.macports.org/macports/release/tarballs/base/
. See the extra macports/
directory in the middle.
Both of these structures are rsynced from the MacPorts servers. As far as I understand it.
Does the path /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/
— without macports/
between rsync.macports.org/
and release/
in the name — exist in your system?
Replying to ymotongpoo:
Replying to hadrabap:
I have the Portfile here:
localhost:~ petr$ cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/ localhost:sqlite3 petr$ la total 16 drwxr-xr-x 3 root 505 - 102 14 úno 21:53 . drwxr-xr-x 160 root 505 - 5440 28 led 13:55 .. -rw-r--r-- 1 root 505 - 4318 14 úno 21:53 Portfile localhost:sqlite3 petr$And it worked as expected.
In my case there's no directory
database
underrelease
as well.% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs % find . -name "Portfile" ./base/doc/exampleport/Portfile ./base/src/macports1.0/tests/Portfile ./base/src/package1.0/tests/Portfile ./base/src/port1.0/tests/Portfile ./base/tests/test/checksums-1/Portfile ./base/tests/test/dependencies-a/Portfile ./base/tests/test/dependencies-b/Portfile ./base/tests/test/dependencies-c/Portfile ./base/tests/test/dependencies-d/Portfile ./base/tests/test/dependencies-e/Portfile ./base/tests/test/envvariables/Portfile ./base/tests/test/site-tags/Portfile ./base/tests/test/statefile-unknown-version/Portfile ./base/tests/test/statefile-version1/Portfile ./base/tests/test/statefile-version1-outdated/Portfile ./base/tests/test/statefile-version2/Portfile ./base/tests/test/statefile-version2-invalid/Portfile ./base/tests/test/statefile-version2-outdated/Portfile ./base/tests/test/svn-and-patchsites/Portfile ./base/tests/test/trace/Portfile ./base/tests/test/variants/Portfile ./base/tests/test/xcodeversion/Portfile
comment:27 Changed 8 years ago by ymotongpoo (Yoshi Yamaguchi)
Thanks for the comment! I fixed the local copy one, i.e. the one lies under .../rsync.macports.org/release/tarballs/ports/
, and it worked.
Replying to hadrabap:
There are two local "tarballs" actually. The one in question is a local copy of all available ports. This lives in
.../rsync.macports.org/release/tarballs/ports/
. The second one is the MacPorts harness itself which lives in.../rsync.macports.org/macports/release/tarballs/base/
. See the extramacports/
directory in the middle.Both of these structures are rsynced from the MacPorts servers. As far as I understand it.
Does the path
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/
— withoutmacports/
betweenrsync.macports.org/
andrelease/
in the name — exist in your system?Replying to ymotongpoo:
Replying to hadrabap:
I have the Portfile here:
localhost:~ petr$ cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/sqlite3/ localhost:sqlite3 petr$ la total 16 drwxr-xr-x 3 root 505 - 102 14 úno 21:53 . drwxr-xr-x 160 root 505 - 5440 28 led 13:55 .. -rw-r--r-- 1 root 505 - 4318 14 úno 21:53 Portfile localhost:sqlite3 petr$And it worked as expected.
In my case there's no directory
database
underrelease
as well.% cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs % find . -name "Portfile" ./base/doc/exampleport/Portfile ./base/src/macports1.0/tests/Portfile ./base/src/package1.0/tests/Portfile ./base/src/port1.0/tests/Portfile ./base/tests/test/checksums-1/Portfile ./base/tests/test/dependencies-a/Portfile ./base/tests/test/dependencies-b/Portfile ./base/tests/test/dependencies-c/Portfile ./base/tests/test/dependencies-d/Portfile ./base/tests/test/dependencies-e/Portfile ./base/tests/test/envvariables/Portfile ./base/tests/test/site-tags/Portfile ./base/tests/test/statefile-unknown-version/Portfile ./base/tests/test/statefile-version1/Portfile ./base/tests/test/statefile-version1-outdated/Portfile ./base/tests/test/statefile-version2/Portfile ./base/tests/test/statefile-version2-invalid/Portfile ./base/tests/test/statefile-version2-outdated/Portfile ./base/tests/test/svn-and-patchsites/Portfile ./base/tests/test/trace/Portfile ./base/tests/test/variants/Portfile ./base/tests/test/xcodeversion/Portfile
comment:28 Changed 8 years ago by Schamschula (Marius Schamschula)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In the future, please Cc the port maintainers (
port info --maintainers sqlite3
), if any.