What PSoCs, MCUs/MCPUs , FPGAs and IoT boards are Linux friendly? - Page 1
Forum section: electronics / general

author: cdev
author_rank: Super Contributor
timestamp: June 17, 2017, 05:13:36 pm
content: I'm casting around for interesting new hardware to experiment with and would like to learn more about both FPGAs and IoT platforms/devices.But I'm on Linux and want to remain with it as my main platform. I can run Wine, I don't want to buy Windows and run Windows in a VM. Given those constraints, which platforms have development tools and are supported by a toolchain that I can use on my platform of choice? Assuming that I had no other platforms available (which is more or less true)I know that excludes a lot of good hardware, even now.

author: nctnico
author_rank: Super Contributor
timestamp: June 17, 2017, 05:28:32 pm
content: Xilinx ISE runs on Linux just fine. The same for ARM's GCC compiler (see launchpad.net).

author: ataradov
author_rank: Super Contributor
timestamp: June 17, 2017, 06:03:17 pm
content: Altera Quartus works on Linux perfectly as well.Development for ARM is super easy on Linux. Programming the part may be a bit harder, but there are tools for all major vendors.

author: NorthGuy
author_rank: Super Contributor
timestamp: June 17, 2017, 06:13:06 pm
content: Xilinx's Vivado is supposed to run on Linux, but I only tried ISE.Microchip's MPLAB X runs on Linux very well - much better than on Windows actually.

author: dgtl
author_rank: Regular Contributor
timestamp: June 17, 2017, 07:16:39 pm
content: Vivado runs fine as well. At least 2017.1 and 2016.4 run as well as on Windows.In case of Altera, the last time I used it (approx 5 years ago), the Linux one was more capable - the Windows one did not support the parallel port byteblaster anymore, linux one did. At that time it was handy - the newer jtag adapters were in use by colleagues and it was either wait or get another one ordered (and my machine happened to have serial port card with parallel port on it too). On both Altera ISE and Xilinx Vivado, the synthesis speed seems to be similar on both platforms, did not do any proper measurements though.uC tools:* nxp lpcxpresso / mcuxpresso run well on linux* silabs (energy micro) stuff worked, too* st system workbench has linux support, but I havent tried it myself (I use generic arm-gcc and my own scripts for stm32)* cypress stuff is windows-only. Did not even work under wine. Runs well in vm (virtualbox). The uc us so complex (fpga-like reconfigurable peripherals), that without the vendors tools it would be almost impossible to do proper development ground-up. Even command-line-only tools to synthesize the hw and verilog sources for peripherals would be ok to have, but they don't seem to like this idea, instead forcing their gui on everybody.* microchip (atmel) stuff was also windows-only. I have used generic arm-gcc and avr-gcc under linux without problems.As said, just compiling stuff for ARM or AVR is not an issue at all under linux. You need a compiler and the register header file, that can be usually extracted from the vendors toolchain. Then you need the linker script, but that is simple to do. Finally you need the initialization code as the arm micros usually need a lot of initialization to be done by user code. This can be usually taken from vendors toolchain, alternatively it can be programmed manually but this takes a bit of work.The programming / JTAG debug part is sometimes a little complicates as those micros do not have programming interface, instead via the JTAG the developer just uploads the program that runs on the micro and the data to flash and that program is executed then on the micro to write the data from ram to flash. As this little program comes with the programming tool, it needs to be written again and again for all tools. At least openocd supports a lot of ARM micros and this can be reused with different physical adapters, but this support usually is third-party developed, not from the vendor.Apart from that, just grab a arm-gcc bare metal compiler, that is capable of the required cortex-m micro ISA and compile what you need.

author: rstofer
author_rank: Super Contributor
timestamp: June 17, 2017, 08:01:07 pm
content: There's a Linux version of Lattice Diamond. Like all things Linux/USB related, YMMV

author: ataradov
author_rank: Super Contributor
timestamp: June 18, 2017, 12:10:36 am
content: I never had problems with Altera tools under Linux, especially after acquisition by Intel, when they just dropped that license requirement for free versions.And I just got Lattice Diamond to work on Mint. It was not that hard, actually. I'm not sure what went wrong the first time I tried to do the same, and failed.

author: julian1
author_rank: Frequent Contributor
timestamp: June 18, 2017, 12:47:33 am
content: For fpga, Lattice ice40, verilog compiler and p&r is just an apt-get install on debian.QuoteDemo: A fully open source flow for iCE40 FPGAsFor linux mcu, I like orange-pi pc and plus - anything based on Allwinner H3. Currently running headless debian - with mainline uboot, and mainline kernel. still need to wait for kernel 4.10 for ethernet patches to be accepted upstream, else you can patch 4.9.http://linux-sunxi.org/Linux_mainlining_effort

author: cdev
author_rank: Super Contributor
timestamp: June 18, 2017, 01:57:26 am
content: Thank you for all this help!I'm still indecisive about the FPGAs probably because the one that seems the most interesting to me is the cypress 5 lp series and its not Linux friendly.. but(Mr. big spender here!) I did order an "STM32F103C8T6 ARM STM32 Minimum System Development Board" which looks like an exceptionally good deal for a bit more than $2 - and I also got anESP8266 like the one in Daves recent video.. with the idea of hooking it up to some of my other household junk using unused wifi access point that is so old it doesnt support wireless g so I dare not use it for actual internet but it will be fine for internet of thangs."This is D1 mini, it is a mini WIFI board based on ESP-8266EX.11 digital input/output pins, all pins have interrupt/pwm/I2C/one-wiresupported(except D0)1 analog input(3.3V max input)a Micro USB connection" and two very cheap RTCs.. and two small super cheap 128x64 OLED displays in white.. Ive never done anything with a raw graphic displayA lot of potential fun for very little money..

author: TK
author_rank: Super Contributor
timestamp: June 18, 2017, 02:14:15 am
content: Beaglebone Black and Beaglebone Green work with debian embedded linux

author: legacy
author_rank: Super Contributor
timestamp: June 18, 2017, 09:39:55 am
content: Quote from: cdev on June 18, 2017, 01:57:26 amFrankly I find this mind attitude a bit childish. If you are in business you know that you can cry as long as you want, at the end there are fields where linux is completely ignored by the industry, they have their reasons to do so, so you have to deal with it.And what is your reaction? Oh, If it's not linux supported, but still very interesting as offered capabilities and features, then I won't use it as I as I care more in linux-friendly.Is it your main priority? So here we are, and let's start looking for the last freaking alternative!If you want to stay in business, be prepared to learn the little lesson: sometimes there are no alternatives since there are a lot of situations when you find something very interesting, useful, damn productive, and ... it's neither supported by linux nor it's opensource.What will you do? Stay in your cave?

author: ebclr
author_rank: Super Contributor
timestamp: June 18, 2017, 09:58:29 am
content: Cave is what they likeIn today's world, you can play quite easy with both system on the same machine, taking the best that each one can offer using virtualization like VMware or VirtualBox, or even dual boot, but those Richard Stallman fanboys refuse to accept a wider option even as a second platform, losing access to millions of products made just for that "evil" system who have the biggest availability of anything. Wanna play Psoc, no way to play on penguin, and Psoc is not alone, have a lot of powerful titles especially on engineering area, that runs only on windows. Why not at least set a Windows virtual machine on linux and have access to the mainstream world

author: Zero999
author_rank: Super Contributor
timestamp: June 18, 2017, 11:20:48 am
content: Quote from: cdev on June 17, 2017, 05:13:36 pmAre you sure you need to buy Windoze? Most PCs come with it pre-installed, so it's quite likely you already have a licence, whether you're using it at the moment or not. However if you've formatted the drive your machine I don't know how you can go about legally getting a copy.If you built the machine yourself or purchased one with Linux pre-installed then that's a different matter, although it's still possible you already have a different machine with a Windows licence, which although M$ says isn't transferable in the EULA, I don't believe that clause is legal (assuming you actually care) but I'm not a lawyer.Another thing you might want to try is a free Winblows 10 VM which M$ originally released to enable developers to test thie Edge browser.https://betanews.com/2015/08/18/microsoft-releases-free-windows-10-virtual-machines/https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

author: NorthGuy
author_rank: Super Contributor
timestamp: June 18, 2017, 02:14:30 pm
content: IMHO, Microsoft went way over board in restricting users in Windows 10. Not to mention mandatory spying and backdooring. I don't think this has a chance to change.Therefore I'm keeping Windows 7, but I also have plans to migrate to Linux. I already have several Linux machines, I gradually migrate all my workflows to Linux. I think 5-6 years from now it'll be all Linux, except for testing boxes.I don't think I'm the only one who's not going to accept Windows 10. In the past 6 months, the market share of Windows 10 hardly ever grew, and this is despite the fact that all new computers are sold with Windows 10:https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=11&qpcustomb=0Of course, Linux market share in the overall PC market is only 2%, but this includes all the housewives and bureaucrats. If you look at engineers only, I think the Linux share is much greater and I think it's growing.It is enough software that can run on Linux, and it is stable enough. If something doesn't run on Linux, the hell with it.

author: rstofer
author_rank: Super Contributor
timestamp: June 18, 2017, 05:35:58 pm
content: Win 10 grew because of new machines, not so much from upgrades. There is no good reason to upgrade from Win 7 but there may be from Win 8 and 8.1 (I never used them).Still, in about a year, Win 10 swamped, by a factor of at least 12 (probably closer to 25), the number of Linux desktops and Linux has been around for 25 years! Linux has been around but, really, nobody cares.Linux doesn't even have enough desktops to be listed as a separate category like Mac OSx. It is just lumped with 'other'. And the percentage of 'other' is dropping!In 2020, Win 7 will no longer be supported by Microsoft. There will be a good reason to upgrade at that point.I have Linux on 3 machines and I use them from time to time as servers or for writing code. I like using gedit and make. Clean and simple! OTOH, I am kind of fond of Eclipse and I have it running on both flavors. I also installed the bash shell under Win 10. It comes in handy from time to time.

author: nctnico
author_rank: Super Contributor
timestamp: June 18, 2017, 06:24:02 pm
content: Quote from: rstofer on June 18, 2017, 05:35:58 pmFor generic computing that is true but Linux is definitely growing for engineering use and hence manufacturers of typical engineering software have Linux versions available for a good reason (= it makes them money).

author: rstofer
author_rank: Super Contributor
timestamp: June 18, 2017, 06:41:46 pm
content: Quote from: nctnico on June 18, 2017, 06:24:02 pmEven then, the manufacturers have a hard time matching all distros. I remember back about 12 years ago where Xilinx ISE would run on RedHat Enterprise (I believe) but was not guaranteed to run on any other distro. Enterprise cost money and I was using RedHat Workstation. I didn't even try...So, these days, the manufacturers will pick a popular distro like Debian (maybe Ubuntu) and that's the incantation they target.I used to have a huge problem with my NVIDIA drivers and every time the kernel changed, I had to recompile (or whatever was going on) the driver code to match the new headers. It seemed like the kernel was changing weekly and this NVIDIA thing was a huge PITA. I just quit upgrading the kernel.You're right, though, the manufacturers wouldn't bother writing a Linux variant if they didn't think there was a market out there. They want to sell chips!Universities tend to favor Linux (and anything else that is "free") and new engineers come from universities. Of course the companies are going to target this segment. Look at the student discounts on Adobe software. Now I see they have Cloud versions that I could actually afford!Autodesk, not so much. Maya costs $185/month!

author: legacy
author_rank: Super Contributor
timestamp: June 18, 2017, 07:54:37 pm
content: Quote from: ebclr on June 18, 2017, 09:58:29 amExactly!Protel/AltiumSolidWorksTinaDesignRhinocerosVisualDSP++Just to list a few Windows-only products I need.

author: legacy
author_rank: Super Contributor
timestamp: June 18, 2017, 08:22:59 pm
content: Quote from: NorthGuy on June 18, 2017, 02:14:30 pmFrom my point of view it doesn't care which-OS, as the OS is just a tool for me. So, if they migrate all the software I need onto linux, then I will have no problem with it, but currently I am in the situation when I still see dependencies, there are applications which are available ONLY for windows, therefore I still take a Windows machine on hands instead of wasting my time in the silly attempts to workaround the problem.Dual boot laptop. I have recently found I can access the linux partition from Windows through VirtualBOX. This, combined with MabaXterm, is extremely productive.

author: nctnico
author_rank: Super Contributor
timestamp: June 18, 2017, 08:38:17 pm
content: Just use Virtualbox and you can have both Windows and Linux running simultaneously while sharing files over the network (which is internal so extremely fast).

author: timb
author_rank: Super Contributor
timestamp: June 19, 2017, 12:53:54 am
content: Quote from: nctnico on June 18, 2017, 08:38:17 pmExactly. I use VMWare on OS X to run various Linux and BSD distros (the install sizes can be so small that I can have a separate VM for each build environment), plus Windows 7 (for modern stuff like DipTrace and PSoC Creator) and XP (for older software).I keep all my VMs on a USB3 connected 200GB SSD, so it's fast. VMWare can share any folder/drive/network share directly between the host and guest, so working with files between VMs is cake.There's so much Windows only engineering software that I would be severely limiting myself if I didn't use a Windows VM.I bought a license for XP Pro and 7 Pro when they came out, but have since misplaced or lost the license keys, so I ended overriding the default VMWare BIOS.rom file with a ROM from Lenovo that contained SLIC tables and then just used a activator and matching key. Only took me a few seconds and I didn't have to bother with 7 phoning home for the activation and all that nonsense.(And frankly, even if I didn't own a legitimate copy of 7 I wouldn't feel bad about that, as I've given more than enough money to MS over the years. I bought a copy of Windows ME and Windows 8, so they owe me! XD)

author: legacy
author_rank: Super Contributor
timestamp: June 19, 2017, 09:38:15 am
content: Quote from: nctnico on June 18, 2017, 08:38:17 pmIt's better accessing linux files from a native ext3 partition. VirtualBox has no documentation about it but it's possible and it'safer because if Windows crashes you won't have a lot of chunk which are still stored in the disk-cache. Having them parked in RAM is the typical solution used by VirtualBox to handle its virtual disks.In short: VirtualBox is great, but accessing a physical partition is better.VirtualBox also has a few problem with USB-endpoints, therefore when I have to develop something on the usb bus, I prefer shutting-down Windows and reboot the machine from linux.Quote from: nctnico on June 18, 2017, 08:38:17 pmI do it, I share my files over CIFS (SAMBA) from the laptop to a dedicated server which also offers NFS and sshfs. I am fine. CIFS from Windows to Linux suffers some timestamp issue (as well as it requires a fine tuning when you have to mount it from linux), not a critical problem, just annoying.

author: technix
author_rank: Super Contributor
timestamp: June 19, 2017, 04:09:27 pm
content: As long as LLVM/clang, GCC or SDCC work for a target microcontroller and a Linux-based programming and/or debugging solution exist, it works under Linux. In fact the list below covers both Linux and Apple macOS.PlatformToolchainDebugger/Programmer HardwareDebugger/Programmer SoftwareIDE (optional)ARMGCC or LLVM/clangSEGGER J-LinkSEGGER J-Link or OpenOCDEclipse CDTARM Cortex-MGCC or LLVM/clangCMSIS-DAPOpenOCDEclipse CDT8-bit AVRAVR-GCCAVRISP mkII or Atmel ICEavrdude (program only)Eclipse CDT8-bit AVRAVR-GCCAtmel ICEavariceEclipse CDT8-bit PICxc8 or SDCCPICkit 3MPLAB XMPLAB X16-bit PICxc16PICkit 3MPLAB XMPLAB X32-bit PICxc32PICkit 3MPLAB XMPLAB X32-bit PICxc32SEGGER J-Link (v9)SEGGER J-LinkMPLAB X32-bit PICMIPS-GCCSEGGER J-Link (v9)SEGGER J-LinkEclipse CDTMSP430MSP430-GCC(the whatever tool came on my Launchpad)OpenOCD?Code Composer Studio?STC 8051SDCCUSB to UART adapterstcgal (program only)Eclipse CDT8051SDCCMiniPro TL866miniproEclipse CDTOn the FPGA front I only have experiences in Altera. Their Quartus line of tools works under Linux.Most IoT boards I know off either uses some microcontroller listed above, or itself runs Linux. If the board runs Linux itself there will certainly be cross compiling toolchain available, and usual cross compiling development process follows.

author: timb
author_rank: Super Contributor
timestamp: June 19, 2017, 10:50:41 pm
content: Quote from: legacy on June 19, 2017, 09:38:15 amIn VMWare you can disable the virtual disk cache; I'd imagine VirtualBox has a similar option.I always disable the cache, as I find it uses a lot of RAM on the host, which slows down other applications you might be running, plus it's dangerous if you have a system crash or something (as you mentioned). I find that if you're running the guest from a SSD, disabling the write cache only slows down disk writes by less than 10%, which isn't that big of a deal. (Though if you're using a traditional hard drive it can slow writes down by over 60%.)

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 02:26:18 am
content: Speaking of Linux, is there any way to put a MCU development environment into Android yet?

author: legacy
author_rank: Super Contributor
timestamp: June 20, 2017, 07:34:41 am
content: Quote from: timb on June 19, 2017, 10:50:41 pmUmm, it seems it's not really possible as VirtualBox still uses disk-cache internally. Also I have experimented catastrophic disasters when Windows is used in NTFS-compression mode. A colleague wanted to have the option enabled, and on a crash he lost the whole virtual hard drive. Gone completely corrupted. So, NTFS-compression is not a bad idea, I won't recommend it.btw, the point was: why should I have to use a virtual hard drive when I can access a physical partition which makes me able to have the same rootfs usable in dual boot?There are programs where you want to be more comfortable or need to access the GPU, or the real hardware without having to deal with a virtualizer, therefore if you share a partition you are already ready, since you can reboot the machine into linux and files will be already there.

author: legacy
author_rank: Super Contributor
timestamp: June 20, 2017, 09:54:31 am
content: Quote from: blueskull on June 20, 2017, 08:02:38 amRecover what? Also why should I have to duplicate the rootfs, which requires effort in order to have things compiled, installed, and configured (usually also hacked) in the proper why?No sense.Quote from: blueskull on June 20, 2017, 08:02:38 amCode:nc blablala | dd if=hd-image of=/dev/sda*Does the job.Note the physical hd-image (raw) file can stay on a remote server as well as on a USB-stick.Quote from: blueskull on June 20, 2017, 08:02:38 amThat's another annoying problem you have with virtualdisks as "sparse" doesn't work. Also, why should I have to waste harddrive space on my Windows's partition? *WHEN* I'd better have a native linux partition on the same harddrive which1) can be accessedmore safelyfrom the virtualizer (directly access uses the LBA api)2) can be accessed from a linux kernel without any-software layer under the hood3) can be accessed from another machine if I hot-swap the harddriveAgain, no sense.Quote from: blueskull on June 20, 2017, 08:02:38 amOn XP the GPU support sucks, and can do professional job from MobaXterm? Like video editing?

author: nctnico
author_rank: Super Contributor
timestamp: June 20, 2017, 11:21:09 am
content: Quote from: legacy on June 20, 2017, 09:54:31 amIt makes perfect sense. Once the system is setup you make a snapshot and do that every time you make a big change to the system. When things go bad you restore the last-known-good snapshot. Works like a charm. I'm using XP in a VM and when it starts to behave bad I simply restore the snapshot and all is well again.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 01:41:39 pm
content: "My points came from my own experience, which I'm NOT a heavy user of VM."Vmware is extremely easy to use, and very reliable, can be used in both direction Linux <> WIN , WIN <> Linux , and if you are a MAc guy, have fusion that is the Mac version of VMware.Vmware is the multimeter of software, there you can make records rollback, OS, Testing in different environments, software , networks , Control versioning, is simple a mandatory tool if you are involved in TI or software development

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 01:45:02 pm
content: " Linux is definitely growing for engineering use"From 0.2% to 0,4% market share will be doubled

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 02:15:52 pm
content: Quote from: ebclr on June 20, 2017, 01:45:02 pmA lot of new developments of software have been done on macOS... Well it is not Linux but it is still UNIX. And things may be as simple as recompile and run from macOS code base.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 02:34:46 pm
content: Same on Windowshttps://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 03:11:12 pm
content: Quote from: ebclr on June 20, 2017, 02:34:46 pmNot quite. I have much more success trying to move code between Linux (Ubuntu) and macOS. But whenever Windows gets involved it becomes troublesome. Especially when hardware access is involved, like serial ports or USB.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 03:45:03 pm
content: Are you kidding, Windows just love serial ports, just need to remember that ports in windows are COM ports like COM1 ,COM2 not files

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 04:17:53 pm
content: Quote from: ebclr on June 20, 2017, 03:45:03 pmThe termios are vastly different between UNIX and Windows. And don't get me started on the access permissions. Oh and you did not solve the USB problem.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 04:22:03 pm
content: What is the USB problem?http://libusb.info/

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 04:31:53 pm
content: Quote from: ebclr on June 20, 2017, 04:22:03 pmYou go ahead and try get a random libusb driversigned. Keep in mind that since Windows 8 it takes the user a few hoops to disable the mandatory driver code signing.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 04:36:39 pm
content: You have at least 3 easy options1) The drivers is available and signed if the supplier is smart enough to care about 90% of the market2) You can easily tell windows to not enforce the rule3) You sign the driver yourself

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 04:43:38 pm
content: Quote from: ebclr on June 20, 2017, 04:36:39 pmWho is the vendor in the first place? Think from an end user's point of view.Quote from: ebclr on June 20, 2017, 04:36:39 pmSignificant numbers of loops and hoops have to be through. Think from an end user's point of view.Quote from: ebclr on June 20, 2017, 04:36:39 pmCan an average Joe with a computer be nothered to do this? Think from an end user's point of view.

author: ebclr
author_rank: Super Contributor
timestamp: June 20, 2017, 04:54:49 pm
content: You are right, will be much easier for the average Joe learn Linux, open the terminal, install the device and the software, Linux is made for Joe six pack, Windows is for PHD's only

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 04:59:36 pm
content: Quote from: ebclr on June 20, 2017, 04:54:49 pmWrong. Windowsdevice driver developmentis formegacorporationsonly. For average Joe there is Android (and in some cases iOS) so you got UNIX there.

author: legacy
author_rank: Super Contributor
timestamp: June 20, 2017, 05:27:19 pm
content: EagleCAD needs EC_get_builtin_curves, defined by OpenSSL, so EagleCAD depends on OpenSSL, and it makes sense.UAU

author: legacy
author_rank: Super Contributor
timestamp: June 20, 2017, 05:33:17 pm
content: At least on Windows you can simply provide a local dll, problem solved.On linuxI am going to fix && recompile { dev-libs/openssl, dev-libs/openssh } ebuilds, just to include what is required by EagleCAD, with the hope (finger crosses) that it won't break something.

author: nctnico
author_rank: Super Contributor
timestamp: June 20, 2017, 05:47:00 pm
content: The fault is in trying to compile from source. Just look for a pre-build binary.

author: legacy
author_rank: Super Contributor
timestamp: June 20, 2017, 06:08:30 pm
content: Quote from: nctnico on June 20, 2017, 05:47:00 pmDo you really think I'd waste my time compiling stuff if I was allowed to use pre-build binaries? A bit naive, don't you think?Now there is another freaking problem: Eagle needs some potentially patent encumbered code in a library that it depends on, and I am not sure *IF* I am authorized to recompile SLL with EC

author: technix
author_rank: Super Contributor
timestamp: June 20, 2017, 11:31:07 pm
content: Quote from: legacy on June 20, 2017, 05:33:17 pmThis is a trick very well documented by Apple but it works on all UNIX: rpath.

author: alm
author_rank: Super Contributor
timestamp: June 21, 2017, 09:32:13 am
content: Or do what many closed source applications do, and launch via a shell script which sets LD_LIBRARY_PATH. You can also do this if you do not have the source to the binary.

author: technix
author_rank: Super Contributor
timestamp: June 21, 2017, 09:45:38 am
content: Quote from: alm on June 21, 2017, 09:32:13 amrpath is much easier to use, if you have the source to the library and binaryIt is extremely well documented by Apple because of the App Store distribution model: one portable container and one portable container only, no installer or putting libraries elsewhere allowed. Here is the typical layout of an application with libraries embedded (in Apple vocabulary libraries are called Frameworks:)Code:/Applications/MyApp.app/Contents/MacOS/MyApp (the actual executable)Info.plistResources/MainWindow.nib (resources - this is just an example)AppIcon.icnsFraneworks/MyFramework.framework/MyFramework (the actual dynamic library file)Frameworks/ (Dynamic library files can carries even more library files this way.)In this case, the MyApp binary links to MyFramework dynamic library using a path like this:Code:$rpath/../Frameworks/MyFramework.framework/MyFramework

author: alm
author_rank: Super Contributor
timestamp: June 21, 2017, 11:12:20 am
content: Absolutely, rpath is superior if you have the source. The LD_LIBRARY_PATH can trick getting help third-party stuff to run.

author: legacy
author_rank: Super Contributor
timestamp: June 21, 2017, 01:23:32 pm
content: As expected I am not authorized to change sshEagleCAD v6.* is not affected.EagleCAD v7 is affected, as it requires ECTherefore I created a local library which contains EC, then I renamed /opt/eaglecad-v7.*/bin/eagle (the binary ELF application) into eagle-app, and created a wrapper with the name /opt/eaglecad-v7.*/bin/eagleThe wrapper uses app-admin/chrpath which modifies the rpath of the ELF executable.The local library is within the same path. Problem solved.

author: cdev
author_rank: Super Contributor
timestamp: June 24, 2017, 08:22:24 pm
content: Is there any chance that the manufacturers could write their IDEs in Java so it could be portable from one hardware platform to another?You would think they would want to, with the popularity of Chromebooks, etc, in the educational arena.

author: technix
author_rank: Super Contributor
timestamp: June 25, 2017, 03:53:20 am
content: Quote from: evb149 on June 24, 2017, 09:05:29 pmFrom the proprietary point of view, assuming the company absolutely does not want to fess up a single line of the code to the community, it is still possible to create a portable IDE or toolchain using cross platform open source projects:* LLVM/clang is licensed under MIT license. A company can add code into this and release the resulting code under a proprietary license without source code. LLVM/clang have built-in assembler and linker so there is no need to find an alternative to those components.* Eclipse allows proprietary plugins to be included without extending EPL to it, so a company can use Eclipse-based IDE for their chips.* There are multiple libc implementations licensed under MIT, BSD or ISC licneses. The company can choose one and modify it as needed to build theirown C standard library.