@@ -77,23 +77,35 @@ STARTEOF
7777 chmod +x " $APP_DIR /start.sh"
7878fi
7979
80- # Copy secp256k1 dylib
81- if [ " $ARCH " = " arm64" ]; then
82- SECP_LIB=" /Users/user0/arm64-deps/lib/libsecp256k1.dylib"
83- SECP_REAL=" /Users/user0/arm64-deps/lib/libsecp256k1.6.dylib"
84- else
85- SECP_LIB=" /usr/local/lib/libsecp256k1.dylib"
86- SECP_REAL=" /usr/local/lib/libsecp256k1.6.dylib"
87- fi
88- if [ -f " $SECP_REAL " ]; then
80+ # Copy secp256k1 dylib and fix load path
81+ # Detect the actual linked path from the binary (Homebrew may use Cellar paths
82+ # like /usr/local/opt/secp256k1/lib/ instead of /usr/local/lib/)
83+ LINKED_SECP=$( otool -L " $APP_DIR /c2pool" | grep secp256k1 | awk ' {print $1}' )
84+ if [ -n " $LINKED_SECP " ] && [ -f " $LINKED_SECP " ]; then
85+ SECP_REAL=$( realpath " $LINKED_SECP " )
8986 cp " $SECP_REAL " " $APP_DIR /lib/libsecp256k1.6.dylib"
9087 ln -sf libsecp256k1.6.dylib " $APP_DIR /lib/libsecp256k1.dylib"
91- # Fix dylib load path so binary finds the bundled lib
92- install_name_tool -change " $SECP_LIB " " @executable_path/lib/libsecp256k1.6.dylib" " $APP_DIR /c2pool" 2> /dev/null || true
93- install_name_tool -change " $SECP_REAL " " @executable_path/lib/libsecp256k1.6.dylib" " $APP_DIR /c2pool" 2> /dev/null || true
94- elif [ -f " $SECP_LIB " ]; then
95- cp " $SECP_LIB " " $APP_DIR /lib/libsecp256k1.dylib"
96- install_name_tool -change " $SECP_LIB " " @executable_path/lib/libsecp256k1.dylib" " $APP_DIR /c2pool" 2> /dev/null || true
88+ install_name_tool -change " $LINKED_SECP " " @executable_path/lib/libsecp256k1.6.dylib" " $APP_DIR /c2pool"
89+ echo " secp256k1: $LINKED_SECP -> @executable_path/lib/libsecp256k1.6.dylib"
90+ else
91+ # Fallback: try known paths
92+ if [ " $ARCH " = " arm64" ]; then
93+ SECP_SEARCH=" /Users/user0/arm64-deps/lib /opt/homebrew/lib"
94+ else
95+ SECP_SEARCH=" /usr/local/lib /usr/local/opt/secp256k1/lib"
96+ fi
97+ for DIR in $SECP_SEARCH ; do
98+ if [ -f " $DIR /libsecp256k1.6.dylib" ]; then
99+ cp " $DIR /libsecp256k1.6.dylib" " $APP_DIR /lib/libsecp256k1.6.dylib"
100+ ln -sf libsecp256k1.6.dylib " $APP_DIR /lib/libsecp256k1.dylib"
101+ # Try all possible linked names
102+ for CANDIDATE in " $DIR /libsecp256k1.dylib" " $DIR /libsecp256k1.6.dylib" ; do
103+ install_name_tool -change " $CANDIDATE " " @executable_path/lib/libsecp256k1.6.dylib" " $APP_DIR /c2pool" 2> /dev/null || true
104+ done
105+ echo " secp256k1: $DIR -> @executable_path/lib/libsecp256k1.6.dylib"
106+ break
107+ fi
108+ done
97109fi
98110
99111# Add a README
0 commit comments