Hi fred,
You are right, libgnustep-corebase is linked with the GCC version of
libobjc (libobjc.so.3)
while the test tools are linked with gnustep libobjc
(/usr/local/lib/libobjc.so.4).
I don't know how this can happen and this is the first time for me.
It is probably a problem with the configure script of corebase as it
never happens with only GNUmake files, but I don't know how to correct it.
Benoît
$ ldd Tests/CFArray/obj/create
linux-vdso.so.1 => (0x00007fff71934000)
libgnustep-base.so.1.24 =>
/usr/GNUstep/Local/Library/Libraries/libgnustep-base.so.1.24
(0x00007f71e4c1a000)
libgnustep-corebase.so.0 => not found
/usr/local/lib/libobjc.so.4 (0x00007f71e49cc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f71e47af000)*
...
$ ldd Source/obj/libgnustep-corebase.so.0.0.1
linux-vdso.so.1 => (0x00007fff7093b000)
libobjc.so.3 => /usr/lib/x86_64-linux-gnu/libobjc.so.3
(0x00007f8464bb8000)
libicui18n.so.48 => /usr/lib/libicui18n.so.48 (0x00007f84647f0000)
libicuuc.so.48 => /usr/lib/libicuuc.so.48 (0x00007f8464485000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f8464268000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8463eab000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f8463c94000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f8463994000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f846369a000)
libicudata.so.48 => /usr/lib/libicudata.so.48 (0x00007f8462329000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8462125000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8465059000)
Le 26/05/2012 18:23, Fred Kiefer a écrit :
> The gdb backtrace that you sent looks like you have two different
> versions ob libobjc linked in. Could you please test, using ldd,
> whether this is the case. And if so, fix theroblem and try again.
>
> Fred
>
> On the road
>
> Am 26.05.2012 um 17:42 schrieb Benoît Garrigues <[email protected]
> <mailto:[email protected]>>:
>
>> Hi Stef,
>>
>> I tested revision 35163 on Ubuntu 12.04 64bits with
>> - clang 3.0 (from ubuntu)
>> - gnustep libobjc2 1.6.
>> - gnustep base 1.24
>>
>>
>> First, there are some warnings at compile time :
>>
>> Compiling file CFLocale.c ...
>> CFLocale.c:312:19: warning: result of comparison against a string
>> literal is unspecified (use strncmp instead) [-Wstring-compare]
>> if (context == (const void*)ICU_CALENDAR_KEY)
>> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> CFLocale.c:329:19: warning: result of comparison against a string
>> literal is unspecified (use strncmp instead) [-Wstring-compare]
>> if (context == (const void*)ICU_CALENDAR_KEY)
>> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 2 warnings generated.
>>
>> Compiling file NSCFError.m ...
>> NSCFError.m:48:10: warning: incompatible pointer types returning
>> 'CFErrorRef' (aka 'NSError *') from a function with result type
>> 'NSCFError *' [-Wincompatible-pointer-types]
>> return CFErrorCreate (NULL, domain, code, userInfo);
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 1 warning generated.
>>
>>
>>
>> Tests results : all tests have compilation warnings and most of them
>> produce a core dump.
>>
>>
>> $ make check
>> This is gnustep-make 2.6.2. Type 'make print-gnustep-make-help' for help.
>> Making check in Source ...
>> make[1]: Rien à faire pour « check ».
>> Making check in Tests ...
>> Checking for presence of test subdirectories ...
>> --- Running tests in CFArray ---
>>
>> CFArray/create.m:
>> Failed file: create.m aborted without running all tests!
>>
>> CFArray/mutablearray.m:
>> Failed file: mutablearray.m aborted without running all tests!
>> --- Running tests in CFAttributedString ---
>>
>> CFAttributedString/general.m:
>> Failed file: general.m aborted without running all tests!
>>
>> CFAttributedString/mutable.m:
>> Failed file: mutable.m aborted without running all tests!
>> --- Running tests in CFBinaryHeap ---
>>
>> CFBinaryHeap/general.m:
>> Failed file: general.m aborted without running all tests!
>> --- Running tests in CFCalendar ---
>>
>> CFCalendar/basic.m:
>> Failed file: basic.m aborted without running all tests!
>>
>> CFCalendar/create.m:
>> Failed file: create.m aborted without running all tests!
>> --- Running tests in CFCharacterSet ---
>>
>> CFCharacterSet/basic.m:
>> Failed file: basic.m aborted without running all tests!
>>
>> CFCharacterSet/mutable.m:
>> Failed file: mutable.m aborted without running all tests!
>> --- Running tests in CFData ---
>>
>> CFData/basic.m:
>> Failed file: basic.m aborted without running all tests!
>> --- Running tests in CFDate ---
>>
>> CFDate/basic.m:
>> Failed file: basic.m aborted without running all tests!
>> --- Running tests in CFDateFormatter ---
>>
>> CFDateFormatter/basic.m:
>> Failed file: basic.m aborted without running all tests!
>> --- Running tests in CFLocale ---
>>
>> CFLocale/create.m:
>> Failed file: create.m aborted without running all tests!
>>
>> CFLocale/displayvalues.m:
>> Failed build:
>>
>> CFLocale/identifier.m:
>> Failed build:
>>
>> CFLocale/values.m:
>> Failed file: values.m aborted without running all tests!
>> --- Running tests in CFNumber ---
>>
>> CFNumber/general.m:
>> Failed file: general.m aborted without running all tests!
>> --- Running tests in CFNumberFormatter ---
>>
>> CFNumberFormatter/create.m:
>> Failed file: create.m aborted without running all tests!
>>
>> CFNumberFormatter/format.m:
>> Failed build:
>>
>> CFNumberFormatter/parse.m:
>> Failed file: parse.m aborted without running all tests!
>> --- Running tests in CFRuntime ---
>>
>> CFRuntime/runtime.m:
>> Failed file: runtime.m aborted without running all tests!
>> --- Running tests in CFString ---
>>
>> CFString/create.m:
>> Failed build:
>>
>> CFString/encodings.m:
>> Failed file: encodings.m aborted without running all tests!
>>
>> CFString/format.m:
>> Failed build:
>>
>> CFString/general.m:
>> Failed file: general.m aborted without running all tests!
>>
>> CFString/mutablestring.m:
>> Failed build:
>> --- Running tests in CFTimeZone ---
>>
>> CFTimeZone/basic.m:
>> Failed file: basic.m aborted without running all tests!
>>
>> CFTimeZone/general.m:
>> Failed file: general.m aborted without running all tests!
>> --- Running tests in CFTree ---
>>
>> CFTree/basic.m:
>> Failed file: basic.m aborted without running all tests!
>> --- Running tests in CFURL ---
>>
>> CFURL/create.m:
>> Failed file: create.m aborted without running all tests!
>>
>> CFURL/escaping.m:
>> Failed build:
>>
>> CFURL/file_system_path.m:
>> Failed file: file_system_path.m aborted without running all tests!
>>
>> CFURL/ref_resolution.m:
>> Failed build:
>> --- Running tests in CFURLAccess ---
>>
>> CFURLAccess/basic.m:
>> Failed file: basic.m aborted without running all tests!
>> --- Running tests in CFUUID ---
>>
>> CFUUID/create.m:
>> Failed file: create.m aborted without running all tests!
>>
>> 27 Failed files
>> 8 Failed builds
>>
>>
>>
>> When launching CFArray/create test with gdb, the backtrace is the
>> following :
>>
>> Starting program:
>> /home/benoit/Projets/OpenSource/objc/GNUstep-anonymous/dev-libs/corebase/Tests/CFArray/obj/create
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library
>> "/lib/x86_64-linux-gnu/libthread_db.so.1".
>> Loading two versions of Protocol. The class that will be used is
>> undefined
>> Loading two versions of Object. The class that will be used is undefined
>> [New Thread 0x7ffff235f700 (LWP 26352)]
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x00007ffff708d687 in objc_msg_lookup_sender () from
>> /usr/local/lib/libobjc.so.4
>> (gdb) bt
>> #0 0x00007ffff708d687 in objc_msg_lookup_sender () from
>> /usr/local/lib/libobjc.so.4
>> #1 0x00007ffff7931142 in GSPrivateBuildStrings () at
>> /home/benoit/src/gnustep-base-1.24.0/Source/externs.m:239
>> #2 0x00007ffff7869cc3 in +[NSObject initialize] (self=<optimized
>> out>, _cmd=<optimized out>) at
>> /home/benoit/src/gnustep-base-1.24.0/Source/NSObject.m:1142
>> #3 0x00007ffff70844c4 in objc_send_initialize () from
>> /usr/local/lib/libobjc.so.4
>> #4 0x00007ffff70842b1 in objc_send_initialize () from
>> /usr/local/lib/libobjc.so.4
>> #5 0x00007ffff708d792 in objc_msg_lookup_sender () from
>> /usr/local/lib/libobjc.so.4
>> #6 0x00007ffff72d1807 in NSCFInitialize () at NSCFType.m:51
>> #7 0x00007ffff70823c6 in objc_send_load_message () from
>> /usr/local/lib/libobjc.so.4
>> #8 0x00007ffff7082ee7 in objc_resolve_class () from
>> /usr/local/lib/libobjc.so.4
>> #9 0x00007ffff7082fc3 in objc_resolve_class_links () from
>> /usr/local/lib/libobjc.so.4
>> #10 0x00007ffff7086e97 in __objc_exec_class () from
>> /usr/local/lib/libobjc.so.4
>> #11 0x00007ffff7de9306 in call_init (l=<optimized out>, argc=1,
>> argv=0x7fffffffdc68, env=0x7fffffffdc78) at dl-init.c:85
>> #12 0x00007ffff7de93df in call_init (env=<optimized out>,
>> argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at
>> dl-init.c:52
>> #13 _dl_init (main_map=0x7ffff7ffe2c8, argc=1, argv=0x7fffffffdc68,
>> env=0x7fffffffdc78) at dl-init.c:134
>> #14 0x00007ffff7ddb6ea in _dl_start_user () from
>> /lib64/ld-linux-x86-64.so.2
>> #15 0x0000000000000001 in ?? ()
>> #16 0x00007fffffffdf8d in ?? ()
>> #17 0x0000000000000000 in ?? ()
>>
>>
>> The test.log file is attached.
>>
>>
>> Best regards,
>> Benoît
>>
>>
>> Le 21/05/2012 17:42, Stefan Bidi a écrit :
>>> For those of you not familiar with the project, the GNUstep-corebase
>>> project is a free software implementation of the CoreFoundation library.
>>>
>>> I plan on making a release of GNUstep-corebase in a few weeks.
>>> Since this is the first release, and the code is still alpha quality
>>> at best, I have decided to do a prolonged testing phase. This
>>> testing phase will be split in 2 subphases.
>>>
>>> The first will be a 3 week period, ending June 10th. This will be
>>> the time to test the code and look for inconsistencies.
>>> Essentially, I want to make sure the code compiles in your favorite
>>> platform and all tests pass. New tests can be added to the existing
>>> CF-types only, there is no plans to add another type/class before
>>> the release. I will still be doing some work on the library at this
>>> time, but do not plan on adding anything new.
>>>
>>> The second phase will end on June 24th and will lead to the
>>> release. This is your normal code freeze. I'd like to get the bugs
>>> that were found during the previous phase corrected during this time
>>> if they were not already fixed. I really do not want to add any new
>>> tests at this stage unless it is something that can be easily
>>> fixed. Anything requiring a deeper look will be postponed to the
>>> next release.
>>>
>>> To build -corebase you will need gnustep-make, gnustep-base,
>>> libobjc, libicu and the zoneinfo directory. The dependency on
>>> gnustep-base and libobjc will be optional at the time of release.
>>> Being a pure C library, corebase doesn't need these libraries unless
>>> you want to interface with the objc runtime (ie toll-free bridged
>>> classes). I have not decided what to do with libicu at this point
>>> since it provides core functionality. If there is enough demand, it
>>> will be optional as well.
>>>
>>> Adam, would you be able to make the release during the week of June
>>> 24th? I can move the dates around if you need me to.
>>>
>>> Thanks
>>> Stef
>>>
>>>
>>> _______________________________________________
>>> Discuss-gnustep mailing list
>>> [email protected]
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>> <tests.log>
>> _______________________________________________
>> Discuss-gnustep mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep