Ticket #1460 (closed defect: fixed)

Opened 1 year ago

Last modified 8 months ago

Kakadu and libtool are incompatible

Reported by: warmerdam Assigned to: mloskot
Priority: highest Milestone: 1.5.0
Component: GDAL_Raster Version: 1.4.0
Severity: normal Keywords: JP2KAK
Cc: battisti@actgate.com

Description (Last modified by mloskot)

(Original reporter is from ACT, a sponsor)

Attempts to build Kakadu support into GDAL when using libtool cause problems like this (in this case on MacOS X):

======================== 1) GDAL + Kakadu (5.2.2) ========================

When compiling GDAL with the jp2kak driver I need to enable the "--without-libtool" configure option, otherwise I get:

ld: Undefined symbols:
__ZN10jp2_colour4initE16jp2_colour_space
__ZN10jp2_source11read_headerEv
__ZN10jp2_source14access_paletteEv
__ZN10jp2_source15access_channelsEv
__ZN10jp2_sourceC1Ev
__ZN10jp2_target12write_headerEv
__ZN10jp2_target13access_colourEv
__ZN10jp2_target14access_paletteEv
__ZN10jp2_target15access_channelsEv
__ZN10jp2_target15open_codestreamEb
__ZN10jp2_target17access_dimensionsEv
__ZN10jp2_target4openEP14jp2_family_tgt
__ZN10jp2_targetC1Ev
__ZN10jp2_targetD1Ev
__ZN11jp2_palette12get_num_lutsEv
__ZN11jp2_palette15get_num_entriesEv
__ZN11jp2_palette4initEii
__ZN11jp2_palette7get_lutEiPf
__ZN11jp2_palette7set_lutEiPiib
__ZN12jp2_channels15get_num_coloursEv
__ZN12jp2_channels18get_colour_mappingEiRiS0_S0_
__ZN12jp2_channels18set_colour_mappingEiiii
__ZN12jp2_channels19get_opacity_mappingEiRiS0_S0_
__ZN12jp2_channels19get_premult_mappingEiRiS0_S0_
__ZN12jp2_channels19set_opacity_mappingEiiii
__ZN12jp2_channels4initEi
__ZN12kdu_roi_rectC1E14kdu_codestream8kdu_dims
__ZN14jp2_dimensions4initEP10siz_paramsb
__ZN14jp2_family_src4openEP21kdu_compressed_source
__ZN14jp2_family_src4openEPKcb
__ZN14jp2_family_src5closeEv
__ZN14jp2_family_tgt4openEPKc
__ZN14jp2_family_tgt5closeEv
__ZN14jp2_output_box5closeEv
/usr/bin/libtool: internal link edit command failed

Attachments

gdal-ticket-1460.patch (1.0 kB) - added by mloskot on 10/31/07 05:31:52.
Small patch presenting where is the problem and proposing simple solution to discuss.

Change History

03/26/07 16:33:31 changed by warmerdam

  • description changed.
  • milestone set to 1.5.0.

04/02/07 11:12:39 changed by warmerdam

  • priority changed from high to highest.
  • owner changed from warmerdam to mloskot.

Moving up to top priority for post 1.4.1 work as ACT is a sponsor.

04/04/07 10:56:14 changed by mloskot

  • status changed from new to assigned.

04/23/07 05:32:04 changed by mloskot

  • description changed.

04/23/07 06:00:45 changed by mloskot

Frank,

Do I need commercial version of the Kakadu SDK in order to reproduce/fix it ?

10/29/07 01:33:30 changed by mloskot

  • keywords set to JP2KAK.

10/31/07 05:31:52 changed by mloskot

  • attachment gdal-ticket-1460.patch added.

Small patch presenting where is the problem and proposing simple solution to discuss.

10/31/07 05:33:31 changed by mloskot

Frank,

The problem with libtool is that it ignores APPOBJ list of object files in frmts/jp2kak/GNUmakefile. I attached simple patch that solves the problem and now GDAL compiles and links with Kakadu support using both --with-libtool and --without-libtool configure options.

Could you review the proposed solution?

10/31/07 10:18:03 changed by warmerdam

Mateusz,

Generally this looks good, but could you perhaps move the object list into an includable makefile in gdal/frmts/jp2kak that can be pulled into GDALmake.opt, and the jp2kak/GNUmakefile? This would keep the list in just one place for future maintenance, and would avoid crufting up the GDALmake.opt so much.

Feel free to commit when ready.

11/12/07 17:36:21 changed by mloskot

  • status changed from assigned to closed.
  • resolution set to fixed.

Fixed in the trunk (r12740) and branches/1.4 (r12741)

11/13/07 10:33:26 changed by warmerdam

There was a small error which I have corrected in r12748 (trunk) and r12750 (1.4).