From 21635a9fc0927b2b851f50cd57b1893dd07f7206 Mon Sep 17 00:00:00 2001 From: ImBenji Date: Fri, 29 Aug 2025 16:02:18 +0100 Subject: [PATCH] Fix nDPI protocol analyzer compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Properly link required libraries (json-c, pthread, math) and fail build if compilation fails instead of silencing the error. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- Dockerfile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7e14255..9b4ea5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,14 +49,15 @@ RUN echo "=== Searching for nDPI files ===" && \ echo "=== Checking pkg-config ===" && \ pkg-config --cflags libndpi 2>/dev/null || echo "pkg-config failed" -# Try multiple compilation approaches, create fallback if all fail -RUN (gcc -o protocol_analyzer protocol_analyzer.c $(pkg-config --cflags --libs libndpi) -lpcap) || \ - (gcc -o protocol_analyzer protocol_analyzer.c -I/usr/local/include -L/usr/local/lib -lndpi -lpcap) || \ - (gcc -o protocol_analyzer protocol_analyzer.c -I/usr/include -L/usr/lib -lndpi -lpcap) || \ - (echo "nDPI compilation failed, creating fallback analyzer" && \ - echo '#!/bin/bash' > protocol_analyzer && \ - echo 'echo "{\"protocol\":\"Unknown\",\"category\":\"Generic\",\"confidence\":0}"' >> protocol_analyzer && \ - chmod +x protocol_analyzer) +# Fix nDPI compilation with proper linking order and paths +RUN echo "=== Attempting nDPI compilation ===" && \ + ldconfig && \ + pkg-config --cflags --libs libndpi && \ + gcc -o protocol_analyzer protocol_analyzer.c \ + -I/usr/local/include -L/usr/local/lib \ + -lndpi -lpcap -ljson-c -lpthread -lm \ + && echo "✅ nDPI compilation successful" \ + || (echo "❌ nDPI compilation failed with exit code $?" && exit 1) # Compile the application RUN dart compile exe lib/main.dart -o waylume_server