[Debian-med-packaging] Bug#784929: subread: FTBFS on arm64, armel, armhf, ...
Wei Shi
shi at wehi.EDU.AU
Fri Sep 4 01:27:19 UTC 2015
Dear Alex,
Hope you are well. Just let you know that we have included complete documentation in our latest release 1.4.6-p5.
Best wishes,
Wei
On May 22, 2015, at 7:08 PM, Alex Mestiashvili wrote:
> Hi Wei,
>
> On 05/20/2015 01:09 AM, Wei Shi wrote:
>> Hi Alex,
>>
>> Thanks for testing our package and providing us the feedback.
>>
>> We will look into the getopt issue. If that is the only issue that caused problem for running Subread on ARM, I think we can fix it.
>
> The good news - ARM issues are solved by adding -fsigned-char to CCFLAGS.
> In this case subread works on architectures where char is by default unsigned such as armel, armhf and so on.
> And in this case there is no need to patch getopt.
>
> Though there are still problems on powerpc, mips and s390x:
> - subjunc test return Segmentation fault,
> - exactSNP test complains that it can not read the file
>
> here is the output:
> exactSNP FEOF 0!
> SAM file does not exist or is not accessible: 'data/test-in.BAM'
>
>>
>> Could you also please provide us your cppcheck results? We would like to know where memory leaks occur in the code and we can then fix them.
>
> Please see the attachment for the cppcheck output.
>
> Thank you,
> Alex
>
>> Best regards,
>>
>> Wei
>
>>
>> On May 15, 2015, at 10:59 PM, Alex Mestiashvili wrote:
>>
>>> Dear Wei,
>>>
>>> thank you for the quick answer.
>>>
>>> On 05/12/2015 01:59 AM, Wei Shi wrote:
>>>> Hi Alex,
>>>>
>>>> We have tested subread on both 32-bit and 64-bit Intel and AMD platforms and it works fine (the gcc flags you mentioned were all included). So I do not know what caused the installation failure. Maybe you can show us the errors you have encountered?
>>>
>>> I was not correct in the last email, the failure on i386 was related to the debian specific part of the build process.
>>> So both AMD64 and i386 are fine.
>>> The full build logs are located here: https://buildd.debian.org/status/logs.php?pkg=subread
>>>
>>> Regarding the -mtune option, My understanding is that tuning for a specific CPU shouldn't be used for a
>>> binary package which can be used on a wide range of CPUs.
>>> Currently I removed -mtune completely, but maybe -mtune=generic should be used instead of -mtune=core2.
>>>
>>> "generic"
>>> Produce code optimized for the most common IA32/AMD64/EM64T processors.
>>> If you know the CPU on which your code will run, then you should use the
>>> corresponding -mtune or -march option instead of -mtune=generic.
>>> But, if you do not know exactly what CPU users of your application will have,
>>> then you should use this option.
>>>
>>> https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
>>>
>>> The -msse and -msse2 flags are enabled by default for x86-64 compiler, so it should be no problem to strip them,
>>> and AFAIK SSE also implies support for MMX, so -mmmx flag is not needed too.
>>>
>>>> Currently, Subread only supports AMD and Intel architectures and we do not have a plan to support other platforms such as ARM.
>>>
>>> I see, In such case I'll limit the architectures for the package to the ones where it builds successfully and passes the tests.
>>>
>>> Just for your information, I tried to fix the getopt issue by defining "c" as int instead of char.
>>> The binaries were build successfully on ARM and other architectures, but the tests fail, you can see the results here:
>>>
>>> https://buildd.debian.org/status/logs.php?pkg=subread&ver=1.4.6-p2%2Bdfsg-3&suite=experimental
>>>
>>> Also the cppcheck reveals a lot of memory leaks in the code.
>>>
>>> Best regards,
>>> Alex
>>>
>>>>
>>>> On May 11, 2015, at 5:34 PM, Alex Mestiashvili wrote:
>>>>
>>>>> Dear Dr. Wei Shi,
>>>>>
>>>>> Debian supports many CPU architectures and building of subread failed on some of these architectures.
>>>>>
>>>>> 1. Due to quite specific -mtune and -mmmx -msse* gcc flags, subread failed to build almost on any architecture except amd64.
>>>>> This issue was fixed by removing -mtune and -mmmx -msse* flags from the src/Makefile.Linux.
>>>>> http://anonscm.debian.org/cgit/debian-med/subread.git/tree/debian/patches/gcc_flags_cleanup.patch
>>>>>
>>>>> 2. We still have an issue, now with exactSNP, please see the bug report below.
>>>>>
>>>>> Thank you,
>>>>> Alex
>>>>>
>>>>>
>>>>> -------- Forwarded Message --------
>>>>> Subject: [Debian-med-packaging] Bug#784929: subread: FTBFS on arm64, armel, armhf, ...
>>>>> Resent-Date: Sun, 10 May 2015 19:54:01 +0000
>>>>> Resent-From: Edmund Grimley Evans <edmund.grimley.evans at gmail.com>
>>>>> Resent-To: debian-bugs-dist at lists.debian.org
>>>>> Resent-CC: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
>>>>> Date: Sun, 10 May 2015 20:51:41 +0100
>>>>> From: Edmund Grimley Evans <edmund.grimley.evans at gmail.com>
>>>>> Reply-To: Edmund Grimley Evans <edmund.grimley.evans at gmail.com>, 784929 at bugs.debian.org
>>>>> To: submit at bugs.debian.org
>>>>>
>>>>> Source: subread
>>>>> Version: 1.4.6-p2+dfsg-2
>>>>>
>>>>> It failed to build on several architectures:
>>>>>
>>>>> https://buildd.debian.org/status/package.php?p=subread&suite=sid
>>>>>
>>>>> There seems to be a problem with (unsigned) char. See this file, for
>>>>> example:
>>>>>
>>>>> https://sources.debian.net/src/subread/1.4.6-p2%2Bdfsg-2/src/SNPCalling.c/
>>>>>
>>>>> This line:
>>>>>
>>>>> while ((c = getopt_long (argc, argv, "7:N:a:i:g:o:bQ:p:f:n:r:x:w:s:t:T:v4",snp_long_options, &optindex))!=-1)
>>>>>
>>>>> The function getopt_long returns int, but the value is assigned to a
>>>>> char c, which is unsigned on ARM architectures, so it will never be
>>>>> equal to -1. That is probably the immediate cause of the failure.
>>>>> However, there may be other char-related problems in there. I noticed,
>>>>> for example, that mask_snp_bitmap may be incorrect according to the C
>>>>> standard (signed overflow).
>>>>>
>>>>> _______________________________________________
>>>>> Debian-med-packaging mailing list
>>>>> Debian-med-packaging at lists.alioth.debian.org
>>>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging
>>>>>
>>>>>
>>>>
>>>>
>>>> ______________________________________________________________________
>>>> The information in this email is confidential and intended solely for the addressee.
>>>> You must not disclose, forward, print or use it without the permission of the sender.
>>>> ______________________________________________________________________
>>>
>>
>>
>> ______________________________________________________________________
>> The information in this email is confidential and intended solely for the addressee.
>> You must not disclose, forward, print or use it without the permission of the sender.
>> ______________________________________________________________________
>
> <cppcheck4subread.txt>
______________________________________________________________________
The information in this email is confidential and intended solely for the addressee.
You must not disclose, forward, print or use it without the permission of the sender.
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20150904/3512ef48/attachment-0001.html>
More information about the Debian-med-packaging
mailing list