gap-dev-discuss
[Top][All Lists]
Advanced

[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
>







reply via email to

[Prev in Thread] Current Thread [Next in Thread]