-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test for self.assertEqual(has_full, hasattr(c, "description_full"))
fails
#363
Comments
Same here: conda-forge/apsw-feedstock#38 |
The test is looking for the SQLite compile option ENABLE_COLUMN_METADATA. What has happened here is that SQLite was compiled with that option, but apsw was not. APSW needs to see the same SQLite compile options in order to make matching APIs. Another example is extension loading functionality. (It isn't possible to do this at runtime since symbols are or aren't present based on the defines.) Possible resolutions:
If think 3 will be too error prone since libsqlite3 could be anywhere on the system. I have no control over 2. I can do 1. Any suggestions or desired outcomes? |
That commit has a one line change to tests.py that implements option 1 above. |
Thanks for the hint with |
SQLite 3.39.3 just came out - less than 24 hours after my release! I will do a corresponding APSW in 6 days which also includes the tests change. |
Thanks for the explanation. I've added |
It is really annoying that the SQLite compile time options have to be known at APSW compile time in order to match functionality. If sqlite functions ended up as null pointers or returned not implemented, it would be so much easier ... @mgorny @stuertz I may be able to make this easier for you, if you can do a test for me. In particular you need to know where the SQLite shared library is on the filesystem at the time you compile APSW. Try running https://github.com/rogerbinns/apsw/blob/master/tools/sqliteliboptions.py with the library filename and you should get a long list of If it works, I'll update
ie a subcommand like |
Hi @rogerbinns, I hail from Gentoo (whence mgorny came) and we've been struggling with https://bugs.gentoo.org/851741 which I think is related. I do indeed get a long list! |
@thesamesam thanks for the heads up, and it is indeed the same issue. Note that the default for SQLite itself is for extension loading to be disabled (not compiled in) which is why APSW does the same, and the enable flag needs to be used. You will indeed get a long list of the The plan is (hashed out in #364) to make another release this weekend (SQLite 3.39.3 has come out hence the need for folks relying on pypi binary wheels) which will have an extra
Instead you will do something like this:
Sound good? |
Thanks! This sounds good, although I'm wondering if it's going to be a problem to use a custom target (gen_config) as we're currently doing a PEP517 build. Like you, I've struggled with figuring out what the right way to do certain things is in the new PEP517 world. I think this should work, but I'll defer to @mgorny in case he's got another plan in mind. |
I think it'll work if we only make sure to call |
Thanks for all the feedback. While I'd appreciate if you can test with it. You only need the updated setup.py from git. Hopefully you aren't doing this! |
This was shipped yesterday as 3.39.3.0, so I am calling this done. |
It seems that the newly added test fails on my system:
The text was updated successfully, but these errors were encountered: