[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [MoM] FAST progress (was Re: [MoM] fast: Add further dependencies to enable chroot / cowbuilder to build)



Hello Andreas,

Just to extend the previous email.

I created another fresh environment and even used pbuilder and the
results are the same, that the build succeeds.

Additionally, I have attempted to disable RPATH during the build but the
error and RPATH still exist, so I am not too sure. If a solution isn't
reached, I will write to debian mentors like you have mentioned. I'm not
sure if I can just use dpkg-shlibdeps -l<lib> for each executable but
this seems like a fair bit of pain to do for all the libraries and
executables that exist and are compiled.

Many thanks for looking into this & regards,
Shayan Doust

On 22/08/2019 15:03, Shayan Doust wrote:
> Hello Andreas,
> 
>> besides my hints below I now tried to build the package (please pull -
>> I've fixed pristine-tar to provide the now renamed source tarball).
> 
> Thanks. I've repackaged and updated a few times so I may have missed
> something out. I will also take your previous email into account.
> 
>> Unfortunately I'm running into:
> 
> I cannot seem to be able to replicate this even though I have used a
> chroot clean environment a few times. Maybe I'm setting some variable
> without even realising.
> 
>>     list(APPEND FAST_INCLUDE_DIRS /usr/include/eigen3/)
> 
> I've just set that although the build still succeeds so I am hoping this
> just reinforces the means of a more successful build.
> 
>>     FAST_EXTERNAL_INSTALL_DIR=/usr
> 
> May not be a good idea as it seems like this is used as the installation
> directory for when FAST used to download and compile the libraries it
> needed.
> 
> Regards,
> Shayan Doust
> 
> On 22/08/2019 09:44, Andreas Tille wrote:
>> Hi again,
>>
>> besides my hints below I now tried to build the package (please pull -
>> I've fixed pristine-tar to provide the now renamed source tarball).
>> Unfortunately I'm running into:
>>
>> ...
>> [  3%] Building CXX object CMakeFiles/FAST-STATIC.dir/source/FAST/Algorithms/AddTransformation/SetTransformation.cpp.o
>> /usr/bin/c++  -DFAST_CONTINUOUS_INTEGRATION -DFAST_MODULE_VISUALIZATION -I"/build/fast-3.0.0~rc3+ds/source" -I"/build/fast-3.0.0~rc3+ds/obj-x86_64-linux-gnu" -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/ x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt5/        QtOpenGL -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets -I/usr/include/openslide -I/include  -g -O2 -     fdebug-prefix-map=/build/fast-3.0.0~rc3+ds=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-ignored-attributes -fopenmp   -fPIC -std=gnu++14 -o CMakeFiles/FAST-  STATIC.dir/source/FAST/Algorithms/AirwaySegmentation/AirwaySegmentation.cpp.o -c "/build/fast-3.0.0~rc3+ds/source/FAST/Algorithms/AirwaySegmentation/AirwaySegmentation.cpp"
>> /usr/bin/c++  -DFAST_CONTINUOUS_INTEGRATION -DFAST_MODULE_VISUALIZATION -I"/build/fast-3.0.0~rc3+ds/source" -I"/build/fast-3.0.0~rc3+ds/obj-x86_64-linux-gnu" -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/ x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt5/        QtOpenGL -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets -I/usr/include/openslide -I/include  -g -O2 -     fdebug-prefix-map=/build/fast-3.0.0~rc3+ds=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-ignored-attributes -fopenmp   -fPIC -std=gnu++14 -o CMakeFiles/FAST-  STATIC.dir/source/FAST/Algorithms/AddTransformation/AddTransformation.cpp.o -c "/build/fast-3.0.0~rc3+ds/source/FAST/Algorithms/AddTransformation/AddTransformation.cpp"
>> /usr/bin/c++  -DFAST_CONTINUOUS_INTEGRATION -DFAST_MODULE_VISUALIZATION -I"/build/fast-3.0.0~rc3+ds/source" -I"/build/fast-3.0.0~rc3+ds/obj-x86_64-linux-gnu" -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/ x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt5/        QtOpenGL -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets -I/usr/include/openslide -I/include  -g -O2 -     fdebug-prefix-map=/build/fast-3.0.0~rc3+ds=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-ignored-attributes -fopenmp   -fPIC -std=gnu++14 -o CMakeFiles/FAST-  STATIC.dir/source/FAST/Algorithms/AddTransformation/SetTransformation.cpp.o -c "/build/fast-3.0.0~rc3+ds/source/FAST/Algorithms/AddTransformation/SetTransformation.cpp"
>> In file included from /build/fast-3.0.0~rc3+ds/source/FAST/Utility.hpp:4,
>>                  from /build/fast-3.0.0~rc3+ds/source/FAST/ProcessObject.hpp:3,
>>                  from /build/fast-3.0.0~rc3+ds/source/FAST/Algorithms/AddTransformation/AddTransformation.hpp:4,
>>                  from /build/fast-3.0.0~rc3+ds/source/FAST/Algorithms/AddTransformation/AddTransformation.cpp:1:
>> /build/fast-3.0.0~rc3+ds/source/FAST/Data/DataTypes.hpp:11:10: fatal error: Eigen/Dense: No such file or directory
>>    11 | #include <Eigen/Dense>
>>       |          ^~~~~~~~~~~~~
>> compilation terminated.
>> make[3]: *** [CMakeFiles/FAST-STATIC.dir/build.make:94: CMakeFiles/FAST-STATIC.dir/source/FAST/Algorithms/AddTransformation/AddTransformation.cpp.o] Error 1
>>
>>
>> when building in a pbuilder environment.  Since libeigen3-dev which provides
>> this header is in Build-Depends I wonder whether the include PATH needs to
>> be adjusted.  Looking at other places of the build log:
>>
>>
>> [  4%] Building CXX object CMakeFiles/FAST.dir/source/FAST/Algorithms/AirwaySegmentation/AirwaySegmentation.cpp.o
>> /usr/bin/c++  -DFAST_CONTINUOUS_INTEGRATION -DFAST_EXPORTS -DFAST_MODULE_VISUALIZATION -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB - DQT_SERIALPORT_LIB -DQT_WIDGETS_LIB -I"/build/fast-3.0.0~rc3+ds/source" -I"/build/fast-3.0.0~rc3+ds/obj-x86_64-linux-gnu" -I/usr/include/openslide -I/include -isystem /usr/include/x86_64-linux-gnu/qt5 -        isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ - isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtMultimedia -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/       QtMultimediaWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtSerialPort -isystem /usr/include/eigen3  -g -O2 -fdebug-prefix-map=/build/fast-3.0.0~rc3+ds=. -fstack-protector-strong -Wformat -Werror=format-  security -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-ignored-attributes -fopenmp -fPIC   -fPIC -fPIC -std=gnu++14 -o CMakeFiles/FAST.dir/source/FAST/Algorithms/AddTransformation/SetTransformation.cpp.o -c "/build/    fast-3.0.0~rc3+ds/source/FAST/Algorithms/AddTransformation/SetTransformation.cpp"
>>
>>
>> I see " -isystem /usr/include/eigen3 " - so may be this needs to be
>> sneaked in at some place where it is missing?  In your patches I see
>>
>> $ grep eigen3 debian/patches/*
>> debian/patches/prevent_cmake_downloading.patch:-list(APPEND FAST_INCLUDE_DIRS ${FAST_EXTERNAL_INSTALL_DIR}/include/eigen3/)
>> debian/patches/prevent_cmake_downloading.patch:+#list(APPEND FAST_INCLUDE_DIRS ${FAST_EXTERNAL_INSTALL_DIR}/include/eigen3/)
>>
>> which makes me wondering whether your attempt to prevent downloads
>> went to far.  May be setting
>>
>>     FAST_EXTERNAL_INSTALL_DIR=/usr
>>
>> (surely with the proper CMake syntax which I do not know by heart)
>> might do the trick and you can leave this.  Our you simply use
>>
>>     list(APPEND FAST_INCLUDE_DIRS /usr/include/eigen3/)
>>
>> At least this looks like a promising approach to me.
>>
>> Kind regards
>>
>>        Andreas.
>>
>> On Thu, Aug 22, 2019 at 06:34:24AM +0200, Andreas Tille wrote:
>>> Hi Shayan,
>>>
>>> On Wed, Aug 21, 2019 at 11:12:55PM +0100, Shayan Doust wrote:
>>>> Hello Andreas,
>>>>
>>>> For multiarch, I decided to move the shared object and static lib into
>>>> directory defined by DEB_HOST_MULTIARCH.
>>>
>>> I think this is correct and I did not observed any problems with this in
>>> the past.
>>>
>>>> As a result, during the dpkg_shlibdeps invoke when dh_shlibdeps is
>>>> reached in the package build process, I see a lot of errors. A snippet
>>>> is denoted as below:
>>>>
>>>> dpkg-shlibdeps: error: cannot continue due to the errors listed above
>>>> Note: libraries are not searched in other binary packages that do not
>>>> have any shlibs or symbols file.
>>>> To help dpkg-shlibdeps find private libraries, you might need to use -l.
>>>> dh_shlibdeps: dpkg-shlibdeps -Tdebian/fast.substvars
>>>> debian/fast/usr/lib/fast/OpenIGTLinkClient
>>>> debian/fast/usr/lib/fast/OpenIGTLinkServer returned exit code 2
>>>> dpkg-shlibdeps: error: cannot find library libFAST.so.0 needed by
>>>> debian/libfast-examples/usr/lib/fast/streamImagesFromDisk (ELF format:
>>>> 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/usr/lib/fast/../lib')
>>>>
>>>> Is the RPATH to blame?
>>>
>>> I did not yet managed to do a test build - hope to do this today.
>>> In any case your libs should not set RPATH:
>>>
>>>    https://wiki.debian.org/RpathIssue
>>>
>>>> I'm not too sure what I should do and I would
>>>> rather not trial and error with how long each build takes. The latest
>>>> commit reflects the state of my current workspace. Maybe I should have
>>>> looked into using include(GNUInstallDirs).
>>>
>>> I admit I do not have any advise at hand for the moment before I tried.
>>> If I do not come up with any clue later asking on
>>> debian-mentors@lists.debian.org is a promising approach.
>>>
>>>> Best Regards,
>>>> Shayan Doust
>>>
>>> Kind regards
>>>
>>>       Andreas.
>>>  
>>>> On 20/08/2019 20:42, Shayan Doust wrote:
>>>>> Hello Andreas,
>>>>>
>>>>>> Yes.  I'll have a look and may be I'll turn this into a d-shlibs call.
>>>>>> Thank you have an example.
>>>>>
>>>>> Sounds good. Although for my attempt I used install command to assign
>>>>> 755 permission to *.so when moved.
>>>>>
>>>>> I've sometimes found that maintainer consistency is fairly poor.
>>>>> Although there is a policy in place it seems like sometimes maintainers
>>>>> go their own ways which is fairly confusing, especially if that
>>>>> particular thing is not well documented.
>>>>>
>>>>> I will also push a couple more patches shortly with regards to the
>>>>> opencl header issue once this builds. That, and the ~rc version mangle.
>>>>>
>>>>>> May be we finalise this package in the next days.  I'll have a look and
>>>>>> might finish it if you don't mind.
>>>>>
>>>>> I'll still be as active as I am for the next couple of weeks, but it's
>>>>> just an advanced heads up as there is uncertainty with the whole moving
>>>>> out factor.
>>>>>
>>>>> Additionally, I am wondering how many packages to maintain before it
>>>>> gets "too much". Although I guess the hard work is just the initial
>>>>> packaging attempt. Apart from the whole week I was on holiday, I think
>>>>> this package just took its time in terms of its size but also
>>>>> understanding (from scratch) how libraries should be installed, and the
>>>>> 1 hr 30 mins of build times :).
>>>>>
>>>>> Best Regards,
>>>>> Shayan Doust
>>>>>
>>>>> On 20/08/2019 20:21, Andreas Tille wrote:
>>>>>> Hi Shayan,
>>>>>>
>>>>>> On Tue, Aug 20, 2019 at 07:14:33PM +0100, Shayan Doust wrote:
>>>>>>>
>>>>>>> Welcome back :).
>>>>>>
>>>>>> :-)
>>>>>>  
>>>>>>> I've probably checked gatb-core at least a dozen times before you sent
>>>>>>> this to me. I just never checked debian/patch as I didn't think this was
>>>>>>> some cmake thing :). Talked to upstream and they will take care of
>>>>>>> soversion within the next release and package update, but for now I just
>>>>>>> added this as a patch.
>>>>>>
>>>>>> Cool!
>>>>>>  
>>>>>>>> ...In this case the dynamic lib is added but you get the idea how to
>>>>>>>> add a static one from this patch...
>>>>>>>
>>>>>>> Thank you. This is done.
>>>>>>>
>>>>>>> If you have time, do you mind just checking fast package for me? There
>>>>>>> are still a few things I need to do with libfast-dev as I haven't done
>>>>>>> this yet. Where should *.a go? Should this go under
>>>>>>> /usr/lib/<arch>-linux-gnu?
>>>>>>
>>>>>> Yes.  I'll have a look and may be I'll turn this into a d-shlibs call.
>>>>>> Thank you have an example.
>>>>>>
>>>>>>> I know this can be set accordingly in
>>>>>>> debian/rules but I have seen *.a both in /usr/lib and
>>>>>>> /usr/lib/<arch>-linux-gnu. Same for *.so.
>>>>>>
>>>>>> The latter is the modern (=multiarch) one.  /usr/lib is just a left over
>>>>>> by not so properly maintaines packages.
>>>>>>
>>>>>>> I also see
>>>>>>> rc-version-greater-than-expected-version, presumably from how upstream
>>>>>>> brands the version. Should this be ignored or can this be safely rectified?
>>>>>>
>>>>>> You need to use
>>>>>>
>>>>>>    opts="uversionmangle=s/-rc/~rc/"
>>>>>>
>>>>>> in debian/watch and use ~rc in d/changelog.  The rationale is that '~'
>>>>>> sorts lower with `dpkg --compare-versions`.  So if upstream is issuing a
>>>>>> real release it is in correct alphabethic sequence and considered a
>>>>>> higher version if you drop ~rc (or ~beta or whatever upstream might
>>>>>> invent to mark a pre-release).
>>>>>>
>>>>>>> Additionally, productivity will start to decrease for only a few weeks
>>>>>>> to a month as I prepare to move out and into university accommodation.
>>>>>>
>>>>>> May be we finalise this package in the next days.  I'll have a look and
>>>>>> might finish it if you don't mind.
>>>>>>
>>>>>> Thanks for your great work
>>>>>>
>>>>>>      Andreas.
>>>>>>  
>>>>>>> On 19/08/2019 07:39, Andreas Tille wrote:
>>>>>>>> Hi Shayan,
>>>>>>>>
>>>>>>>> On Sun, Aug 18, 2019 at 05:53:01PM +0100, Shayan Doust wrote:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> Please disregard the previous email entirely just to save you time from
>>>>>>>>> writing, as I have finally figured things out.
>>>>>>>>
>>>>>>>> I'm slowly recovering from last week need to cope with some backlog.
>>>>>>>> Thus saving my time is pretty welcome. ;-)
>>>>>>>>
>>>>>>>>> fast should contain only executable binaries which in this case are
>>>>>>>>> openigt fast client and server binaries.
>>>>>>>>
>>>>>>>> Yes.
>>>>>>>>
>>>>>>>>> libfastSOVERSION should contain the shared / *.so only although grepping
>>>>>>>>> libFAST.so, there is no soversion. Is this libfast0 then?
>>>>>>>>
>>>>>>>> Several upstreams do not know about SOVERSION and once you contact them
>>>>>>>> you could try to talk about this as well.  If upstream does not set a
>>>>>>>> soversion we should do this.  In gatb-core you can find a simple example:
>>>>>>>>
>>>>>>>>    https://salsa.debian.org/med-team/gatb-core/blob/master/debian/patches/set_soversion.patch
>>>>>>>>
>>>>>>>> Yes, 0 is a good choice here and we need to bump the SOVERSION once
>>>>>>>> upstream might change the ABI (which frequently happens without any
>>>>>>>> notice - you see we are at version 2 in gatb-core meanwhile).
>>>>>>>>
>>>>>>>>> libfast-dev contains only the header files and the static library (*.a).
>>>>>>>>> I realised this can be done with the ar tool. Is it sensible to traverse
>>>>>>>>> the build directory and add all object files to archive to create a
>>>>>>>>> libfast.a?
>>>>>>>>
>>>>>>>> There is no need for manual intervention with ar.  CMake can do this
>>>>>>>> easily.  Once we have used gatb-core as an example we might stick to
>>>>>>>> this one:
>>>>>>>>
>>>>>>>>    https://salsa.debian.org/med-team/gatb-core/blob/master/debian/patches/dynamic_lib.patch
>>>>>>>>
>>>>>>>> In this case the dynamic lib is added but you get the idea how to
>>>>>>>> add a static one from this patch.
>>>>>>>>  
>>>>>>>>> I will now just slightly modify the existing debian/ files to
>>>>>>>>> accommodate these changes.
>>>>>>>>>
>>>>>>>>> Additionally, I will stick to modifying fast so I will not need the
>>>>>>>>> additional CL header files, so the dependency is now just opencl. I will
>>>>>>>>> talk to upstream about this.
>>>>>>>>
>>>>>>>> If this approach will work out that sounds like a good alternative
>>>>>>>> which was missing in my list.
>>>>>>>>
>>>>>>>>> Many thanks & hopefully this isn't an inconvenience,
>>>>>>>>
>>>>>>>> Definitely not.  Its a pleasure to see you growing into way more
>>>>>>>> complex packages.
>>>>>>>>
>>>>>>>> Kind regards
>>>>>>>>
>>>>>>>>        Andreas.
>>>>>>>>
>>>>>>>>> Shayan Doust
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------- Forwarded Message --------
>>>>>>>>> Subject: Re: [MoM] Re: fast: Add further dependencies to enable chroot /
>>>>>>>>> cowbuilder to build
>>>>>>>>> Resent-Date: Sat, 17 Aug 2019 13:16:24 +0000 (UTC)
>>>>>>>>> Resent-From: debian-med@lists.debian.org
>>>>>>>>> Date: Sat, 17 Aug 2019 14:16:05 +0100
>>>>>>>>> From: Shayan Doust <hello@shayandoust.me>
>>>>>>>>> To: debian-med@lists.debian.org
>>>>>>>>>
>>>>>>>>> Hello Andreas,
>>>>>>>>>
>>>>>>>>> Many thanks for taking the time to reply.
>>>>>>>>>
>>>>>>>>> Just a few side comments for whenever you next have the free time to
>>>>>>>>> reply :).
>>>>>>>>>
>>>>>>>>>> I had no time to check the packaging.  In any case I think if this is
>>>>>>>>>> a library package we usually ship libfast-dev (with header files and
>>>>>>>>>> static lib (*.a file(s) )), a dynamic library package libfastSOVERSION
>>>>>>>>>> and the executable in a fast package.
>>>>>>>>>
>>>>>>>>> I retained the original name as the package name "fast" and not
>>>>>>>>> "libfast". Maybe I should change this. Initially I was unsure as fast
>>>>>>>>> stands to framework and was unsure as to this relationship with a library.
>>>>>>>>>
>>>>>>>>> CMake only generates FAST as a shared object / *.so. I assume this is
>>>>>>>>> just what upstream wanted. Referring to deb policy 8.3, I don't see this
>>>>>>>>> as mandatory. If it is, maybe I'd need to use some tool or modify cmake
>>>>>>>>> to output *.a. Fast did however generate example binaries to which I
>>>>>>>>> split this off into fast-examples to install under /usr/lib/fast.
>>>>>>>>>
>>>>>>>>> There is no soversion when doing an objdump and grepping the SONAME from
>>>>>>>>> the generated *.so file. Does this therefore mean a soversion of simply
>>>>>>>>> 0 or does this now reflect upstream version. I think it's simply a
>>>>>>>>> mistake to simply move libFAST.so into /usr/lib as this doesn't have a
>>>>>>>>> soversion and has to be a symlink instead.
>>>>>>>>>
>>>>>>>>> I may have picked a fairly time consuming and confusing package until I
>>>>>>>>> wrap my head around how a library / "framework" should be packaged.
>>>>>>>>>
>>>>>>>>> Best Regards,
>>>>>>>>> Shayan Doust
>>>>>>>>>
>>>>>>>>> On 17/08/2019 10:17, Andreas Tille wrote:
>>>>>>>>>> Hi Shayan,
>>>>>>>>>>
>>>>>>>>>> I've found some spare minutes for a more explicit answer.  This week I
>>>>>>>>>> was pretty busy with real life (nursing my two grandsons is pretty much
>>>>>>>>>> a full time job :-P).
>>>>>>>>>>
>>>>>>>>>> On Wed, Aug 14, 2019 at 04:49:00PM +0100, Shayan Doust wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> So I contacted upstream regarding the failed test binary generation and
>>>>>>>>>>> they've acknowledged and fixed it. A query regarding test data needed
>>>>>>>>>>> for autopkgtest. As you said to avoid git or any downloading tools
>>>>>>>>>>> (curl, wget, ...) as a dependency,
>>>>>>>>>>
>>>>>>>>>> Its not a matter of trying to avoid some of these tools.  Per policy a
>>>>>>>>>> package needs to build on a machine that's disconnected from the
>>>>>>>>>> internet.  So it will just not work technically to download anything.
>>>>>>>>>> Its the same with autopkgtests.  So we need to provide everything we
>>>>>>>>>> need either as Debian package or inside the source tree.
>>>>>>>>>>
>>>>>>>>>>> how can I add the test datas to
>>>>>>>>>>> autopkgtest. The test data is zipped and is just over 2 GB large, so I
>>>>>>>>>>> didn't think patching this in would be sensible. The test data are to be
>>>>>>>>>>> downloaded from https://folk.idi.ntnu.no/smistad/FAST_Test_Data.zip
>>>>>>>>>>
>>>>>>>>>> I think 2GB data are to much to just move it to the debian/ dir.  So the
>>>>>>>>>> best idea would be to provide the test data in a separate package for
>>>>>>>>>> instance fast-data (or fast-test-data / fast-examples).  
>>>>>>>>>>
>>>>>>>>>>> Additionally, I've got another query regarding opencl. Upstream have
>>>>>>>>>>> their own modified version of the CL headers. Using diff, the only
>>>>>>>>>>> change they have done is add two *.hpp files into the CL header
>>>>>>>>>>> directory in /usr/include. Is it sensible to ever have opencl as a
>>>>>>>>>>> prerequisite / package dependency and then move over the two missing
>>>>>>>>>>> files into the CL directory when the user installs the fast package or
>>>>>>>>>>> should this sort of modification to external packages be avoided at all
>>>>>>>>>>> costs. I assume the other way would just be to have the fast opencl
>>>>>>>>>>> headers inside /usr/include/FAST and then patch all the fast headers to
>>>>>>>>>>> use the fast opencl headers in the new directory. CMake also generated
>>>>>>>>>>> some opencl *.cl files in a directory called "kernel" so I am not sure
>>>>>>>>>>> as to what I should do with this directory and its significance to FAST.
>>>>>>>>>>
>>>>>>>>>> I agree that having a full copy of OpenCL just to ship two extra files
>>>>>>>>>> makes no sense.  I see several options to consider:
>>>>>>>>>>
>>>>>>>>>>   1. May be it makes sense to forward these two files to OpenCL upstream.
>>>>>>>>>>      In any case it might make sense to talk to fast upstream / opencl
>>>>>>>>>>      Debian maintainers.
>>>>>>>>>>
>>>>>>>>>> You proposed yourself which does not involve others and thus is a faster
>>>>>>>>>> solution for the moment
>>>>>>>>>>
>>>>>>>>>>   2. Move these missing files inside a libfast-dev package and feed
>>>>>>>>>>      it into the opencl headers.  I admit while this would work I have
>>>>>>>>>>      a bad gut feeling about this.
>>>>>>>>>>
>>>>>>>>>>   3. Patch the files and ship the two additional files somewhere in
>>>>>>>>>>      /usr/include/fast
>>>>>>>>>>
>>>>>>>>>> I admit I prefer option 3. as a temporaty means until may be 1. can
>>>>>>>>>> be implemented.
>>>>>>>>>>  
>>>>>>>>>>> Looks like everything else is going fine. With this being the first
>>>>>>>>>>> library I've packaged I do expect some mistakes but luckily they won't
>>>>>>>>>>> be replicated within the next library I package :).
>>>>>>>>>>
>>>>>>>>>> I had no time to check the packaging.  In any case I think if this is
>>>>>>>>>> a library package we usually ship libfast-dev (with header files and
>>>>>>>>>> static lib (*.a file(s) )), a dynamic library package libfastSOVERSION
>>>>>>>>>> and the executable in a fast package.
>>>>>>>>>>
>>>>>>>>>> I have no time to verify whether these hints might make sense in this
>>>>>>>>>> actual case.
>>>>>>>>>>
>>>>>>>>>> Kind regards
>>>>>>>>>>
>>>>>>>>>>       Andreas.
>>>>>>>>>>
>>>>>>>>>>> On 11/08/2019 21:49, Shayan Doust wrote:
>>>>>>>>>>>> Hi Andreas,
>>>>>>>>>>>>
>>>>>>>>>>>>> I'm occupied by real life until next weekend - so my response time
>>>>>>>>>>>>> is way longer than usual.
>>>>>>>>>>>>
>>>>>>>>>>>> Not a worry at all & thanks for the needed information!
>>>>>>>>>>>>
>>>>>>>>>>>>> May be you can ask on debian-mentors@lists.debian.org meanwhile.
>>>>>>>>>>>>
>>>>>>>>>>>> As this is 3.0.0rc1 I will probably try out 3.0.0rc3 and then ask just
>>>>>>>>>>>> in case this was some upstream issue.
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards,
>>>>>>>>>>>> Shayan Doust
>>>>>>>>>>>>
>>>>>>>>>>>> On 11/08/2019 21:44, Andreas Tille wrote:
>>>>>>>>>>>>> Hi Shayan,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm occupied by real life until next weekend - so my response time
>>>>>>>>>>>>> is way longer than usual.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, Aug 11, 2019 at 01:25:22AM +0100, Shayan Doust wrote:
>>>>>>>>>>>>>> Hello Andreas,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> A few things changed since the previous email. I found a way of getting
>>>>>>>>>>>>>> the dependencies via another chroot environment and now the package
>>>>>>>>>>>>>> builds in cowbuilder with no troubles. My work routine usually goes
>>>>>>>>>>>>>> along the lines of getting stuck on something for a couple of hours,
>>>>>>>>>>>>>> emailing here on the mailing list then 30 mins later somehow managing to
>>>>>>>>>>>>>> fix whatever issue I was stuck on :).
>>>>>>>>>>>>>
>>>>>>>>>>>>> That's not very different to what happened quite frequently to me. ;-)
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am having some issues with moving libFAST.so. I am not sure if I
>>>>>>>>>>>>>> should simply use mv or use d-shlibmove. d-shlibmove just throws an
>>>>>>>>>>>>>> error with regards to dependencies not existing so if I am meant to use
>>>>>>>>>>>>>> d-shlibmove, please have a look at this in fast.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I personally like to use d-shlibmove since it prevents you from making
>>>>>>>>>>>>> several mistakes in library packaging.  However, since I habe no time
>>>>>>>>>>>>> to provide technical help this week its fine if you find any solution.
>>>>>>>>>>>>> Usually d-shlibmove turns out a bit tricky.  If something is missing
>>>>>>>>>>>>> you can try '--override' as for instance in the package libdisorder.
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Lintian is reporting package-name-doesnt-match-sonames. I believe this
>>>>>>>>>>>>>> is where I have to rename "fast" to "libFAST" for the package name. I am
>>>>>>>>>>>>>> also getting shlib-without-versioned-soname and I am unsure as to how
>>>>>>>>>>>>>> this is rectified.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I usually ignore these lintian issues when its not an actual library
>>>>>>>>>>>>> package.
>>>>>>>>>>>>>  
>>>>>>>>>>>>>> Compilation of the test binaries fail and I am even unable to build
>>>>>>>>>>>>>> these in an isolated system just using cmake so I assume this is some
>>>>>>>>>>>>>> sort of an upstream bug or even an incomplete wiki page with some
>>>>>>>>>>>>>> dependency not documented. I'll figure out something for this as usual.
>>>>>>>>>>>>>> Luckily all other informational lintian outputs can simply be fixed by
>>>>>>>>>>>>>> removing the unneeded directories like fonts. I can't think of anything
>>>>>>>>>>>>>> else to write at this time of night.
>>>>>>>>>>>>>
>>>>>>>>>>>>> May be you can ask on debian-mentors@lists.debian.org meanwhile.
>>>>>>>>>>>>>  
>>>>>>>>>>>>>> Thanks for your time & best regards,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Good luck
>>>>>>>>>>>>>
>>>>>>>>>>>>>      Andreas.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>> -- 
>>> http://fam-tille.de
>>>
>>>
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: