First time here? Check out the FAQ!
THIS IS A TEST INSTANCE. Feel free to ask and answer questions, but take care to avoid triggering too many notifications.
0

compiling on M1 Mac

  • retag add tags

I used brew and installed everything to compile wireshark. It compiles with no problem. I have started writing my dissector. Not every time, but the majority of the time I get the following error when trying to load my dissector on the same machine but different Instance of wireshark.

Couldn't load plugin 'gqi.so': dlopen(/Applications/Wireshark.app/Contents/PlugIns/wireshark/3-6/epan/gqi.so, 0x0002): tried: '/Applications/Wireshark.app/Contents/PlugIns/wireshark/3-6/epan/gqi.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

I have done the compile and running on the same machine an M1 mac.

Charlie

masoncha's avatar
1
masoncha
asked 2022-04-20 19:45:46 +0000
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

0

I get the following error when trying to load my dissector on the same machine but different Instance of wireshark.

Couldn't load plugin 'gqi.so': dlopen(/Applications/Wireshark.app/Contents/PlugIns/wireshark/3-6/epan/gqi.so, 0x0002): tried: '/Applications/Wireshark.app/Contents/PlugIns/wireshark/3-6/epan/gqi.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

"have 'arm64'" means that the gqi plugin was compiled for ARM64, not for x86-64.

"need 'x86_64'" means that the different instance of Wireshark was probably compiled for x86-64.

Plugins built for one platform can't be loaded by programs built for the other platform.

As of Wireshark 3.6.3, we provide both x86-64 and ARM64 builds of Wireshark. If you want to use your plugin on ARM64-based Macs, I suggest you install the ARM64 3.6.3 build on those machines, if they currently have an x86-64 build installed on them.

(Unfortunately, at least the last time we tried, we couldn't arrange to build all the libraries that Wireshark requires as universal binaries; doing so would be a requirement for building a universal version of Wireshark.

In addition, we currently don't compile Qt ourselves, and it looks as if the Qt Company doesn't provide universal binaries of their libraries. Perhaps we could download both and combine them with lipo, but I don't think we've tried it.

So producing universal binaries would require a fair bit of work.)

Guy Harris's avatar
19.9k
Guy Harris
answered 2022-04-24 19:05:20 +0000
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss.

Add Answer