xhc-whb04b-6 - kompilace

Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

18. 2. 2022, 7:52

Tak dneska jsem skončil velmi rychle.

Vyhledal jsem přes apt search vše co se jmenovalo linuxcnc* a odinstaloval to.

Pak jsem chtěl spustit configure, ale configure tam není, je tam jen configure.ac Ovšem ani jedno nešlo zpustit.
configure.png
Nikde jsem nenašel, kam mám z githubu nahrát zdrojáky tak jsem je nahrál zde:

Kód: Vybrat vše

/home/zdenek/linuxcnc/linuxcnc-master/src
Mohu poprosit o radu jak dále, nebo co dělám špatně?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

18. 2. 2022, 7:54

nectes dokumentaci
./configure si musis nejdriv vyrobit viz:

http://linuxcnc.org/docs/html/code/buil ... uxcnc.html
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

18. 2. 2022, 8:03

Dík za popostrčení. Nevím čím to je, ale často, když mě někdo popostrčí, tak si uvědomím, že tu pořadovanou informaci jsem četl aspoň 5x.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

18. 2. 2022, 8:08

to je takova ta slepota jako kdyz neco hledas a mas to primo na ocich
to mam taky
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

18. 2. 2022, 10:35

Když spustím:
zdenek@CNC:~/linuxcnc/linuxcnc-master/src$ ./configure
tak se mi to sekne na:

Kód: Vybrat vše

checking for kernel version string... gcc: error: /usr/src/linux-headers-4.14.174-rtai-amd64/include/linux/version.h: No such file or directory
gcc: fatal error: no input files
compilation terminated.
configure: error: Kernel version string not found
Týká se to této části kódu:

Kód: Vybrat vše

##############################################################################
# Subsection 3.2 - check for the kernel version, with RT patches             #
#----------------------------------------------------------------------------#
# Check the kernel headers to find the uts-kernel version.                   #
# This should be a more reliable way of determining the kernel that          #
# is being used to compile against - `uname -r` only returns the             #
# running kernel version which is may not be the one the code is             #
# compiled against.                                                          #
##############################################################################

if test $RTS '!=' uspace; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel version string" >&5
$as_echo_n "checking for kernel version string... " >&6; }

if test -e $KERNELDIR/include/linux/utsrelease.h; then
    VERSION_FILE=$KERNELDIR/include/linux/utsrelease.h
elif test -e $KERNELDIR/include/generated/utsrelease.h; then
    VERSION_FILE=$KERNELDIR/include/generated/utsrelease.h
else
    VERSION_FILE=$KERNELDIR/include/linux/version.h
fi
KERNEL_VERS=`$CC -E -dM ${VERSION_FILE} | grep UTS | cut -s -d '"' -f 2`

if test -z "$KERNEL_VERS"; then
    as_fn_error $? "Kernel version string not found" "$LINENO" 5
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $KERNEL_VERS" >&5
$as_echo "$KERNEL_VERS" >&6; }


cat >>confdefs.h <<_ACEOF
#define RTAPI_KERNEL_VERSION "$KERNEL_VERS"
_ACEOF
dal jsem:

Kód: Vybrat vše

zdenek@CNC:~/linuxcnc/linuxcnc-master/src$ find / -name version.h 2>/dev/null
/usr/include/linux/version.h
/usr/include/linux/dvb/version.h
/usr/include/boost/predef/version.h
/usr/include/linux/version.h vypadá tako:

Kód: Vybrat vše

#define LINUX_VERSION_CODE 267216
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
zkusil jsem zaměnit:

Kód: Vybrat vše

    VERSION_FILE=$KERNELDIR/include/linux/version.h
za

Kód: Vybrat vše

    VERSION_FILE=/usr/include/linux/version.h
a stále nefunguje:

Kód: Vybrat vše

checking for kernel version string... configure: error: Kernel version string not found
Takže to asi nebyl ten soubor.
Přílohy
configure.txt
(318.86 KiB) Staženo 115 x
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

18. 2. 2022, 10:36

Nic nemen
Chybi ti zdrojaky headeru pro kompilaci kernelovych modulu
Kernel-headers balik odpovidajici tvemu bezicimu kernelu
To jsou ty nevyresene zavislosti o kterych se tu od zacatku bavime

Hlavne nic nemen, o tom tu nebyla nikdy rec, ze bys mel kvuli kompilaci neco menit.

checking for kernel version string... gcc: error: /usr/src/linux-headers-4.14.174-rtai-amd64/include/linux/version.h: No such file or directory

zde v tvem vypisu mas dokonaly popis chyby, proc resis prepis cehosi ve zdrojacich kdyz problemem je ze ti chybi soubor v systemu?
dukladne cti ty errory
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Erythros
Příspěvky: 33
Registrován: 7. 10. 2014, 7:48

19. 2. 2022, 1:30

Ono taky záleží, co a hlavně jak chceš kompilovat.

Z těchto chybových hlášek to vypadá tak, že je to nastavené (pravděbodobně běží) na kompilaci v režimu RTAI. Tedy moduly mající běžet v prostředí reálného času se kompilují jako jaderné, což má několik důsledků jako právě ty další nutné hlavičky.

Asi bych začal kompilací klasicky POSIXové verze, kdy všechno běží v userspacu. (I když se mě různě snaží přesvědčit, jak je RTAI čilý, osobně jsem názoru, že je více méně mrtev. Rozhodně najdeš vícero návodů pro situaci, kdy vše běží v userspacu.) Kór, když chceš vyvíjet modul pro ovladač, který bude běžet jako normální proces v Linuxu.
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

19. 2. 2022, 8:57

Tak jsem včera vypnul počítač a když jsem ho dnes zapnul, tak nefungovala wifina. V rámci odinstalace linuxuCNC jsem odinstaloval i něco co jsem neměl.

V manuálu od TP link jsem našel, že potřebuji wpa_supplicant. Ten byl v tomto balíku:

Kód: Vybrat vše

sudo apt-get install dhcpcd-gtk
Asi jsem se snažil o něco co nelze a asi jsem nechtěl. Mám ethernetovou Mesu 7i96, takže potřebuji Preempt a ne RTAI.

dpkg-checkbuilddeps už mi nic nepíše. Nějak jsem nepochopil, proč jsem dělal, co jsem dělal. Vypsalo to hromadu chybějících balíků a ty jsem prostě přes apt-get nainstaloval. Nevím proč se té činnosti říká řešení křížových závislostí. Nic jsem neřešil, jen instaloval.

Zkusil jsem to tedy jen s uspace a vše prošlo. Ovšem projelo make do konce, ale co teď? Kde mám svůj zkompilovaný linuxcnc?

Kód: Vybrat vše

zdenek@CNC:~/linuxcnc/linuxcnc-master/src$ find / -name linuxcnc 2>/dev/null
/home/zdenek/.local/share/Trash/files/linuxcnc-dev/share/linuxcnc
/home/zdenek/linuxcnc
/home/zdenek/linuxcnc/linuxcnc-master/share/linuxcnc
/home/zdenek/linuxcnc/linuxcnc-master/scripts/linuxcnc
/etc/linuxcnc
Jak ho zpustím?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

19. 2. 2022, 9:19

ve scripts je script ktery ho spousti
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

19. 2. 2022, 9:53

Díky všem za rady, už běží. Bez Vás bych to nedal.
linuxcnc_compiled.png
Předpokládám, že když budu chtít verzi 2.8.2, stáhnu z githubu verzi 2.8.2 a v těchto složkách spustím kompilaci a ta kompilace proběhne v těchto složkách. Nebude se mi tam něco bít mezi různými verzemi?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

19. 2. 2022, 10:04

Presne tak
Jediny rozdil je rtai kde to ovlivnuje kernel
Vsechna prava na chyby vyhrazena (E)
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

19. 2. 2022, 12:25

Jde to pres stazeni z githubu, ale snazsi a rychlejsi je pouzit samozne prikazy gitu. Git pull, git branch, git checkout. Staci tenhle zaklad. Git sam o sobe je hrozne rozsahlej.
M
zz912 píše: Díky všem za rady, už běží. Bez Vás bych to nedal.
linuxcnc_compiled.png

Předpokládám, že když budu chtít verzi 2.8.2, stáhnu z githubu verzi 2.8.2 a v těchto složkách spustím kompilaci a ta kompilace proběhne v těchto složkách. Nebude se mi tam něco bít mezi různými verzemi?
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

19. 2. 2022, 1:20

Tak jsem jásal předčasně. S GUI axis mi to funguje, ale s gmoccapy ne.

Při spuštění mi to skončí na hlášce že nenašel glade modul.
Zkoušel jsem nainstalovat:

Kód: Vybrat vše

sudo apt-get install glade-gtk2
Ale nepomohlo to.

Nevím zda vadí, že mám verzi 3.8.6-1 a má být 3.8.0 a méně.

Kód: Vybrat vše

zdenek@CNC:~/linuxcnc/linuxcnc-2.8.2/scripts$ ./linuxcnc
LINUXCNC - 2.8.2
Machine configuration directory is '/home/zdenek/linuxcnc/configs/sim.gmoccapy'
Machine configuration file is 'gmoccapy.ini'
Starting LinuxCNC...
Found file(REL): ./core_sim.hal
Note: Using POSIX realtime
Found file(REL): ./spindle_sim.hal
Found file(REL): ./simulated_home.hal
Found file(REL): ./jog.hal
Traceback (most recent call last):
  File "/home/zdenek/linuxcnc/linuxcnc-2.8.2/bin/gmoccapy", line 35, in <module>
    import gladevcp.makepins   # needed for the dialog"s calculator widget
  File "/home/zdenek/linuxcnc/linuxcnc-2.8.2/lib/python/gladevcp/__init__.py", line 1, in <module>
    from hal_pythonplugin import *
  File "/home/zdenek/linuxcnc/linuxcnc-2.8.2/lib/python/gladevcp/hal_pythonplugin.py", line 20, in <module>
    from led import HAL_LED
  File "/home/zdenek/linuxcnc/linuxcnc-2.8.2/lib/python/gladevcp/led.py", line 6, in <module>
    import gtk.glade
ImportError: No module named glade
Shutting down and cleaning up LinuxCNC...
task: 52 cycles, min=0.000033, max=0.001152, avg=0.000990, 0 latency excursions (> 10x expected cycle time of 0.001000s)
Note: Using POSIX realtime
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/zdenek/linuxcnc_debug.txt
and
    /home/zdenek/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

19. 2. 2022, 1:42

a další věc, co mám udělat, abych donutil make znovu pracovat?

Kód: Vybrat vše

zdenek@CNC:~/linuxcnc/linuxcnc-2.8.2/src$ make
Reading 199/199 dependency files
Done reading dependencies
Reading 214/214 realtime dependency files
Done reading realtime dependencies
You now need to run 'sudo make setuid' in order to run in place with access to hardware.
Vyměnil jsem dva soubory v původních adresářích src . Stáhl jsem je z diskuze na githubu týkající se právě driveru xhc-whb04b-6. Měli by tam být nějaké opravy. Jedná se o dva soubory hal.cc a hal.h. Jsou větší než ty původní, ale jmenují se stejně. Nevím kam to to make háže, takže to ani neumím smazat to, co vytvořilo.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

19. 2. 2022, 4:04

zz912 píše: 19. 2. 2022, 8:57 Tak jsem včera vypnul počítač a když jsem ho dnes zapnul, tak nefungovala wifina. V rámci odinstalace linuxuCNC jsem odinstaloval i něco co jsem neměl.
...
Malý tip.

Když někdy dělám něco potenciálně nebezpečného, kde si nejsem jistý výsledkem, tak na to používám sadu malých stejných disků.
Občas nějaké staré vyřazené, které by jinak skončily na šroťáku, od někoho hodného dostanu (díky, Fupe :-) ).

Na tom malém disku (třeba 200GB) udělám ještě i malou partition (třeba 30 GB) a všechny pokusy dělám na tom. Zásadně na tom disku nemám žádná svá data.
Ten disk si nainstaluju a pak tu partition binárně nakopíruju na další 1-3 disky.
Pokud se něco podělá a nemám potřebu zjišťovat proč, tak prostě vezmu druhý disk a ten původní zase přejedu z master kopie.

Jednak tak nemůžu přijít o žádná data. Druhak tu instalaci dělám na panenský disk. Takže se nemůže stát, že jsem spoléhal na něco, co tam už bylo předinstalováno. Nebo že jsem si zapomněl nějaký krok zaznamenat atd.
A minimalizuju ztrátové časy s případnými opravami. Navíc si nezanáším svůj Linux nějaký instalačním bordelem.
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“