Comments (10)
It seems like [email protected]
uses [email protected]
. However, [email protected]
has been released, and [email protected]
breaks because of this libxml2 version mismatch (?)
Not sure who should be in charge of fixing this, but I suppose using [email protected] could work.
from python-xmlsec.
I'm getting this same error on a container that I just re-compiled and it was working fine. I use python3-saml and that's breaking with this error when I run the container.
Here is the log:
[2024-05-20 02:54:20 +0000] [11] [ERROR] Exception in worker process
2024-05-19 22:54:20 Traceback (most recent call last):
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2024-05-19 22:54:20 worker.init_process()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/workers/ggevent.py", line 203, in init_process
2024-05-19 22:54:20 super(GeventWorker, self).init_process()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/workers/base.py", line 129, in init_process
2024-05-19 22:54:20 self.load_wsgi()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/workers/base.py", line 138, in load_wsgi
2024-05-19 22:54:20 self.wsgi = self.app.wsgi()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/app/base.py", line 67, in wsgi
2024-05-19 22:54:20 self.callable = self.load()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load
2024-05-19 22:54:20 return self.load_wsgiapp()
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
2024-05-19 22:54:20 return util.import_app(self.app_uri)
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/gunicorn/util.py", line 350, in import_app
2024-05-19 22:54:20 __import__(module)
2024-05-19 22:54:20 File "/opt/app/tinyflask/__init__.py", line 11, in <module>
2024-05-19 22:54:20 import tinyflask.views
2024-05-19 22:54:20 File "/opt/app/tinyflask/views.py", line 24, in <module>
2024-05-19 22:54:20 from onelogin.saml2.auth import OneLogin_Saml2_Auth
2024-05-19 22:54:20 File "/usr/local/lib/python3.6/dist-packages/onelogin/saml2/auth.py", line 12, in <module>
2024-05-19 22:54:20 import xmlsec
2024-05-19 22:54:20 xmlsec.InternalError: (-1, 'lxml & xmlsec libxml2 library version mismatch')
2024-05-19 22:54:20 [2024-05-20 02:54:20 +0000] [11] [INFO] Worker exiting (pid: 11)
Here is my Dockerfile:
FROM ubuntu:bionic
RUN apt update
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install -y pkg-config
RUN apt-get install -y software-properties-common apt-utils
RUN add-apt-repository -y ppa:deadsnakes/ppa
RUN apt-get install -y vim
RUN apt-get install -y python3.7
RUN apt-get install -y python3-pip
RUN apt-get install -y libxml2-dev libxmlsec1-dev
RUN mkdir -p /opt/app
WORKDIR /opt/app/
COPY . .
RUN pip3 install --upgrade pip
RUN pip3 install --no-cache-dir -r requirements.txt
RUN pip3 install python3-saml
RUN touch /var/log/cron.log
RUN echo "35 6 * * * root /usr/bin/python3 /opt/app/last_login.py >> /opt/app/audit.log" >> /etc/crontab
CMD (cron) && exec gunicorn tinyflask:app -b 0.0.0.0:80 --workers 3 -k gevent
And this is the requirements.txt:
Click==7.0
Flask==1.1.1
Flask-Cors==3.0.8
gevent==1.4.0
greenlet==0.4.15
gunicorn==19.9.0
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
Werkzeug==0.15.5
flask-compress==1.4.0
requests==2.24.0
python-dateutil==2.8.0
pytz==2021.1
pickleshare==0.7.5
xmltodict
I'm stuck. Any help is appreciated.
Thanks
from python-xmlsec.
@eliasmazur I have the same use case as you with python3-saml. Based on what @andersk said, I've restricted the package version of LXML like so
lxml >= 4.6.5, !=4.7.0, <=5.2.1
My build is working again now.
from python-xmlsec.
Some debugging information:
>>> import ctypes, lxml, xmlsec
>>> libxml2 = ctypes.CDLL("libxml2.so.2")
>>> ctypes.c_char_p.in_dll(libxml2, "xmlParserVersion").value
b'20913'
>>> lxml.etree.LIBXML_VERSION
(2, 12, 6)
>>> lxml.etree.LIBXML_COMPILED_VERSION
(2, 12, 6)
>>> xmlsec.get_libxml_version()
(2, 12, 6)
>>> xmlsec.get_libxml_compiled_version()
(2, 12, 6)
xmlParserVersion
, LIBXML_VERSION
, and LIBXML_COMPILED_VERSION
are the same inside and outside uWSGI.
from python-xmlsec.
Thanks for the help. I realized I was restricting all packages except xmlsec. I restricted to an earlier version and it now works. Looks like python3-saml was installing the latest xmlsec and that was causing the mismatch.
from python-xmlsec.
In my work, we use sigxml and xmlsec. Both install lxml with binaries, causing the same error.
xmlsec.InternalError: (-1, 'lxml & xmlsec libxml2 library version mismatch')
To resolve this, I install using the --no-binary
pip flag. (work on Ubuntu 22.04, Python 3.10 and Pip 22.0.2)
pip install --no-binary lxml==4.6.3 lxml==4.6.3 --force-reinstall
pip install --no-binary xmlsec==1.3.13 xmlsec==1.3.13
pip install --no-binary signxml==3.2.2 signxml==3.2.2
from python-xmlsec.
Thanks for the help. I realized I was restricting all packages except xmlsec. I restricted to an earlier version and it now works. Looks like python3-saml was installing the latest xmlsec and that was causing the mismatch.
Hi,
we have the similiar issue can you provide us the version which u have mentioned
from python-xmlsec.
Related Issues (20)
- Maybe release 1.4.0 to handle xmlsec1 1.3.x HOT 1
- Failure to build and install with pip HOT 7
- Time to fork python-xmlsec? HOT 7
- Not able to install xmlsec for Python2 in Mac OS. HOT 2
- lxml 5.0.0 incompatibility - Arithmetic exception HOT 8
- xmlsec 1.3.3 incompatability HOT 3
- setup.py fails with older versions of xmlsec1 HOT 1
- Spurious Heal overflows with Python 3.11 HOT 1
- Find a safer way to integrate with lxml HOT 5
- Release the new version HOT 30
- "Fatal Python error: Segmentation fault" in CI HOT 4
- 1.3.14-rc1: build fails HOT 2
- Version 1.3.14 fails to compile HOT 12
- Planning the next release HOT 11
- provide binary wheels for Linux compatible with lxml HOT 14
- Issues with importing xmlsec. HOT 1
- Latest release break HOT 1
- 1.13.13 wheel for linux
- 1.3.14: build fails with `-Wincompatible-pointer-types` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-xmlsec.