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

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