**** BEGIN LOGGING AT Wed Sep 30 02:59:57 2020 Sep 30 03:09:47 anyone here been through the knothole of building numpy/scipy on Debian 9 with a recent python? Sep 30 03:36:56 Me! Sep 30 03:36:58 I did. Sep 30 03:37:34 Now for knothole, I am not sure what that means. But! I have built numpy/scipy on the new images from bbb.io/latest-images. Sep 30 03:48:43 set_: im stuck on debian 9 Sep 30 03:49:03 any tips? how detailed did you have to get with pip to get it to build? Sep 30 03:49:46 i think i have the dependencies at this point, but worried there's some kind of fortran magic im missing Sep 30 03:52:36 did you do it through pip or straight from the packages themselves Sep 30 03:55:08 sudo apt install python3-xxx <<< numpy and/or scipy. Sep 30 03:55:14 So... Sep 30 03:55:35 sudo apt install python3-numpy python3-pip python3 python3-scipy. Sep 30 03:55:37 and etc. Sep 30 03:55:59 That works but it is an "outdated" version that is stable. Sep 30 03:56:25 If you are trying to build from scratch, I suggest many hours of reading on dependencies. Sep 30 03:57:46 Oh and you will need to create a venv with your mkdir dir. and then get into that venv. Then, you can update pip3 and install whatever. Sep 30 03:58:03 That is... Sep 30 03:58:07 If you want to use pip3. Sep 30 04:00:08 I will get you a pastebin paste w/ instructions. Sep 30 04:03:02 https://pastebin.com/Aj469GBg Sep 30 04:03:13 There are some nice things to do once you are in that venv too. Sep 30 04:03:24 create a requirements.txt file. Sep 30 04:04:46 then, pip3 freeze > requirements.txt. Also, https://docs.python.org/3/tutorial/venv.html?highlight=requirements%20txt. Sep 30 04:05:01 juicy info! Sep 30 04:06:09 s_: There was one more idea that was taught to me. Sep 30 04:06:22 I forget now but I may remember. Please hold. Sep 30 04:09:24 yeh ive got all that. its getting that pip command to actually finish Sep 30 04:10:12 since it builds components using numerical libraries in fortran and c Sep 30 04:10:23 ones that i think need to be apt installed Sep 30 04:12:59 Oh. Sep 30 04:13:18 cython...right? Sep 30 04:13:31 Well, you can use apt. Sep 30 04:13:48 I am not sure about your system at all. uname -a and cat /etc/dogtag Sep 30 04:14:54 s_: Did you update your kernel and then this started happening? Sep 30 04:15:07 or change kernels? Sep 30 04:15:32 no. just using an older stretch build Sep 30 04:15:55 python too old as you mentioned Sep 30 04:15:59 Oh. Can you give me the outcome of uname -a && cat /etc/dogtag Sep 30 04:16:00 OH. Sep 30 04:16:02 ! Sep 30 04:16:06 so built using pyenv on $HOME Sep 30 04:16:26 Oh. I am out then. I know nothing about that idea. Thank you for updating me. Sep 30 04:16:36 I have not used pyenv once. Sep 30 04:16:49 pyenv is done. that was easy Sep 30 04:16:55 its the base for a clean venv Sep 30 04:16:59 just venv and virtualenv. Sep 30 04:17:20 But...virtualenv got replaced on the apt repos. Sep 30 04:17:34 just python -m venv venv works Sep 30 04:17:51 I just use >>> python -m venv Sep 30 04:18:07 I think. I should plug in if we are going down this road. Sep 30 04:18:27 but pip install numpy scipy.. that is where im struggling. i think there are some deps.. i hope i got them all, but i haven't started mucking with numpy site.cfg, etc Sep 30 04:18:40 Oh. Sep 30 04:18:42 Okay. Sep 30 04:18:52 Yea. They both have a lot of them. Sep 30 04:19:12 im hoping i just need to pull from apt Sep 30 04:19:27 and not any additional configration Sep 30 04:19:41 what python version do you have? Sep 30 04:19:52 latest 3.7 Sep 30 04:19:57 if you have 3.5.x... Sep 30 04:19:58 OH. Sep 30 04:20:01 Okay. Sep 30 04:20:02 3.7.9 Sep 30 04:20:12 On kernel 4.9.x? Sep 30 04:20:13 not using system python Sep 30 04:20:18 Oh. Sep 30 04:20:21 built my own in 4HOME Sep 30 04:20:29 using pyenv-build Sep 30 04:20:31 Okay. Sep 30 04:20:33 Hmm. Sep 30 04:20:38 I am sure that is complicated. Sep 30 04:20:53 building python is actually rather easy Sep 30 04:21:01 What...git clone? Sep 30 04:21:03 Ha. Sep 30 04:21:07 well... easy when there's a plugin that does it for you Sep 30 04:21:14 Right. cmake or make? Sep 30 04:21:36 I am struggling w/ ansible right now. Sep 30 04:21:55 I want my printrbot machine to print again. I am using the BBB and RepliCape. Sep 30 04:21:58 pyenv install 3.7.9 Sep 30 04:22:03 Oh. Sep 30 04:22:04 Okay. Sep 30 04:22:09 it pulls, builds, sets up shims Sep 30 04:22:14 shims? Sep 30 04:22:21 That is a new one on my side of things. Sep 30 04:22:41 little scripts that point to the local python you choose with pyenv Sep 30 04:22:49 Oh. Sep 30 04:23:07 so then you can python -m venv your way into a clean environment Sep 30 04:23:07 Do you use ansible? Sep 30 04:23:11 Oh. Sep 30 04:23:13 Okay. Sep 30 04:23:14 i don't sorry Sep 30 04:23:26 Me neither...or I did not until today and once a year ago. Sep 30 04:23:49 I remember some but none of it is relavent right now. Sep 30 04:24:22 relevant. Sorry. Sep 30 04:24:32 thanks for chiming in Sep 30 04:24:37 ill figure it out Sep 30 04:25:09 See. It is like this...once built, the image is made from some scripts, and then I can create images from those scripts b/c of ansible and the .sh scripts. Sep 30 04:25:35 But...I have not made the ansible build scripts before and it is beyond me so far. Sep 30 04:25:51 So, like usual, as @zmatt knows, I am starting something new to stick w/ the old. Sep 30 04:26:00 RepliCape! Sep 30 04:27:15 No issue. Sep 30 04:27:17 Enjoy! Sep 30 06:34:50 Hello there Sep 30 06:35:32 may i have your help regarding BBB could not be green confirmations Sep 30 06:35:42 do you know why? Sep 30 06:36:21 the good thing ,if i use the BBB on the other laptop, it works , i dont knwo why on this laptop Sep 30 06:36:46 this laptop is totally new Sep 30 14:31:50 damnit. debian 9 bbb image doesn't seem to let me install python3-pandas Sep 30 14:36:52 how so? Sep 30 14:37:16 note that the debian 9 image is obsolete anyway Sep 30 14:44:55 it definitely installs without any problems on the latest image: https://pastebin.com/raw/t98inhVz Sep 30 14:45:01 anyway, bbl Sep 30 14:54:23 s_: See. s_, why would you not want to update your image? Sep 30 14:54:58 Oh. You have a current, custom image? Sep 30 15:02:30 meat space reasons Sep 30 15:02:47 zmatt: missing python3-pandas-lib in deb9 armhf repo i think Sep 30 15:03:27 can't figure out a system update without physically touching the thing which is.. difficult Sep 30 15:14:54 Oh. Sep 30 15:15:03 Okay. Sep 30 15:30:27 s_: ah, updating a remote system is definitely possible but also tricky, definitely something you'd want to practice on a local system first Sep 30 15:31:37 can practice, but unclear the path on a system with no sd card just emmc Sep 30 15:32:02 and you're right, stretch/python3-pandas-lib does seem to be missing for armhf... weird Sep 30 15:35:17 yeah its super weird Sep 30 15:35:29 you could try using apt to install just the dependencies of pandas and then use pip3 to install pandas itself, preferably the same version (0.19.2) to ensure it doesn't end up having additional/newer dependencies Sep 30 15:36:49 yeah. im on that path. turns out that this is a challenging build without a wheel Sep 30 15:37:10 as for upgrading the system... there are a few ways, but most of them will require a fair bit of free space on eMMC (except the rsync --delete-before method, which is super dangerous) Sep 30 15:37:31 a fair bit meaning close to half right? Sep 30 15:37:33 my favourite is dual root Sep 30 15:38:06 bonus points for automatically reverting to the old one if the new one doesn't boot Sep 30 15:38:25 that's the really fancy way but it requires forethought Sep 30 15:39:34 yes, converting units already in the field was no fun Sep 30 15:39:50 I used a method that unpacked a completely fresh root filesystem in a subdirectory, then replaced /boot/uEnv.txt by one that points init= to an install script that removes the old files and moves the new ones into place (in a way designed to be idempotent, so it would simply resume the install if a power cut were to happen) Sep 30 15:40:31 that does, obviously, require having enough free space for the contents of a root filesystem Sep 30 15:40:32 I don't like reusing the filesystem Sep 30 15:40:39 just in case there's been some subtle corruption Sep 30 15:41:10 I'm not too worried about that, between journaling and having the eMMC configured into SLC mode with reliable writes enabled Sep 30 15:41:21 you haven't seen what I've seen Sep 30 15:41:30 lol Sep 30 15:41:34 hmmm any documentation of this process? from 9-10? Sep 30 15:41:58 when you have tens of thousands (or more) devices in operation, someone will sooner or later manage to do something really weird Sep 30 15:42:26 s/tens of thousands/2/ Sep 30 15:44:46 mru: perhaps, but dual root sounds like a lot of work and conversion to dual root seems very scary Sep 30 15:45:06 it's not that much work to build it from scratch Sep 30 15:45:13 s_: not really... the process I used was fully custom Sep 30 15:45:14 the conversion was a little scary, yes Sep 30 15:48:01 mru: and we have enough devices in the field to be able to conclude that filesystem corruption does not seem to be a worry for us, perhaps as a result of how our devices are setup maybe... and if it does eventually happen, well an occasional RMA happens already anyway for a variety of reasons (mostly hardware) Sep 30 15:49:26 true Sep 30 15:50:20 s_: for a single device with ssh access I think I might actually have considered using rsync, but it depends on how big the problem would be if it fails and the BBB ends up unbootable Sep 30 15:53:04 I have good success with rsync if every service not strictly necessary is first stopped, a suitable rsync filter is used, and after the rsync the target system is rebooted by making really sure everything is synced to emmc ("sync; sync; sleep 10;") and then hard power-cycling ("reboot --force --force" should work) Sep 30 15:53:30 but it never makes me not nervous Sep 30 15:54:41 oh and suitable rsync flags... --archive does not suffice Sep 30 15:55:04 -aHAX should cover most things Sep 30 15:56:50 just remember that a simple rsync can never work if you need to update files in locations that have other filesystem mounted over them when running Sep 30 15:58:50 sure, in fact you should use --one-file-system Sep 30 15:59:03 you don't want it to rsync /dev, /sys, /proc or such Sep 30 16:02:20 right, but there are situations where you want a few files in the rootfs that get hidden/replaced by another mount during boot Sep 30 16:02:42 adjust to personal use-case of course Sep 30 16:05:14 you'll also want --numeric-ids since the old and new system may have different passwd Sep 30 16:05:38 another reason for not doing it that way Sep 30 16:06:17 and you'll want to have excludes for, at minimum, /etc/machine-id, /etc/ssh/ssh_host_*, and /etc/hostname Sep 30 16:06:30 I want my update system to be simple and predictable Sep 30 16:06:38 and robust Sep 30 16:06:48 I wouldn't even call this an "update system" Sep 30 16:06:54 what you're describing isn't even close to any of those things Sep 30 16:08:13 like, I've used this, but only in cases where the systems are already very similar and where I had a plan B if the rsync screwed up Sep 30 16:09:25 well, no, that's not true, I have actually used it in cases where the was no plan B, but that was still during prototyping, with no robust update system available, and I warned them of the risk Sep 30 16:10:08 I think I've only once destroyed a system with it :D Sep 30 16:10:25 so it has a decent success rate Sep 30 16:10:28 ;) Sep 30 16:13:04 s_: but the "normal" way of upgrading a system from debian 9 to 10 would be using apt. I've had success with that too, but it is still risky and you should not attempt it unless you have _plenty_ of free disk space (like, enough for all downloaded packages + all new installed files) Sep 30 16:13:25 the more packages are installed, the riskier it is to upgrade this way Sep 30 16:14:59 in all cases I also recommend limiting the amount of data buffered in write cache by setting some sysctl vars, like: https://pastebin.com/raw/dNp8me0p Sep 30 17:52:34 What do you call a resistor that ties together case ground and signal ground? (no this is not the startings of a joke) Sep 30 17:52:52 I really want to know. Sep 30 18:03:23 it's called a "50 Hz hum generator" Sep 30 18:03:40 ;) Sep 30 18:11:03 Or 60, depending on location. Sep 30 18:11:16 right Sep 30 18:12:47 generally you want an interconnection between signal ground and earth ground at at most 1 point in your system, and you'd use a hard interconnection rather than a resistor Sep 30 18:15:11 if there's a clear "transmitter" or "master" (e.g. audio output or dmx controller) then that is typically where you'd want that grounding Sep 30 18:18:17 (e.g. DMX-512A standard specifies for the controller side: "Any resistance between Pin 1 and chassis shall be less than 20 ohms and is preferably zero ohms" (note: pin 1 of XLR is signal ground for DMX, while for balanced audio it is not) Sep 30 18:18:28 ) Sep 30 18:21:55 Konsgnx: what's the specific application? Sep 30 18:23:04 haha, in a usb device that has case-gnd, power-gnd, then a net tie to Gnd from power gnd Sep 30 18:23:32 only .1ohm resistor between case gnd and pgnd at one point. Sep 30 18:23:55 i tentitively called it "R tie" Sep 30 18:25:19 what does tying case gnd to power gnd (which should normally be tied directly) have to do with signal ground? Sep 30 18:27:06 with "power gnd" do you mean protective earth? Sep 30 18:27:20 maybe I just misunderstood Sep 30 18:32:28 I just checked what the usb spec has to say about it... "The user selected grounding scheme for USB devices, and cables must be consistent with accepted industry practices and regulatory agency standards for safety and EMI/ESD/RFI." ... fucking useless Sep 30 18:34:05 no earth, portable device. Sep 30 18:34:52 power earth is pathway past charging device, and first connection is ground pins. case ground is tied to sheilding on the type c connector. Sep 30 18:35:20 tiny resistor to provide path to discharge/ ever so slightly attenuate any spikes. Sep 30 18:35:41 gnd to pgnd is connected on other side of board. Sep 30 18:35:48 via net-tie. Sep 30 18:36:29 I'm not sure I follow what the difference is between pgnd and gnd, why are these separate things? Sep 30 18:36:33 *other-end of board, away from connector Sep 30 18:36:50 following ref design of charger ic Sep 30 18:37:01 Reasons? Sep 30 18:37:10 Cause Reasons! Sep 30 18:38:31 to be clear, there is no seperate grounding pins on the charger ic. Sep 30 18:39:01 just a lot of switching circuitry connected. large inductor and currents potentially. Sep 30 18:39:23 hmm I suppose Sep 30 18:52:41 USB calls it shield pin/connection Sep 30 18:53:41 I'm not an expert but I think it's also for electrostatic protection Sep 30 18:53:52 I found one doc stating that: USB "GND" pins must be connected directly "to a large GND plane", while recommending interconnecting shield and gnd via resistor and capacitor in parallel (but allowing direct connection as alternative) Sep 30 18:55:47 another that shows the same scheme but recommends replacing the resistor by a ferrite bead, which strikes me as odd... like, tying via a ferrite bead is intended to isolate at high frequencies, while tying with a cap is intended to short at high frequencies, using these in parallel seems bizarre Sep 30 19:00:06 Konsgnx: using a resistor between pgnd and gnd still seems odd, does the charger ic specify this? Sep 30 19:02:22 it's kinda weird that it's so hard to find authoritive recommendations on these things.. like, have people not yet figured out what best practices are? Sep 30 19:02:37 btw my problem seems that I cannot write to ADC STEPENABLE, after writing 2 to it, to enable STEP1, I tried reading the value and it's still 0 Sep 30 19:05:17 that's odd Sep 30 19:05:19 an explanation can be that only the host end should connect the shield to GND. Sep 30 19:05:55 (directly) Sep 30 19:06:30 mm302: that's usually infeasible Sep 30 19:06:40 or, well Sep 30 19:06:44 yes Matt, I saw a note that "The system software should only write to the STEPENABLE register when the ADC is Sep 30 19:06:46 disabled or the FSM Sep 30 19:07:19 that remark seems odd to me, my experience is that it's a bad idea to disable the ADC unless the FSM is idle Sep 30 19:07:30 the ADC definitely doesn't prevent writing STEPENABLE Sep 30 19:08:07 however I did write #6 to ADC_CTRL earlier to disable ADC and enable writes to config registers, so strange Sep 30 19:08:14 (the "usually infeasible" was in reply to not connecting shield and ground... though I guess it's feasible but probably not a good idea) Sep 30 19:08:32 does ADC_CTRL read back correctly? Sep 30 19:09:48 yes, TRM says it should be either disabled or idle (above 12.4.1) Sep 30 19:10:21 yes it does Sep 30 19:10:55 did you configure your steps to be continuous? otherwise they will execute only once and then their bit will automatically clear in STEPENABLE Sep 30 19:10:57 ADCSTAT gives me status idle too Sep 30 19:12:10 yes, I set 01 SW enabled, continuous into ADC_STEPCONFIG1 Sep 30 19:12:44 then I don't really have an explanation, it should just work Sep 30 19:12:57 I've never had a problem resembling what you describe Sep 30 19:35:54 zmatt, just to clarify, net-tie between pgnd and gnd, resistor tie between case-gnd and p-gnd Sep 30 19:36:30 yea, one nice approach is to parrallel resistors and capacitors to tie the two nets together. Sep 30 20:03:00 I found this good ADC example that seems to work, weird I did something very similar: http://barrett-morrison.com/nathan//engineering/beaglebone/Beaglebone-ADC-PRU Sep 30 20:40:53 great, I got it working, really cool having low level control over the hardware! **** ENDING LOGGING AT Thu Oct 01 02:59:57 2020