[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gap-dev-discuss] Cynthiune build failure
From: |
Sebastian Reitenbach |
Subject: |
Re: [Gap-dev-discuss] Cynthiune build failure |
Date: |
Mon, 30 Apr 2012 15:34:16 +0200 |
User-agent: |
SOGoMail 1.3.14 |
Hi Philippe,
On Monday, April 30, 2012 14:11 CEST, Philippe Roussel <address@hidden> wrote:
> Le 30/04/2012 13:48, Sebastian Reitenbach a écrit :
> >
> > I'll just remove the musicbrainz header inclusion for now.
> >
> >
> > For me, linking works when I do:
> > ADDITIONAL_OBJCFLAGS=-DMUSEPACK_API_126 gmake disable-arts=yes
> > disable-windowsmedia=yes messages=yes
> >
> > Do you can run it again with make messages=yes to see what really happens?
> >
> > For me it looks like this, and just works:
> > gcc -Wl,-E -LFrameworks/Cynthiune/Cynthiune.framework/Versions/Current
> > -lCynthiune -pthread -fgnu-runtime -o Cynthiune.app/./Cynthiune \
> > ./obj/Cynthiune.obj/main.m.o ./obj/Cynthiune.obj/BundleManager.m.o
> > ./obj/Cynthiune.obj/CynthiuneAnimatedImageView.m.o
> > ./obj/Cynthiune.obj/CynthiuneController.m.o
> > ./obj/Cynthiune.obj/CynthiuneFadingTextField.m.o
> > ./obj/Cynthiune.obj/CynthiuneHeaderCell.m.o
> > ./obj/Cynthiune.obj/CynthiunePauseButton.m.o
> > ./obj/Cynthiune.obj/CynthiunePopUpButton.m.o
> > ./obj/Cynthiune.obj/CynthiuneSliderCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneSongTitleCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneTextCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneWindow.m.o
> > ./obj/Cynthiune.obj/DictionaryCoder.m.o
> > ./obj/Cynthiune.obj/FormatTester.m.o
> > ./obj/Cynthiune.obj/GeneralPreference.m.o
> > ./obj/Cynthiune.obj/InfoDisplayController.m.o
> > ./obj/Cynthiune.obj/M3UArchiver.m.o ./obj/Cynthiune.obj/MBResultsPanel.m.o
> > ./obj/Cynthiune.obj/Player.m.o ./obj/Cynthiune.obj/PlayerController.m.o
> > ./obj/Cynthiune.obj/PlayerPreference.m.o ./obj/Cynthiune.obj/Playlist.m.o
> > ./obj/Cynthiune.obj/PlaylistArchiver.m.o
> > ./obj/Cynthiune.obj/PlaylistController.m.o
> ./obj/Cyn
> thiune.obj/PlaylistView.m.o ./obj/Cynthiune.obj/PlaylistViewController.m.o
> ./obj/Cynthiune.obj/PLSArchiver.m.o
> ./obj/Cynthiune.obj/PreferencesController.m.o ./obj/Cynthiune.obj/Song.m.o
> ./obj/Cynthiune.obj/SongInspectorController.m.o
> -L/home/sebastia/GNUstep/Library/Libraries -L/usr/local/GS/lib
> -L/usr/local/lib -L/MingW/bin -lgnustep-gui -lgnustep-base -pthread
> -lobjc -lm
>
> Here it goes :
>
> > Making all for app Cynthiune...
> > gcc -rdynamic -LFrameworks/Cynthiune/Cynthiune.framework/Versions/Current
> > -lCynthiune -pthread -shared-libgcc -fexceptions -fgnu-runtime -o
> > Cynthiune.app/./Cynthiune \
> > ./obj/Cynthiune.obj/main.m.o ./obj/Cynthiune.obj/BundleManager.m.o
> > ./obj/Cynthiune.obj/CynthiuneAnimatedImageView.m.o
> > ./obj/Cynthiune.obj/CynthiuneController.m.o
> > ./obj/Cynthiune.obj/CynthiuneFadingTextField.m.o
> > ./obj/Cynthiune.obj/CynthiuneHeaderCell.m.o
> > ./obj/Cynthiune.obj/CynthiunePauseButton.m.o
> > ./obj/Cynthiune.obj/CynthiunePopUpButton.m.o
> > ./obj/Cynthiune.obj/CynthiuneSliderCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneSongTitleCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneTextCell.m.o
> > ./obj/Cynthiune.obj/CynthiuneWindow.m.o
> > ./obj/Cynthiune.obj/DictionaryCoder.m.o
> > ./obj/Cynthiune.obj/FormatTester.m.o
> > ./obj/Cynthiune.obj/GeneralPreference.m.o
> > ./obj/Cynthiune.obj/InfoDisplayController.m.o
> > ./obj/Cynthiune.obj/M3UArchiver.m.o ./obj/Cynthiune.obj/MBResultsPanel.m.o
> > ./obj/Cynthiune.obj/Player.m.o ./obj/Cynthiune.obj/PlayerController.m.o
> > ./obj/Cynthiune.obj/PlayerPreference.m.o ./obj/Cynthiune.obj/Playlist.m.o
> > ./obj/Cynthiune.obj/PlaylistArchiver.m.o
> > ./obj/Cynthiune.obj/PlaylistController.m.o
> ./obj/Cy
> nthiune.obj/PlaylistView.m.o ./obj/Cynthiune.obj/PlaylistViewController.m.o
> ./obj/Cynthiune.obj/PLSArchiver.m.o
> ./obj/Cynthiune.obj/PreferencesController.m.o ./obj/Cynthiune.obj/Song.m.o
> ./obj/Cynthiune.obj/SongInspectorController.m.o
> -L/home/philou/GNUstep/Library/Libraries -L/opt/GNUstep-trunk/lib
> -L/MingW/bin -lgnustep-gui -lgnustep-base -lpthread -lobjc -lm
> > ./obj/Cynthiune.obj/CynthiuneController.m.o:(.data.rel+0x4): undefined
> > reference to `__objc_class_name_MailService'
> > ./obj/Cynthiune.obj/PlaylistController.m.o: In function
> > `-[PlaylistController _feedPlaylistWithTreeOfFilenames:]':
> > /home/philou/sources/gap/user-apps/Cynthiune/PlaylistController.m:490:
> > undefined reference to `fileIsAReadableDirectory'
> > /home/philou/sources/gap/user-apps/Cynthiune/PlaylistController.m:495:
> > undefined reference to `fileIsAcceptable'
> > ./obj/Cynthiune.obj/PlaylistViewController.m.o: In function
> > `-[PlaylistViewController _acceptFilesInPasteboard:]':
> > /home/philou/sources/gap/user-apps/Cynthiune/PlaylistViewController.m:462:
> > undefined reference to `fileIsAReadableDirectory'
> > ./obj/Cynthiune.obj/Song.m.o: In function `-[Song _refreshSongInfos]':
> > /home/philou/sources/gap/user-apps/Cynthiune/Song.m:221: undefined
> > reference to `makeTitleFromFilename'
> > ./obj/Cynthiune.obj/Song.m.o: In function `-[Song _readInfos]':
> > /home/philou/sources/gap/user-apps/Cynthiune/Song.m:236: undefined
> > reference to `fileIsAcceptable'
> > ./obj/Cynthiune.obj/Song.m.o: In function `-[Song setFilename:]':
> > /home/philou/sources/gap/user-apps/Cynthiune/Song.m:259: undefined
> > reference to `fileIsAcceptable'
> > ./obj/Cynthiune.obj/Song.m.o: In function `-[Song
> > reverseCompareByPlaylistRepresentation:]':
> > /home/philou/sources/gap/user-apps/Cynthiune/Song.m:460: undefined
> > reference to `reverseComparisonResult'
> > ./obj/Cynthiune.obj/Song.m.o: In function `-[Song
> > reverseCompareByDuration:]':
> > /home/philou/sources/gap/user-apps/Cynthiune/Song.m:471: undefined
> > reference to `reverseComparisonResult'
> > collect2: ld a retourné 1 code d'état d'exécution
all those undefined references are supposed to come from libCynthiune.so. As I
can see, the path to it is given, and it should link against it:
-LFrameworks/Cynthiune/Cynthiune.framework/Versions/Current -lCynthiune
It seems to find your libCynthiune.so, otherwise I'd expected to have a
error/warning like unable to find -lCynthiune.
Do you can check that you do not have any other older libCynthiune.so.XXX
around somewhere, which might accidently get picked up?
Further, do you can check with nm, if the symbols are in the libCynthiune?
for example:
$ nm libCynthiune.so.0.0.1 | grep MailService
00000000 F MailService.m
200019a8 d _OBJC_CLASS_METHODS_MailService
20001a20 d _OBJC_CLASS_MailService
200019bc d _OBJC_INSTANCE_METHODS_MailService
200019e0 d _OBJC_METACLASS_MailService
2000003c R __objc_class_name_MailService
20001aa4 d __objc_class_ref_MailService
00002200 t _c_MailService__instance
00002150 t _i_MailService__composeBugReport
$ nm libCynthiune.so.0.0.1 | grep fileIsAReadableDirectory
00004110 T fileIsAReadableDirectory
How is libCynthiune linked? Can you also check that, with make messages=yes?
Sebastian
>
> gcc 4.6.1
>
> Philippe
>
- Re: [Gap-dev-discuss] Cynthiune build failure,
Sebastian Reitenbach <=