πρόβλημα μετά από αναβάθμιση kernel σε arch
ξαφνικά μετά από αναβάθμιση των kernel linux-lts και linux δεν μπαίνει με linux-lts αφού κολάει τελείως το pc έχοντας φορτώση vga με άγνωστη ανάλυση (χαμήλη). δεν μπαίνει σε tty2 κτλ, ούτε “ακούει” στο ctrl+alt+del.

[[grub]](https://linux-user.gr/uploads/default/original/2x/8/80fa249e7b0e9f7df7a10243875abbfa0256e745.jpeg "grub") [[linux-lts-1]](https://linux-user.gr/uploads/default/original/2x/c/c3215ffddfea703dd308b5b8a9896686468efb67.jpeg "linux-lts-1") [[linux-lts-2]](https://linux-user.gr/uploads/default/original/2x/1/121023671686d07dea1d9c396bf4eafe177388bd.jpeg "linux-lts-2")

με linux μπαίνει κανονικά και φορτώνει την καν…
τελικά από τα μηνύματα λάθους όταν εκτελούσα

$ startxδιέγραψα το αρχείο /etc/x11/xorg.conf

πλέον linux-lts με nvidia-lts παίζουν μια χαρά.

ευχαριστώ για την βοήθεια.

υγ: το τσεκάρω ως λύση αυτό, αλλά γιατί έγινε αυτό, δεν έχω καταλάβει ακόμη. γιατί μετά από 1 χρόνο λειτουργίας με linux-lts έκανε…
Έχω γράψει μερικά κομμάτια άποψη για LINQ-to-οντότητες, και τη σχέση της με LINQ-to-SQL:


<http://www.hackification.com/2008/12/03/linq-to-entities-the-blackberry-storm-of-orms/>
[http://www.hackification.com/2008/12/04/linq- to-φορείς-παρακολούθησης /](http://www.hackification.com/2008/12/04/linq-to-entities-follow-up/)


Περίληψη: LINQ-to-SQL δεν είναι το ίδιο με το LINQ-to-οντότητες. L2S έχει ένα μικρό χαρακτηριστικό γνώρισμα-σύνολο, αλλά τι κάνει, το κάνει πολύ καλά. L2E έχει ως στόχο να καλύψει μια πολύ ευρύτερη χαρακτηριστικό-set, αλλά η τρέχουσα έκδοση φαίνεται να έχει κάποια κραυγαλέα κενά (π.χ. τεμπέληδες φόρτωση). v2 της L2E θα πρέπει να είναι πολύ καλύτερα? η τρέχουσα έκδοση (IMHO) μοιάζει περισσότερο με μια βήτα. Αυτό είναι ένα τεχνικό πρόβλημα παρακαλώ να κάνετε μια αναφορά εδώ.



> 
> <https://support.duolingo.com/hc/el>
> 
> 
> Τέλος, ένα θέμα που πραγματικά μπορώ να βάλω μια τιμή απάντηση :). 


Έχω διερευνηθεί f2py, boost.python, γουλιά, cython και πυρέξ για την εργασία μου (PhD στις τεχνικές οπτικής μέτρησης). Θα χρησιμοποιηθεί γουλιά εκτενώς, boost.python μερικές και πυρέξ και cython πολλά. Θα χρησιμοποιηθεί επίσης ctypes. Αυτή είναι η ανάλυση μου:


**Αποποίηση** : Αυτή είναι η προσωπική μου εμπειρία. Δεν εμπλέκομαι με οποιοδήποτε από αυτά τα έργα.


**swig:** 
δεν παίζει καλά με ++ γ. Θα πρέπει, αλλά το όνομα που κατασπαράζουν τα προβλήματα στο στάδιο της σύνδεσης ήταν ένας μεγάλος πονοκέφαλος για μένα σε Linux και Mac OS X. Εάν έχετε κωδικό C και θέλουν να διασυνδεθεί με python, είναι μια καλή λύση. Έχω τυλιγμένο τις GTS για τις ανάγκες μου και έπρεπε να γράψω ουσιαστικά ένα C κοινή βιβλιοθήκη που θα μπορούσα να συνδεθείτε. Εγώ δεν θα το συνιστούσα.


**Ctypes:** 
Έγραψα ένα περιτύλιγμα libdc1394 (IEEE βιβλιοθήκη κάμερα) με τη χρήση ctypes και ήταν μια πολύ straigtforward εμπειρία. Μπορείτε να βρείτε τον κωδικό στο <https://launchpad.net/pydc1394> . Είναι πολλή δουλειά για να μετατρέψει τις κεφαλίδες σε κώδικα python, αλλά στη συνέχεια όλα λειτουργούν αξιόπιστα. Αυτός είναι ένας καλός τρόπος, αν θέλετε να διασυνδέσει μια εξωτερική βιβλιοθήκη. Ctypes είναι επίσης στην stdlib του πύθωνα, έτσι ώστε ο καθένας μπορεί να χρησιμοποιήσει τον κωδικό σας αμέσως. Αυτό είναι επίσης ένας καλός τρόπος για να παίξει γύρω με ένα νέο lib σε python γρήγορα. Μπορώ να το συστήσω σε διασύνδεση με εξωτερικές libs.


**Boost.Python** : Πολύ ευχάριστη. Αν έχετε ήδη κωδικό C ++ της δικής σας που θέλετε να χρησιμοποιήσετε σε python, πάμε για αυτό. Είναι πολύ εύκολο να μεταφράσει τις δομές γ τάξη ++ σε δομές python τάξη με αυτόν τον τρόπο. Θα το συνιστούσα αν έχετε C ++ κώδικα που χρειάζεστε σε python.


**Πυρέξ / Cython:** Χρήση Cython, δεν πυρέξ. Περίοδος. Cython είναι πιο προηγμένη και πιο ευχάριστη στη χρήση. Σήμερα, κάνω τα πάντα με cython που συνήθιζα να κάνω με SWIG ή Ctypes. Επίσης, είναι ο καλύτερος τρόπος αν έχετε κωδικό Python που τρέχει πολύ αργά. Η διαδικασία είναι απολύτως φανταστική: να μετατρέψετε μονάδες python σας σε ενότητες cython, την κατασκευή τους και να διατηρήσουν προφίλ και τη βελτιστοποίηση, όπως ήταν ακόμα python (καμία αλλαγή των εργαλείων που απαιτούνται). Στη συνέχεια μπορείτε να εφαρμόσετε όσο (ή λίγο) τον κωδικό C αναμιγνύεται με κωδικό python σας. Αυτό είναι κατά πολύ πιο γρήγορα στη συνέχεια να ξαναγράψει ολόκληρα τμήματα της εφαρμογής σας σε C? θα ξαναγράψει μόνο το εσωτερικό βρόχο.


**Χρονισμός** : ctypes έχει το υψηλότερο εναέρια κλήση (~ 700ns), ακολουθούμενη από boost.python (322ns), τότε άμεσα από swig (290ns). Cython έχει το χαμηλότερο εναέρια κλήση (124ns) και την καλύτερη ανατροφοδότηση όπου ξοδεύει το χρόνο στην (υποστήριξη cProfile!). Οι αριθμοί είναι από το κουτί μου ζητά ένα ασήμαντο συνάρτηση που επιστρέφει έναν ακέραιο από ένα διαδραστικό κέλυφος? εναέρια μονάδα εισαγωγής ως εκ τούτου δεν χρονικά, λειτουργεί μόνο εναέρια κλήση. Συνεπώς, είναι πιο εύκολο και πιο παραγωγικό να πάρετε τον κωδικό python γρήγορα από προφίλ και τη χρήση cython.


**Περίληψη** : Για το πρόβλημά σας, χρησιμοποιήστε Cython?). Ελπίζω ότι αυτό υποβαθμισμένο θα είναι χρήσιμο για μερικούς ανθρώπους. Θα απαντήσω ευχαρίστως κάθε υπόλοιπο ερώτηση.







**Επεξεργασία** : ξεχάσω να αναφέρω: για αριθμητικούς λόγους (δηλαδή, σύνδεση με NumPy) χρησιμοποιούν Cython? έχουν υποστήριξη για αυτό (γιατί ουσιαστικά την ανάπτυξη cython για το σκοπό αυτό). Έτσι, αυτό θα πρέπει να είναι μια άλλη +1 για την απόφασή σας. [Το έργο NPTL](http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library) που εφαρμόστηκε για πρώτη φορά Pthreads σε Linux ήταν ένα ξεχωριστό έργο αρχικά προσθέτοντας υποστήριξη του πυρήνα και παρέχει τη δική της βιβλιοθήκη.


Όταν ήταν αρκετά σταθερό συγχωνεύθηκε στο glibc. Θα ήθελα να υποθέσουμε ότι οι δύο αυτές εκδόσεις είναι πανομοιότυπες σε όλες τις εγκαταστάσεις λογικά up-to-ημερομηνία.


Στο Ubuntu 8.10 το αποτέλεσμα είναι κάπως έτσι:



```
$ Getconf GNU\_LIBC\_VERSION
glibc 08/02/90
$ Getconf GNU\_LIBPTHREAD\_VERSION
NPTL 08/02/90

``` <p><strong>παρακαλούμε ακολουθήστε τα παρακάτω βήματα για να το λειτουργήσετε (το έχω δοκιμάσει μέχρι το android studio 2.2)</strong></p><p>ας πούμε ότι έχετε κρατήσει aar αρχείο στο φάκελο libs. (υποθέστε ότι το όνομα του αρχείου είναι <code>cards.aar</code>)</p><p>στη συνέχεια, στην εφαρμογή <code>build.gradle</code> καθορίστε το ακόλουθο και κάντε κλικ στο έργο συγχρονισμού με τα αρχεία gradle. ανοίξτε το επίπεδο ανάπτυξης του έργου και προσθέστε το <code>flatdir{dirs 'libs'}</code> όπως παρακάτω</p><pre><code>allprojects { repositories { jcenter() flatdir { dirs 'libs' } } } </code></pre><p>και τώρα ανοίξτε το αρχείο εφαρμογής build.grdle και προσθέστε το αρχείο <code>.aar</code></p><pre><code> dependencies { compile(name:'cards', ext:'aar') } </code></pre><p>αν όλα πάνε καλά θα δείτε ότι η είσοδος της βιβλιοθήκης γίνεται στο build -&gt; exploded-aar</p><p>επίσης, σημειώστε ότι αν εισάγετε ένα αρχείο .aar από άλλο έργο που έχει εξαρτήσεις, θα πρέπει να το συμπεριλάβετε και στο build.gradle.</p> Όπως είπε σε αυτό το [θέμα](https://unix.stackexchange.com/questions/83862/how-to-chmod-without-usr-bin-chmod) .   

μπορείτε να χρησιμοποιήσετε αυτό το παρακάτω ΜΑΣ εντολή:



```
/lib/ld-linux.so /bin/chmod +x /bin/chmod

```

ή να χρησιμοποιήσετε `/lib64/ld-linux-x86-64.so.2`αν είστε σε σύστημα 64bits Έχω λυθεί το θέμα. Η ακόλουθη διαδικασία χρησιμοποιείται για να βρείτε και να διορθώσετε το πρόβλημα:


Θα χρησιμοποιηθεί για την `faulthandler`ενότητα για να αναγκάσει python για να εκτυπώσετε ένα ίχνος στοίβας και λάβαμε ένα `Windows fatal exception: access violation`σφάλμα το οποίο φαίνεται να δείχνουν το πρόβλημα ήταν πράγματι μια segfault που προκαλείται από κάποια μονάδα που χρησιμοποιείται από tensorflow.


Προσπάθησα να καθορίσει τις εξαρτήσεις κάνοντας μια `conda update --all`και, στη συνέχεια, μια `conda clean --all`που δεν διορθώσει το πρόβλημα.


Παρατήρησα όμως ότι τα προβλήματα που φαίνεται να προκύπτουν από τις `h5py`και `keras`ενότητες, έτσι έκανα `pip install --upgrade h5py`και `pip install --upgrade keras`και `pip install --upgrade tensorflow`και το πρόβλημα ήταν σταθερό. Είμαι τώρα με τη χρήση `tensorflow version 1.12.0`, `keras version 2.2.4`και `h5py version 2.8.0`.


Το κλειδί για την επίλυση αυτού του προβλήματος φαίνεται να είναι η `faulthander`μονάδα που μου έδειξε ποιες ενότητες (h5py και κέρας) οδηγούσαν στο segfault. Είχα ακολουθήσει ένα διαφορετικό σεμινάριο σχετικά με τη ρύθμιση Xen μου στο Ubuntu πριν από 8,04 αλλά τώρα αναβαθμίστηκε σε 8.04. Θα χρησιμοποιηθεί για την επιπλέον γραμμή στο cfg μου διαδρομής ορίζονται ως ακολούθως:



```
extra = ' TERM=xterm xencons=tty console=tty1'

```

Αυτό μου επιτρέπει να «XM κονσόλα όνομα» από dom0. Νομίζω ότι αυτό ήταν από ένα πρόβλημα με το Xen εγκατάσταση στην έκδοση πριν από την 8,04 (δεν είμαι σίγουρος ποια έκδοση που ήταν). Δεν είμαι σίγουρος αν η ίδια αλλαγή είναι απαραίτητη 8.04 και είμαι μια αναβάθμιση και δεν άλλαξε καμία από domU διαμορφώσεων μου μετά την αναβάθμιση. Θα χρησιμοποιηθεί για να πάρει αυτό - νομίζω ότι είναι ένα bug με το παράθυρο εντοπισμού σφαλμάτων «Autos»:


[http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/](https://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/) Γεια σου Τάκη; Βλέπω ότι έχεις προχωρήσει αρκετά από τότε που έκανες την ερώτησή σου. 'Αρα η απορία σου έχει λυθεί; Καλή συνέχεια!