Auf AlpineLinux, einem mil-basierten Linux-Distributiv, schlagen einige der Tests von numpy fehl. Das Protokoll ist beigefügt.
log.txt
Es gibt zwei Arten von Problemen - eine für verschiedene Überlauf-/Unterlauf-Ausnahmefehler, die zweite für falsche Ergebnisse der trigonometrischen Funktionen von musl.
Der erste kann behoben werden, indem der fenv.h
Header in Musl-Builds eingefügt wird, AFAIU dies kann in numpy/numpy/core/src/npymath/ieee754.c.src
und numpy/core/include/numpy/ufuncobject.h
getan werden, indem __GLIBC__
durch __GNUC__
Die zweite Gruppe kann behoben werden, indem die trigonometrischen Funktionen in numpy/numpy/core/src/private/npy_config.h
nicht nur für glibc, sondern auch für musl deaktiviert werden. Ein Problem hierbei ist, dass musl kein Makro wie das __GLIBC__
zur Verfügung stellt, um es zu erkennen.
Also die Frage, ist Numpy an einem solchen Patch interessiert? Könnten Sie bitte Ihre Meinung mitteilen, wie man es am besten umsetzt?
Ansonsten kann der Patch in entsprechendes Paket für AlpineLinux implementiert werden
Yep, immer noch kein Nützling für alpine Benutzer (was als Docker-Basis immer beliebter wird). Es hat unseren Python-Benutzern das Leben schwer gemacht. Würde gerne einen Patch sehen.
Welche Bibliothek verwendet AlpineLinux? Es muss etwas sein, das der glibc ziemlich nahe kommt, wenn die gleichen trig-Funktionen fehlschlagen.
Okay, es ist Mussel. Ist das wirklich kein Makro, um das Vorhandensein von Musl zu erkennen? Ein Problem sind andere libc-Implementierungen in Kombination mit dem gnuc-Compiler, daher können wir nicht einfach __GNUC__
.
Ein weiterer Fall, in dem versucht wurde, eine explizite Liste aller fehlerhaften libm-Versionen zu erstellen
beißt uns :-/ Wenn sich jemand besonders inspiriert fühlt, ein voll
umfassende Lösung wäre, #7173 anzugehen.
Am 18. März 2016, 18:13 Uhr, schrieb "Charles Harris" [email protected] :
Okay, es ist Mussel. Ist das wirklich kein Makro, um das Vorhandensein von Musl zu erkennen?
Ein Problem sind andere libc-Implementierungen in Kombination mit dem gnuc-Compiler,
Wir können also nicht einfach GNUC verwenden .—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/numpy/numpy/issues/7128#issuecomment -198597654
Duplikat von #12095, wird geschlossen, da das andere mehr Informationen hat
Hilfreichster Kommentar
Yep, immer noch kein Nützling für alpine Benutzer (was als Docker-Basis immer beliebter wird). Es hat unseren Python-Benutzern das Leben schwer gemacht. Würde gerne einen Patch sehen.