[Gdal-dev] Compiling ECW JPEG 2000 SDK 3.2 beta

Bill Binko bill at binko.net
Tue Jun 21 03:24:22 EDT 2005


Armin, Tom:

After getting the beta to build (all of the libraries) the old way, I am 
still getting the segfault.

Armin, at this point, I think trying to use the beta with GDAL is not 
going to be productive.  If you're trying to get the ECW library by 
itself, that's a different matter.

I'm (unfortuately) tabling this until Frank gets back and has a chance to 
take a look.  

I am attaching a patch that does get GDAL to build with the new libs, but 
I am not sure where or how to best put in those calls that Tom mentioned.  
Therefore, it's of dubious worth.

Tom: did that patch make it into the beta?  If not, is there anything I 
can do to help with that?

Bill

On Tue, 21 Jun 2005, Tom Lynch wrote:

> That's a peculiar situation - the makefile for libNCSEcwC (see 'makefile' in 
> $INSTALL/Source/C/NCSEcw/NCSEcwC_SDK/) explicitly requires linkage to 
> libNCSEcw, libNCScnet and libNCSUtil, so you shouldn't be able to build it 
> without those libraries present on your system.
> 
> What are the contents of <install directory>/bin/<platform> after you run 
> the build script?
> 
> Also, what edits have you made to NCSNightlyBuildUnix.ksh? It is usually 
> necessary to edit the shebang line and the value of $NCSTOP - the shebang 
> line should point to your shell of choice, and $NCSTOP should be the dir in 
> which you unzipped the SDK archive.
> 
> Maybe the files are being created somewhere you don't expect them to be.
> 
> Tom.
> 
> 
> 
-------------- next part --------------
? .libs
? config.log
? libgdal.la
? libtool
? newbuild.patch
? alg/.libs
? apps/.libs
? frmts/ecw/.libs
? frmts/ecw/ecwcreatecopy.lo
? frmts/ecw/ecwdataset.lo
? frmts/ecw/jp2userbox.lo
? frmts/o/.libs
? frmts/o/ogdidataset.loT
? ogr/.libs
? ogr/dq3810nw.ecw
? ogr/ogrtindex
? ogr/ogrsf_frmts/o/.libs
? port/.libs
? pymod/.libs
? pymod/_gdalmodule.la
? pymod/gdal_wrap.lo
? pymod/gdalnumeric.lo
? pymod/numpydataset.lo
Index: configure
===================================================================
RCS file: /cvs/maptools/cvsroot/gdal/configure,v
retrieving revision 1.165
diff -U5 -r1.165 configure
--- configure	12 May 2005 06:39:08 -0000	1.165
+++ configure	21 Jun 2005 05:48:24 -0000
@@ -24414,17 +24414,17 @@
 
   echo "ECW support disabled."
 
 elif test "$with_ecw" = "yes" -o "$with_ecw" = "" ; then
 
-  echo "$as_me:$LINENO: checking for NCScbmOpenFileView in -lNCSEcw" >&5
-echo $ECHO_N "checking for NCScbmOpenFileView in -lNCSEcw... $ECHO_C" >&6
-if test "${ac_cv_lib_NCSEcw_NCScbmOpenFileView+set}" = set; then
+  echo "$as_me:$LINENO: checking for NCScbmOpenFileView in -lecwj2" >&5
+echo $ECHO_N "checking for NCScbmOpenFileView in -lecwj2... $ECHO_C" >&6
+if test "${ac_cv_lib_ecwj2_NCScbmOpenFileView+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lNCSEcw  $LIBS"
+LIBS="-lecwj2  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
@@ -24465,45 +24465,45 @@
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_NCSEcw_NCScbmOpenFileView=yes
+  ac_cv_lib_ecwj2_NCScbmOpenFileView=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_NCSEcw_NCScbmOpenFileView=no
+ac_cv_lib_ecwj2_NCScbmOpenFileView=no
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_NCSEcw_NCScbmOpenFileView" >&5
-echo "${ECHO_T}$ac_cv_lib_NCSEcw_NCScbmOpenFileView" >&6
-if test $ac_cv_lib_NCSEcw_NCScbmOpenFileView = yes; then
+echo "$as_me:$LINENO: result: $ac_cv_lib_ecwj2_NCScbmOpenFileView" >&5
+echo "${ECHO_T}$ac_cv_lib_ecwj2_NCScbmOpenFileView" >&6
+if test $ac_cv_lib_ecwj2_NCScbmOpenFileView = yes; then
   ECW_SETTING=yes
 else
   ECW_SETTING=no
 fi
 
 
   if test "$ECW_SETTING" = "yes" ; then
-    LIBS="-lNCSEcw $LIBS"
+    LIBS="-lecwj2 $LIBS"
   fi
 
 else
 
-  echo "$as_me:$LINENO: checking for libNCSEcw.so" >&5
-echo $ECHO_N "checking for libNCSEcw.so... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for libecwj2.so" >&5
+echo $ECHO_N "checking for libecwj2.so... $ECHO_C" >&6
   ECW_SETTING=yes
-  if test -r $with_ecw/lib/libNCSEcw.so ; then
-    LIBS="-L$with_ecw/lib -lNCSEcw $LIBS"
+  if test -r $with_ecw/lib/libecwj2.so ; then
+    LIBS="-L$with_ecw/lib -lecwj2 $LIBS"
     echo "$as_me:$LINENO: result: found in $with_ecw/lib." >&5
 echo "${ECHO_T}found in $with_ecw/lib." >&6
-  elif test -r $with_ecw/bin/libNCSEcw.so ; then
-    LIBS="-L$with_ecw/bin -lNCSEcw $LIBS"
+  elif test -r $with_ecw/bin/libecwj2.so ; then
+    LIBS="-L$with_ecw/bin -lecwj2 $LIBS"
     echo "$as_me:$LINENO: result: found in $with_ecw/bin." >&5
 echo "${ECHO_T}found in $with_ecw/bin." >&6
   else
     { { echo "$as_me:$LINENO: error: not found in $with_ecw/lib or $with_ecw/bin." >&5
 echo "$as_me: error: not found in $with_ecw/lib or $with_ecw/bin." >&2;}
Index: configure.in
===================================================================
RCS file: /cvs/maptools/cvsroot/gdal/configure.in,v
retrieving revision 1.143
diff -U5 -r1.143 configure.in
--- configure.in	12 May 2005 06:39:09 -0000	1.143
+++ configure.in	21 Jun 2005 05:48:24 -0000
@@ -859,25 +859,25 @@
 
   echo "ECW support disabled."
 
 elif test "$with_ecw" = "yes" -o "$with_ecw" = "" ; then
 
-  AC_CHECK_LIB(NCSEcw,NCScbmOpenFileView,ECW_SETTING=yes,ECW_SETTING=no,)
+  AC_CHECK_LIB(ecwj2,NCScbmOpenFileView,ECW_SETTING=yes,ECW_SETTING=no,)
 
   if test "$ECW_SETTING" = "yes" ; then   
-    LIBS="-lNCSEcw $LIBS"
+    LIBS="-lecwj2 $LIBS"
   fi
 
 else
 
-  AC_MSG_CHECKING([for libNCSEcw.so])
+  AC_MSG_CHECKING([for libecwj2.so])
   ECW_SETTING=yes
-  if test -r $with_ecw/lib/libNCSEcw.so ; then
-    LIBS="-L$with_ecw/lib -lNCSEcw $LIBS"
+  if test -r $with_ecw/lib/libecwj2.so ; then
+    LIBS="-L$with_ecw/lib -lecwj2 $LIBS"
     AC_MSG_RESULT([found in $with_ecw/lib.])
-  elif test -r $with_ecw/bin/libNCSEcw.so ; then
-    LIBS="-L$with_ecw/bin -lNCSEcw $LIBS"
+  elif test -r $with_ecw/bin/libecwj2.so ; then
+    LIBS="-L$with_ecw/bin -lecwj2 $LIBS"
     AC_MSG_RESULT([found in $with_ecw/bin.])
   else
     AC_MSG_ERROR([not found in $with_ecw/lib or $with_ecw/bin.])
   fi
 
Index: frmts/ecw/GNUmakefile
===================================================================
RCS file: /cvs/maptools/cvsroot/gdal/frmts/ecw/GNUmakefile,v
retrieving revision 1.9
diff -U5 -r1.9 GNUmakefile
--- frmts/ecw/GNUmakefile	2 Apr 2005 21:18:45 -0000	1.9
+++ frmts/ecw/GNUmakefile	21 Jun 2005 05:48:24 -0000
@@ -2,11 +2,11 @@
 
 include $(GDAL_ROOT)/GDALmake.opt
 
 OBJ	=	ecwdataset.o ecwcreatecopy.o jp2userbox.o
 
-CPPFLAGS	:=	$(GDAL_INCLUDE) -DFRMT_ecw $(CPPFLAGS)
+CPPFLAGS	:=	$(GDAL_INCLUDE) -DFRMT_ecw $(CPPFLAGS) -DLINUX -DPOSIX
 
 default:	$(OBJ)
 
 clean:
 	rm -f *.o $(O_OBJ)


More information about the Gdal-dev mailing list