One thing that comes to mind - I think (and I don’t know for certain) compiling KiCad 5 requires libssl1.0.0
I noticed that that lib is not available (probably due to vulnerabilities and/or outdated ssl AND assuming it is indeed SSL 1.0) in STABLE (Stretch). If libssl1.0.0 is indeed used (and assuming it really is SSL 1.0) wouldn’t that in and of itself compromise the system? And if the previous is true, why is SSL 1.0 being used?
Again, this is just assumptions on my part and I very well could be wrong about libssl1.0.0 as it could just be SSL 3.0 but the naming convention may be just cosmetic. Can someone answer there as I am curious
I compiled nightly on Debian stable a few months back. I just look at the error. It is usually something missing. I don’t program but I did have a fair amount of dev libs installs so it wasn’t too painful. Nothing out of the ordinary at that time.
oce-draw is not even installed on my system. I think you have the right idea. Start another thread and post the error log. Like I said earlier though, I didn’t have to install anything that wasn’t in the normal repository that I can remember.
I’m doing some experimenting on a virtual machine right now. KiCad takes d*** long time to compile so it will be ready or failed tomorrow morning. Up to this moment here are some notes:
Read the last section in https://kicad.org/download/debian/ and install those dependencies. I tried another route so I’m not sure is these are up to date.
An easy way to install dependencies on Debian and all derivatives is apt build-dep. Make sure you have the source repository enabled, not just the binary repository. Then run “sudo apt build-dep kicad”. It installs all build-time dependencies for the kicad version which is in the used repository, including build tools. I did this on a minimal clean desktop (lxde) install and it installed over 2.5Gb of stuff.
Unfortunately there’s no nightly builds for Debian. There are for Ubuntu, and building is really easy there after enabling the nightly build PPA (with src) and using build-dep. The latest kicad source has a bit different build dependencies than 4.0.x, so build-dep doesn’t work out of the box. Hopefully the website instructions have those missing packages, at least boost and oce are in that list. I disabled oce in cmake configuration so I didn’t need that.
For configuration I recommend cmake-gui (“apt install cmake-gui”, run “cmake-gui”). Give the source and build destination directories. Click “Configure” once. Enable and disable what you want. You have to disable ngspice (see the web page). I also had to remove the lines where there should have been the ngspice related directories. Now you have to click “Configure” maybe a couple more times until there are no red lines. That’s a bit strange, but that’s how it works. When there’s no red or errors left, click Generate. If you run into errors, you have to install some more -dev packages.
Now you can exit and you’re ready to run make and “sudo make install”.
Outstanding! I am making progress, THANK YOU!
So the spice lib - did you comment out the lines that reflect spice in cmakelists.txt or did you set it one within the file to OFF ?
UPDATE: I installed ngspice that is within STABLE, all cmake issues appear to be satisfied and I’m in the “make” process.
UPDATE 2: 34% … I got a good feeling about this, especially that it seems like its working and I have very little knowledge of what Im doing, lol
Aarrgghh - fail… Anyone care to lend some guidance? My take; I probably should have removed the refs to spice?
[ 69%] Building CXX object eeschema/CMakeFiles/eeschema_kiface.dir/__/common/page_info.cpp.o
make[2]: *** No rule to make target ‘/usr/lib/x86_64-linux-gnu/libngspice.so’, needed by ‘eeschema/_eeschema.kiface’. Stop.
CMakeFiles/Makefile2:928: recipe for target ‘eeschema/CMakeFiles/eeschema_kiface.dir/all’ failed
make[1]: *** [eeschema/CMakeFiles/eeschema_kiface.dir/all] Error 2
Makefile:149: recipe for target ‘all’ failed
make: *** [all] Error 2
UPDATE: Commented out the line for spice in /kicad/CMakeLists.txt - error persists.
At this point maybe I need to comment out spice in /kicad/eeschema/CMakeFiles ???
Try commenting it out in eeschema CMakeFile – maybe this is a bug? I think this line should be conditional on KICAD_SPICE but it doesn’t look like that’s the case.
${NGSPICE_LIBRARY} on line 319
Working on it
I hope folks here don’t mind the play-by-play on this. I kinda hope it shows other that know as little as I do about compiling might find this somewhat enlightening
As I told in the previous post, I removed the lines which had the ngspice library locations. So there were two things to do:
Disable ngspice, set it to OFF, unmark it. In cmake-gui GUI it’s “NGSPICE” and a checkbox.
Remove the “NGSPICE_INCLUDE_DIR” and “NGSPICE_LIBRARY” lines altogether with “Remove entry” button or delete them from a file, otherwise they led to cmake errors for me.
I just installed it with “make install” (as root) and I can run it!
Outstanding! Mine is at 95% and I went the same route as you (except the cmake-gui) so I should have the expected results also.
I humbly thank all that contributed to this thread. I never would have been able to pull this off on my own.
Thank you!!!
Update on my build - all went well. The only issue I have now is that pcbnew fails to load sigh
This could be due to a possible conflict within that compile section (pcbnew) as it does state that is requires ssl1.0.2 (or something like that - I been up too long watching this) and that causes some conflict with curl (I recall seeing that at that point).
Been up all night tinkering with this compile and a vbox install of SID. Need sleep as its now 6:40 am here.
Any insight would be appreciated from those here that had a successful compile. Please check the other modules to see that they come up.
Exact I’ve the compile warning here :
> /usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/i386-linux-gnu/libcurl.so, may conflict with libssl.so.1.1
/usr/bin/ld: warning: libcrypto.so.1.0.2, needed by /usr/lib/i386-linux-gnu/libcurl.so, may conflict with libcrypto.so.1.1
I’ve create a simple example with a connector, a resistor and a capacitor.
When I want open CvPcb, it’s not possible because of libkicad_3dsg.so.2.0.0 is missing.
Exactly, it’s in the kicad-source-mirror/build/release/3d-viewer/3d_cache/sg folder but not installed by the sudo make install command.
Were I need to put it?
After, I decide to run kicad from Terminal, to see isues, the first is
Gtk-Message: Failed to load module “atk-bridge”
that can be fixed by installing libatk-adaptor
Now, I’ve try to start PcbNew but it crash immediately…
@Chris60601, @gilou, I had to run “ldconfig” as root. After that pcbnew and cvpcb worked. So it was about the system’s library paths, not about KiCad installation per se.