Opened 14 years ago

Closed 14 years ago

#22347 closed defect (fixed)

kdepimlibs4 @4.3.3 - Fails to build (wrong libical?)

Reported by: andy@… Owned by: nerdling (Jeremy Lavergne)
Priority: Low Milestone:
Component: ports Version:
Keywords: Cc: sharky@…
Port: kdepimlibs4

Description

I am having similar issues reported in ticket 19140. Unfortunately it won't let me edit that ticket, so I'm creating a new one.

I'm building on Leopard on an Intel MacBook Pro with XCode version 3.1.3.

I uninstalled all my installed ports and tried to install amarok from scratch. I get as far as building kdepimlibs4 and then get an error:

Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_kdepimlibs4/work/build" && /usr/bin/make -j1 all " returned error 2
Command output:       KCal::ICalTimeZoneData::ICalTimeZoneData(KTimeZoneData const&, KTimeZone const&, QDate const&)in icaltimezones.o
      KCal::ICalTimeZoneSource::parse(icalcomponent_impl*)      in icaltimezones.o
      KCal::ICalTimeZoneSource::parse(QString const&, KCal::ICalTimeZones&)in icaltimezones.o
  "_icalproperty_get_x_name", referenced from:
      KCal::ICalFormatImpl::Private::readCustomProperties(icalcomponent_impl*, KCal::CustomProperties*)    in icalformat_p.o
      KCal::ICalTimeZoneData::ICalTimeZoneData(KTimeZoneData const&, KTimeZone const&, QDate const&)in icaltimezones.o
      KCal::ICalTimeZoneSource::parse(icalcomponent_impl*)      in icaltimezones.o
  "_icalproperty_new_location", referenced from:
      KCal::ICalFormatImpl::writeLocation(QString const&, bool)in icalformat_p.o
  "_icalvalue_isa", referenced from:
      KCal::ICalFormatImpl::readAttachment(icalproperty_impl*)       in icalformat_p.o
  "_icaltimezone_get_builtin_timezone_from_tzid", referenced from:
      KCal::ICalTimeZoneSource::standardZone(QString const&, bool)in icaltimezones.o
  "_icalparser_parse_string", referenced from:
      KCal::ICalFormat::parseFreeBusy(QString const&) in icalformat.o
      KCal::ICalFormat::parseScheduleMessage(KCal::Calendar*, QString const&)in icalformat.o
  "_icalproperty_get_tzid", referenced from:
      KCal::ICalTimeZoneSource::parse(icalcomponent_impl*)      in icaltimezones.o
  "_icalparameter_new_x", referenced from:
      KCal::ICalFormatImpl::writeAttachment(KCal::Attachment*)     in icalformat_p.o
      KCal::ICalFormatImpl::writeAttachment(KCal::Attachment*)     in icalformat_p.o
      KCal::ICalFormatImpl::writeAttachment(KCal::Attachment*)     in icalformat_p.o
      KCal::ICalFormatImpl::writeAttendee(KCal::Attendee*)    in icalformat_p.o
  "_icalproperty_get_completed", referenced from:
      KCal::ICalFormatImpl::readICalDateTimeProperty(icalproperty_impl*, KCal::ICalTimeZones*, bool)in icalformat_p.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [lib/libkcal.4.3.0.dylib] Error 1
make[1]: *** [kcal/CMakeFiles/kcal.dir/all] Error 2
make: *** [all] Error 2

If I try and manually build from that directory, I get a warning:

Linking CXX shared library ../lib/libkcal.dylib
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_kdepimlibs4/work/build/kcal && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/kcal.dir/link.txt --verbose=1
/usr/bin/g++-4.2  -O2 -arch i386  -fno-common -Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -dynamiclib -headerpad_max_install_names -single_module -multiply_defined suppress -L/opt/local/lib -compatibility_version 4.0.0 -current_version 4.3.0 -o ../lib/libkcal.4.3.0.dylib -install_name /opt/local/lib/libkcal.4.dylib CMakeFiles/kcal.dir/kcal_automoc.o CMakeFiles/kcal.dir/versit/vcc.o CMakeFiles/kcal.dir/versit/vobject.o CMakeFiles/kcal.dir/incidencebase.o CMakeFiles/kcal.dir/incidence.o CMakeFiles/kcal.dir/journal.o CMakeFiles/kcal.dir/todo.o CMakeFiles/kcal.dir/event.o CMakeFiles/kcal.dir/freebusy.o CMakeFiles/kcal.dir/freebusyperiod.o CMakeFiles/kcal.dir/attendee.o CMakeFiles/kcal.dir/attachment.o CMakeFiles/kcal.dir/recurrencerule.o CMakeFiles/kcal.dir/recurrence.o CMakeFiles/kcal.dir/alarm.o CMakeFiles/kcal.dir/customproperties.o CMakeFiles/kcal.dir/calendar.o CMakeFiles/kcal.dir/calendarlocal.o CMakeFiles/kcal.dir/calformat.o CMakeFiles/kcal.dir/vcalformat.o CMakeFiles/kcal.dir/icalformat.o CMakeFiles/kcal.dir/icalformat_p.o CMakeFiles/kcal.dir/incidenceformatter.o CMakeFiles/kcal.dir/vcaldrag.o CMakeFiles/kcal.dir/icaldrag.o CMakeFiles/kcal.dir/exceptions.o CMakeFiles/kcal.dir/scheduler.o CMakeFiles/kcal.dir/imipscheduler.o CMakeFiles/kcal.dir/dummyscheduler.o CMakeFiles/kcal.dir/calfilter.o CMakeFiles/kcal.dir/person.o CMakeFiles/kcal.dir/period.o CMakeFiles/kcal.dir/duration.o CMakeFiles/kcal.dir/dndfactory.o CMakeFiles/kcal.dir/calstorage.o CMakeFiles/kcal.dir/filestorage.o CMakeFiles/kcal.dir/compat.o CMakeFiles/kcal.dir/resourcecalendar.o CMakeFiles/kcal.dir/resourcelocal.o CMakeFiles/kcal.dir/resourcelocalconfig.o CMakeFiles/kcal.dir/resourcelocaldir.o CMakeFiles/kcal.dir/resourcelocaldirconfig.o CMakeFiles/kcal.dir/resourcecached.o CMakeFiles/kcal.dir/resourcecachedconfig.o CMakeFiles/kcal.dir/calendarresources.o CMakeFiles/kcal.dir/qtopiaformat.o CMakeFiles/kcal.dir/htmlexport.o CMakeFiles/kcal.dir/calendarnull.o CMakeFiles/kcal.dir/freebusyurlstore.o CMakeFiles/kcal.dir/confirmsavedialog.o CMakeFiles/kcal.dir/icaltimezones.o CMakeFiles/kcal.dir/kresult.o CMakeFiles/kcal.dir/assignmentvisitor.o CMakeFiles/kcal.dir/comparisonvisitor.o CMakeFiles/kcal.dir/htmlexportsettings.o -L/opt/local/lib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_kdepimlibs4/work/build/lib /opt/local/lib/libkdeui.5.3.0.dylib /opt/local/lib/libkio.5.3.0.dylib -F/opt/local/libexec/qt4-mac/lib -framework QtXml ../lib/libkresources.4.3.0.dylib ../lib/libkabc.4.3.0.dylib ../lib/libkpimutils.4.3.0.dylib -framework libical /opt/local/lib/libicalss.dylib ../lib/libkresources.4.3.0.dylib ../lib/libkldap.4.3.0.dylib /opt/local/lib/libkutils.4.3.0.dylib /opt/local/lib/libkio.5.3.0.dylib /opt/local/lib/libkdeui.5.3.0.dylib -F/opt/local/libexec/qt4-mac/lib -framework QtSvg -F/opt/local/libexec/qt4-mac/lib -framework QtXml -F/opt/local/libexec/qt4-mac/lib -framework QtGui -F/opt/local/libexec/qt4-mac/lib -framework QtNetwork /opt/local/lib/libsolid.4.3.0.dylib /opt/local/lib/libkparts.4.3.0.dylib ../lib/libkmime.4.3.0.dylib /opt/local/lib/libkdecore.5.3.0.dylib -F/opt/local/libexec/qt4-mac/lib -framework QtDBus -F/opt/local/libexec/qt4-mac/lib -framework QtCore -lpthread -framework Carbon 

ld warning: in /Library/Frameworks//libical.framework/libical, file is not of required architecture

It appears to be attempting to link against a version of libical which is of the ppc architecture:

$ lipo -detailed_info /Library/Frameworks//libical.framework/libical
   input file /Library/Frameworks//libical.framework/libical is not a fat file
   Non-fat file: /Library/Frameworks//libical.framework/libical is architecture: ppc

I would think that it should be linking against /opt/local/lib/libical.dylib instead:

$ lipo -detailed_info libical.dylib 
Fat header in: libical.dylib
fat_magic 0xcafebabe
nfat_arch 2
architecture ppc
    cputype CPU_TYPE_POWERPC
    cpusubtype CPU_SUBTYPE_POWERPC_ALL
    offset 4096
    size 8440
    align 2^12 (4096)
architecture i386
    cputype CPU_TYPE_I386
    cpusubtype CPU_SUBTYPE_I386_ALL
    offset 16384
    size 293132
    align 2^12 (4096)

I'm a bit of a macports newbie, so not quite sure where to go to get it to find the correct libraries to link against.

Change History (8)

comment:1 Changed 14 years ago by andy@…

I managed to get it to build by hand-editing one of the CMake files:

vim /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_kdepimlibs4/work/build/kcal/CMakeFiles/kcal.dir/link.txt

Replacing -framework libical with /opt/local/lib/libical.dylib and re-running the make command seems to do the trick.

comment:2 Changed 14 years ago by jmroot (Joshua Root)

Cc: sharky@… added
Owner: changed from macports-tickets@… to snc@…

comment:3 Changed 14 years ago by nerdling (Jeremy Lavergne)

Status: newassigned
Version: 1.8.1

Can you verify this issue still exists in the new version, 4.3.3?

comment:4 Changed 14 years ago by nerdling (Jeremy Lavergne)

Resolution: wontfix
Status: assignedclosed

No followup in 2 weeks, closing.

comment:5 Changed 14 years ago by keith@…

I can verify this still exists for 4.3.3. The fix andy provided with not using framework allowed kdepimlibs4 to compile for me. Thanks!

comment:6 Changed 14 years ago by jmroot (Joshua Root)

Resolution: wontfix
Status: closedreopened

comment:7 Changed 14 years ago by nerdling (Jeremy Lavergne)

Priority: NormalLow
Summary: kdepimlibs4 @4.3.2 - Fails to build (wrong libical?)kdepimlibs4 @4.3.3 - Fails to build (wrong libical?)

I'm not convinced this is a typical error.

From what I can tell, the Framework doesn't typically exist and you'd have to have somehow told CMake to use that directory when looking for components.

I'm putting this to low priority since, while it would be nice to specify the path directly, it's a generated file that needs edited and only one person has this issue.

comment:8 Changed 14 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: reopenedclosed

Forced use of MacPorts' ical in r69545.

Note: See TracTickets for help on using tickets.