Re: [tcpdump-workers] build failures on Solaris

2021-08-01 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Jul 31, 2021, at 4:35 PM, Denis Ovsienko  wrote:

> On Sat, 31 Jul 2021 14:55:32 -0700
> Guy Harris  wrote:
> 
> [...]
>> What version of CMake is being used, and how was it installed?
>> 
>> My Solaris 11 x86-64 virtual machine has CMake 2.8.6 in
>> /usr/ccs/bin/cmake, installed from Sun^WOracle's Image Packaging
>> System repositories, and I'm not seeing that behavior - the test
>> programs are linked with -lpcap, as is tcpdump.
> 
> This issue reproduces on OpenCSW host unstable11s:

So where do the Solaris 11 hosts show up on the buildbot site?

> # CMake 3.14.3 (OpenCSW package)
> # GCC 7.3.0
> 
> MATRIX_CC=gcc \
> MATRIX_CMAKE=yes \
> MATRIX_BUILD_LIBPCAP=no \
> ./build_matrix.sh 
> [...]
> $ /tmp/tcpdump_build_matrix.XXVrYyid/bin/tcpdump -D
> /tmp/tcpdump_build_matrix.XXVrYyid/bin/tcpdump: illegal option -- D
> tcpdump version 5.0.0-PRE-GIT
> libpcap version unknown
> 
> As I have discovered just now, it does not reproduce on OpenCSW host
> gcc211:

Probably some annoying combination of one or more of "different compilers", 
"later version of CMake", "at least some versions of cc and gcc build 32-bit 
binaries by default even on Solaris 11 on a 64-bit machine(!)", and so on.

This is going to take a fair bit of cleanup, not the least of which includes 
forcing build with both autotools *and* CMake to default to 64-bit builds on 
64-bit Solaris.--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Re: [tcpdump-workers] build failures on Solaris

2021-08-01 Thread Denis Ovsienko via tcpdump-workers
--- Begin Message ---
On Sun, 1 Aug 2021 15:45:39 -0700
Guy Harris  wrote:

[...]
> So where do the Solaris 11 hosts show up on the buildbot site?

They don't. Solaris 9 and 11 are not in any CI at all. OpenCSW Buildbot
runs on Solaris 10, but uses a single build script. I used OpenCSW
shell access to see how realistic it is to do a manual full matrix CI
on each Solaris version, and it had chased some bugs out. The gcc211
Solaris host had added to the list a bit (not yet described). That was
on SPARC.

If you would like to host a Solaris 11 Buildbot worker, it would need
Python 3.6 or newer plus the usual tools (CMake, git...). Also it would
need to be firewalled from private networks and to have means to
restore to a known-good snapshot conveniently if the VM becomes
compromised through a pull request. Buildbot workers run fine behind
NAT.

[...]
> > As I have discovered just now, it does not reproduce on OpenCSW host
> > gcc211:  
> 
> Probably some annoying combination of one or more of "different
> compilers", "later version of CMake", "at least some versions of cc
> and gcc build 32-bit binaries by default even on Solaris 11 on a
> 64-bit machine(!)", and so on.
> 
> This is going to take a fair bit of cleanup, not the least of which
> includes forcing build with both autotools *and* CMake to default to
> 64-bit builds on 64-bit Solaris.

For clarity, there is no rush to fix every obscure issue in this
problem space, but it is useful to have the problem space mapped.

One purpose for that would be stating something like "Only these
particular kinds of Solaris are expected/known to work if they meet
this and this requirement." in the documentation. I do not have a use
case for Solaris, so I cannot define such a baseline, so I had tried
everything that was available, for worse or better.

Another purpose would be to cover as much as possible at least with
easy manual pre-release matrix builds, and ideally with CI.

-- 
Denis Ovsienko
--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Re: [tcpdump-workers] build failures on Solaris

2021-08-01 Thread Guy Harris via tcpdump-workers
--- Begin Message ---
On Aug 1, 2021, at 6:08 PM, Denis Ovsienko  wrote:

> On Sun, 1 Aug 2021 15:45:39 -0700
> Guy Harris  wrote:
> 
>> Probably some annoying combination of one or more of "different
>> compilers", "later version of CMake", "at least some versions of cc
>> and gcc build 32-bit binaries by default even on Solaris 11 on a
>> 64-bit machine(!)", and so on.
>> 
>> This is going to take a fair bit of cleanup, not the least of which
>> includes forcing build with both autotools *and* CMake to default to
>> 64-bit builds on 64-bit Solaris.
> 
> For clarity, there is no rush to fix every obscure issue in this
> problem space, but it is useful to have the problem space mapped.

At this point, I'm seeing two problems:

1) The pcap-config and libpcap.pc that we generate always include a -L flag, 
even if the directory is a system include directory, which means that it could 
be wrong in a system with 32-bit and 64-bit libraries in separate directories.  
Debian removes that from pcap-config to avoid that problem.  We shouldn't add 
-L in that case.

2) Tcpdump needs to work around that when configuring.

The first is definitely our bug, given that Debian is working around it.

The second would be helpful; we already work around Apple screwing up 
pcap-config by having the one they ship with macOS include -L/usr/local/lib for 
no good reason.--- End Message ---
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers