[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gap-dev-discuss] Cynthiune build failure
From: |
Philippe Roussel |
Subject: |
Re: [Gap-dev-discuss] Cynthiune build failure |
Date: |
Mon, 30 Apr 2012 23:30:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 |
Hey Sebastian,
I got distracted by other things, I'll try to get back to you on this
tomorrow.
Philippe
Le 30/04/2012 15:34, Sebastian Reitenbach a écrit :
> 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
>>
>
>
>
>
>