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

Bug #1704459 reported by Mikael Arguedas on 2017-07-14
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
pcl (Ubuntu)
Status tracked in Artful
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned
Artful
Undecided
Unassigned
proj (Ubuntu)
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned
Artful
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!

Launchpad Janitor (janitor) wrote :

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

Changed in pcl (Ubuntu):
status: New → Confirmed
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.

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

I sponsored the two no-change rebuilds

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

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

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)

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

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

Nish Aravamudan (nacc) wrote :

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

@Nish got it, thanks!

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".

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.

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

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers