Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] testing changes to cross compiling native code in CDT


> On 3 Nov 2019, at 07:04, Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:
> 
> Hello folks,
> 
> Short version: Can a Mac user please test my change?

Short answer: it is difficult.

> The goal is to have all the native code built on our CI machines and as such I have updated our Docker image to Ubuntu 18.04 and installed on it all the tools needed to cross compile for win32-64, macosx and (natively) for Linux.

I don't know what are the goals of this development environment, but after spending countless hours on configuring build environments for my binary xPacks (https://xpack.github.io) I can tell that building for Linux and Mac is generally tricky because the resulting binaries can have references to the libraries available on the dev machine, which may not be present, or have difference versions, on the target machine.

Thus the need to build them on older versions and hope they are still compatible with new systems.

Since I had requests for my binaries to also work on old RHEL 6 (still around in many corporate environments), my Linux build box is a CentOS 6 (with many improvements for the tools, but basically the system libraries are the original CentOS 6 libraries).

Similarly for Macs, where I use an old Apple laptop running macOS 10.10. 

> I have started with the small serial library that is in CDT to see if this flow works. 

Regardless of functionality, you should check the resulting binaries (dll/so/dylib) for references to other libraries.

> Over the past weeks I have discussed offline with a few of you this upcoming change which I hope to roll out. I have now implemented building the serial dll/so/jnilib and I would like it if possible for a few people to test this change to make sure it works. I have checked on my Windows 10 and Ubuntu machines.

I suggest you also test on an older Linux, as old as reasonably possible.

> But I don't have access to a Mac, so would really appreciate it if someone can test on Mac.
> - plug in some dev board with serial port

This is a major problem for me, none of my boards have serial ports, and Macs no longer have serial ports for years, they have only usb ports. I may find a USB - DB9 adapter if I dig deep in my collection of gadgets, but these are tricky ones on Macs, since they require drivers, which might no longer work on modern macOS-es.

We need to think of alternate ways to test this.


Regards,

Liviu



Back to the top