rebuild needed because dependency changed location of exported libmpi.so library

Bug #1704459 reported by Mikael Arguedas
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
pcl (Ubuntu)
Fix Released
Undecided
Unassigned
Zesty
Fix Released
Undecided
Unassigned
Artful
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

 * This bug prevents users to link dynamically against pcl libraries
 * There is no upload required as rebuilding the package is enough to fix the bug

[Test Case]

 * install libpcl-dev
   * apt-get update && apt-get install libpcl-dev
 * mkdir -p /tmp/test_pcl/src && cd /tmp/test_pcl
 * echo "#include <pcl/common/io.h>" > src/foo.cpp
 * create a CMakeLists.txt
```
find_package(PCL REQUIRED)

option(BUILD_SHARED_LIBS "Build shared libs" ON)
include_directories(${PCL_INCLUDE_DIRS})
add_library(foolib src/foo.cpp)
target_link_libraries(foolib ${PCL_LIBRARIES})
```
 * mkdir build && cd build
 * cmake ..
 * make
This produces the error message:
```
make[2]: *** No rule to make target '/usr/lib/libmpi.so', needed by 'libfoolib.so'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/foolib.dir/all' failed
make[1]: *** [CMakeFiles/foolib.dir/all] Error 2
```

[Patch]
 * Rebuild the package
 * Test case passes once the package rebuilt

[Regression Potential]

 * Given that the patch is just a rebuild I don't see a potential for regression
Package: libpcl-dev (1.8.0+dfsg1-4ubuntu4) (on Zesty)

Source of the bug: last build of vtk6 exports libmpi.so in /usr/lib/x86_64-linux-gnu/openmpi/lib and not /usr/lib/openmpi/lib anymore.

Impact: unable to link libraries against pcl-dev without [hacky workaround](https://github.com/ros-perception/perception_pcl/commit/42683bd4069c3a8bcec56d6c4e686d9e8643e77b)

Changelog introducing the bug:
```
vtk6 (6.3.0+dfsg1-3) unstable; urgency=medium

  * Rebuild against new multiarch enabled openmpi, Closes: #848785
```

Solution: rebuild libpcl-dev against libvtk6-dev (6.3.0+dfsg1-3)

Thanks!

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pcl (Ubuntu):
status: New → Confirmed
Revision history for this message
Nish Aravamudan (nacc) wrote :

There appears to be a new pcl in artful-proposed which might fix this, but it failed to build on amd64 and arm64. The amd64 build failed due to virtual memory exhaustion.

Revision history for this message
Mikael Arguedas (mikael-arguedas) wrote :

SRU:

[Impact]

 * This bug prevents users to link dynamically against pcl libraries
 * There is no upload required as rebuilding the package is enough to fix the bug

[Test Case]

 * install libpcl-dev
   * apt-get update && apt-get install libpcl-dev
 * mkdir -p /tmp/test_pcl/src && cd /tmp/test_pcl
 * echo "#include <pcl/common/io.h>" > src/foo.cpp
 * create a CMakeLists.txt
```
find_package(PCL REQUIRED)

option(BUILD_SHARED_LIBS "Build shared libs" ON)
include_directories(${PCL_INCLUDE_DIRS})
add_library(foolib src/foo.cpp)
target_link_libraries(foolib ${PCL_LIBRARIES})
```
 * mkdir build && cd build
 * cmake ..
 * make
This produces the error message:
```
make[2]: *** No rule to make target '/usr/lib/libmpi.so', needed by 'libfoolib.so'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/foolib.dir/all' failed
make[1]: *** [CMakeFiles/foolib.dir/all] Error 2
```

[Patch]
 * Rebuild the package
 * Test case passes once the package rebuilt

[Regression Potential]

 * Given that the patch is just a rebuild I don't see a potential for regression

description: updated
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I sponsored the two no-change rebuilds

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Mikael, or anyone else affected,

Accepted pcl into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/pcl/1.7.2-14ubuntu1.16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in pcl (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed verification-needed-xenial
Changed in pcl (Ubuntu Zesty):
status: New → Fix Committed
tags: added: verification-needed-zesty
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Mikael, or anyone else affected,

Accepted pcl into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/pcl/1.8.0+dfsg1-4ubuntu4.17.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-zesty to verification-done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-zesty. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Mikael Arguedas (mikael-arguedas) wrote :

I tested the proposed package on Zesty (libpcl-dev amd64 1.8.0+dfsg1-4ubuntu4.17.04.1) with the test case mentioned above and it fixes this bug

tags: added: verification-done-zesty
removed: verification-needed-zesty
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

src:proj needs a rebuild too in xenial to be useful for its reverse-dependencies.

Changed in proj (Ubuntu Zesty):
status: New → Fix Released
Changed in proj (Ubuntu Artful):
status: New → Fix Released
Changed in proj (Ubuntu Xenial):
status: New → Fix Committed
no longer affects: proj (Ubuntu)
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

please reject proj, the issue is that pcl needs an explicit dependency, because vtk6 lost the direct one for the -dev package.

The really nice fix would have been to cherry-pick the vtk6 revert to use the internal proj library, but this is unfeasible since it is an ABI change. (see debian bug: #819741)

now, the smartest solution I could think is to add libproj-dev to pcl dependencies, even if this might result in an ABI break too.
https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/+packages
please test this package and specially pcl reverse-dependencies in xenial with this updated version

fixing vtk6 will require checks/rebuilds of ~10 reverse-dependencies (many of them might have been already built with the old vtk with embedded proj, so no change for them), while fixing pcl means only one reverse-dependency to check/fix
"ros-pcl-conversions"

so at the end, please test, and in case you agree with my analysis, reject proj and accept pcl

Changed in pcl (Ubuntu Artful):
status: Confirmed → Fix Released
Revision history for this message
Mikael Arguedas (mikael-arguedas) wrote :

Is there another action to be taken for the committed fix to be released in zesty-updates ?

Revision history for this message
Nish Aravamudan (nacc) wrote :

@Mikael, no further action, unless exceptional, pacakges in -proposed bake for 7 days.

Revision history for this message
Mikael Arguedas (mikael-arguedas) wrote :

@Nish got it, thanks!

Revision history for this message
Brian Murray (brian-murray) wrote : Proposed package upload rejected

An upload of proj to xenial-proposed has been rejected from the upload queue for the following reason: "https://bugs.launchpad.net/ubuntu/+source/pcl/+bug/1704459/comments/9".

Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for pcl has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pcl - 1.8.0+dfsg1-4ubuntu4.17.04.1

---------------
pcl (1.8.0+dfsg1-4ubuntu4.17.04.1) zesty; urgency=medium

  * No change rebuild for new vtk6 multiarchified openmpi.
    This fixes the build failures due to cmake trying
    to include the non-multiarch old file (LP: #1704459)

 -- Gianfranco Costamagna <email address hidden> Wed, 16 Aug 2017 14:35:23 +0200

Changed in pcl (Ubuntu Zesty):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

The xenial version of the upload FTBFS on all architectures [1]. Could someone take a look at the build logs and follow up with a fix? I have released the zesty version in the meantime as that one was fine.

https://launchpad.net/ubuntu/+source/pcl/1.7.2-14ubuntu1.16.04.1

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote : [pcl/xenial] verification still needed

The fix for this bug has been awaiting testing feedback in the -proposed repository for xenial for more than 90 days. Please test this fix and update the bug appropriately with the results. In the event that the fix for this bug is still not verified 15 days from now, the package will be removed from the -proposed repository.

tags: added: removal-candidate
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Proposed package removed from archive

The version of pcl in the proposed pocket of Xenial that was purported to fix this bug report has been removed because the bugs that were to be fixed by the upload were not verified in a timely (105 days) fashion.

tags: removed: verification-needed-xenial
Changed in pcl (Ubuntu Xenial):
status: Fix Committed → Won't Fix
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I'm sorry I couldn't fix the issue, lets think about bionic, because fixing xenial will probably make the package not ABI safe anymore :/

Changed in proj (Ubuntu Xenial):
status: Fix Committed → Won't Fix
Mathew Hodson (mhodson)
tags: removed: removal-candidate verification-needed
no longer affects: proj (Ubuntu Xenial)
no longer affects: proj (Ubuntu Zesty)
no longer affects: proj (Ubuntu Artful)
Mathew Hodson (mhodson)
no longer affects: pcl (Ubuntu Xenial)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.