ros / ros-overlay

Gentoo Overlay for ROS packages
33 stars 30 forks source link

Kinetic install fails #244

Closed MalcolmMielle closed 7 years ago

MalcolmMielle commented 7 years ago

I'm trying to get kinetic to install but I'm hit by this error on emerging all the dependencies:

>>> Emerging (100 of 107) sci-libs/sdformat-4.2.0::ros-overlay
 * sdformat-4.2.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                         [ ok ]
>>> Unpacking source...
>>> Unpacking sdformat-4.2.0.tar.bz2 to /var/tmp/portage/sci-libs/sdformat-4.2.0/work
>>> Source unpacked in /var/tmp/portage/sci-libs/sdformat-4.2.0/work
>>> Preparing source in /var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0 ...
 * Applying urdfdom1.patch ...                                                         [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build"
cmake --no-warn-unused-cli -C /var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build/gentoo_common_config.cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr -DUSE_EXTERNAL_URDF=ON -DUSE_EXTERNAL_TINYXML=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build/gentoo_rules.cmake -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build/gentoo_toolchain.cmake  /var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0
Not searching for unused variables given on the command line.
loading initial cache file /var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- SDFormat version 4.2.0
-- 

====== Finding 3rd Party Packages ======
-- Using system tinyxml
-- Operating system is Linux
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "0.29.2") 
-- Building for arch: x86_64
-- Boost version: 1.65.0
-- Boost version: 1.65.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   program_options
--   regex
--   iostreams
-- Checking for module 'tinyxml'
--   No package 'tinyxml' found
-- Checking for module 'urdfdom>=0.3'
--   Found urdfdom, version 1.0.0
-- Found PY_psutil: /usr/lib64/python3.4/site-packages/psutil  
-- Found ruby executable: /usr/bin/ruby
-- Looking for ignition-math2-config.cmake - found
-- ----------------------------------------

-- Enable host CFlags
-- Enable upstream CFlags
-- Performing Test GCC_SUPPORTS_VISIBILITY
-- Performing Test GCC_SUPPORTS_VISIBILITY - Success
-- Performing Test R-Waddress
-- Performing Test R-Waddress - Success
-- Performing Test R-Warray-bounds
-- Performing Test R-Warray-bounds - Success
-- Performing Test R-Wcomment
-- Performing Test R-Wcomment - Success
-- Performing Test R-Wformat
-- Performing Test R-Wformat - Success
-- Performing Test R-Wnonnull
-- Performing Test R-Wnonnull - Success
-- Performing Test R-Wparentheses
-- Performing Test R-Wparentheses - Success
-- Performing Test R-Wreorder
-- Performing Test R-Wreorder - Success
-- Performing Test R-Wreturn-type
-- Performing Test R-Wreturn-type - Success
-- Performing Test R-Wsequence-point
-- Performing Test R-Wsequence-point - Success
-- Performing Test R-Wsign-compare
-- Performing Test R-Wsign-compare - Success
-- Performing Test R-Wstrict-aliasing
-- Performing Test R-Wstrict-aliasing - Success
-- Performing Test R-Wstrict-overflow=1
-- Performing Test R-Wstrict-overflow=1 - Success
-- Performing Test R-Wswitch
-- Performing Test R-Wswitch - Success
-- Performing Test R-Wtrigraphs
-- Performing Test R-Wtrigraphs - Success
-- Performing Test R-Wuninitialized
-- Performing Test R-Wuninitialized - Success
-- Performing Test R-Wunused-function
-- Performing Test R-Wunused-function - Success
-- Performing Test R-Wunused-label
-- Performing Test R-Wunused-label - Success
-- Performing Test R-Wunused-value
-- Performing Test R-Wunused-value - Success
-- Performing Test R-Wunused-variable
-- Performing Test R-Wunused-variable - Success
-- Performing Test R-Wvolatile-register-var
-- Performing Test R-Wvolatile-register-var - Success
-- Performing Test R-Wextra
-- Performing Test R-Wextra - Success
-- Performing Test R-Wno-long-long
-- Performing Test R-Wno-long-long - Success
-- Performing Test R-Wno-unused-value
-- Performing Test R-Wno-unused-value - Success
-- Performing Test R-Wfloat-equal
-- Performing Test R-Wfloat-equal - Success
-- Performing Test R-Wshadow
-- Performing Test R-Wshadow - Success
-- Performing Test R-Winit-self
-- Performing Test R-Winit-self - Success
-- Performing Test R-Wswitch-default
-- Performing Test R-Wswitch-default - Success
-- Performing Test R-Wmissing-include-dirs
-- Performing Test R-Wmissing-include-dirs - Success
-- Performing Test R-pedantic
-- Performing Test R-pedantic - Success
-- Performing Test R-Wno-pragmas
-- Performing Test R-Wno-pragmas - Success
CMake Error at CMakeLists.txt:191 (else):
  A duplicate ELSE command was found inside an IF block.

-- Configuring incomplete, errors occurred!
See also "/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build/CMakeFiles/CMakeOutput.log".
 * ERROR: sci-libs/sdformat-4.2.0::ros-overlay failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_configure
 *   environment, line 2954:  Called cmake-utils_src_configure
 *   environment, line  876:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=sci-libs/sdformat-4.2.0::ros-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sci-libs/sdformat-4.2.0::ros-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sci-libs/sdformat-4.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-libs/sdformat-4.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build'
 * S: '/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0'

>>> Failed to emerge sci-libs/sdformat-4.2.0, Log file:

>>>  '/var/tmp/portage/sci-libs/sdformat-4.2.0/temp/build.log'

 * Messages for package media-fonts/stix-fonts-2.0.0:

 * The following fontconfig configuration files have been installed:
 * 
 *   61-stix.conf
 * 
 * Use `eselect fontconfig` to enable/disable them.

 * Messages for package dev-libs/libsodium-1.0.14:

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 *  /usr/lib64/pkgconfig/libsodium.pc
 *  /usr/include/sodium.h
 *  /usr/include/sodium/crypto_shorthash_siphash24.h
 *  /usr/include/sodium/crypto_stream_xsalsa20.h
 *  /usr/include/sodium/crypto_generichash_blake2b.h
 *  /usr/include/sodium/crypto_secretbox.h
 *  /usr/include/sodium/randombytes_salsa20_random.h
 *  /usr/include/sodium/crypto_auth.h
 *  /usr/include/sodium/runtime.h
 *  /usr/include/sodium/crypto_onetimeauth_poly1305.h
 *  /usr/include/sodium/crypto_core_salsa2012.h
 *  /usr/include/sodium/crypto_core_salsa20.h
 *  /usr/include/sodium/crypto_sign_ed25519.h
 *  /usr/include/sodium/crypto_core_hchacha20.h
 *  /usr/include/sodium/crypto_box.h
 *  /usr/include/sodium/crypto_pwhash_argon2i.h
 *  /usr/include/sodium/crypto_verify_64.h
 *  /usr/include/sodium/crypto_verify_16.h
 *  /usr/include/sodium/crypto_pwhash_scryptsalsa208sha256.h
 *  /usr/include/sodium/crypto_aead_aes256gcm.h
 *  /usr/include/sodium/crypto_box_curve25519xchacha20poly1305.h
 *  /usr/include/sodium/crypto_stream_chacha20.h
 *  /usr/include/sodium/crypto_stream_xchacha20.h
 *  /usr/include/sodium/crypto_pwhash_argon2id.h
 *  /usr/include/sodium/crypto_pwhash.h
 *  /usr/include/sodium/crypto_stream_salsa2012.h
 *  /usr/include/sodium/crypto_stream_salsa20.h
 *  /usr/include/sodium/crypto_sign_edwards25519sha512batch.h
 *  /usr/include/sodium/crypto_hash_sha256.h
 *  /usr/include/sodium/crypto_secretstream_xchacha20poly1305.h
 *  /usr/include/sodium/crypto_scalarmult_curve25519.h
 *  /usr/include/sodium/crypto_auth_hmacsha256.h
 *  /usr/include/sodium/crypto_aead_xchacha20poly1305.h
 *  /usr/include/sodium/crypto_auth_hmacsha512256.h
 *  /usr/include/sodium/crypto_kdf_blake2b.h
 *  /usr/include/sodium/crypto_onetimeauth.h
 *  /usr/include/sodium/crypto_core_hsalsa20.h
 *  /usr/include/sodium/crypto_core_salsa208.h
 *  /usr/include/sodium/version.h
 *  /usr/include/sodium/crypto_secretbox_xchacha20poly1305.h
 *  /usr/include/sodium/export.h
 *  /usr/include/sodium/utils.h
 *  /usr/include/sodium/crypto_secretbox_xsalsa20poly1305.h
 *  /usr/include/sodium/crypto_verify_32.h
 *  /usr/include/sodium/crypto_box_curve25519xsalsa20poly1305.h
 *  /usr/include/sodium/core.h
 *  /usr/include/sodium/crypto_sign.h
 *  /usr/include/sodium/randombytes.h
 *  /usr/include/sodium/crypto_generichash.h
 *  /usr/include/sodium/crypto_auth_hmacsha512.h
 *  /usr/include/sodium/crypto_aead_chacha20poly1305.h
 *  /usr/include/sodium/crypto_stream_salsa208.h
 *  /usr/include/sodium/crypto_hash.h
 *  /usr/include/sodium/randombytes_sysrandom.h
 *  /usr/include/sodium/crypto_shorthash.h
 *  /usr/include/sodium/crypto_hash_sha512.h
 *  /usr/include/sodium/crypto_kdf.h
 *  /usr/include/sodium/crypto_stream.h
 *  /usr/include/sodium/crypto_kx.h
 *  /usr/include/sodium/crypto_scalarmult.h
 *  /usr/lib64/libsodium.so
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * None of the installed packages claim the file(s).
 * 
 * Package 'dev-libs/libsodium-1.0.14' merged despite file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.

 * Messages for package sci-libs/libgeotiff-1.4.1:

 * You should rebuild any packages built against libgeotiff by running:
 * # revdep-rebuild
 * or using preserved-rebuild features of portage-2.2:
 * # emerge @preserved-rebuild

 * Messages for package app-eselect/eselect-wxwidgets-20140423:

 * This eselect module only controls the version of wxGTK used when
 * building packages outside of portage.  If you are not doing development
 * with wxWidgets or bakefile you will never need to use it.

 * Messages for package app-misc/spacenavd-0.6:

 * To start the Spacenav daemon system-wide by default
 * you should add it to the default runlevel :
 * `rc-update add spacenavd default` (for openRC)
 * `systemctl enable spacenavd` (for systemd)
 * 
 * To start generating Spacenav X events by default
 * you should add this command in your user startup
 * scripts such as .gnomerc or .xinitrc :
 * `spnavd_ctl x11 start`
 * 
 * 
 * If you want to auto-start the daemon when you plug in
 * a SpaceNavigator device, activate the related udev rule :
 * `sudo ln -s /lib/udev/rules.d/99-space-navigator.rules.ignored /etc/udev/rules.d`
 * You must restart spnavd `/etc/init.d/spacenavd restart` to run
 * the new version of the daemon or `systemctl restart spacenavd`
 * if using systemd.

 * Messages for package app-admin/hddtemp-0.3_beta15-r26:

 * In order to update your hddtemp database, run:
 * emerge --config =app-admin/hddtemp-0.3_beta15-r26 or update-hddtemp.db (if USE
 * network-cron is enabled)
 * 
 * If your hard drive is not recognized by hddtemp, please consider
 * submitting your HDD info for inclusion into the Gentoo hddtemp
 * database by filing a bug at https://bugs.gentoo.org/
 * 
 * If hddtemp complains but finds your HDD temperature sensor, use the
 * --quiet option to suppress the warning.
 * 
 * (Note: Above message is only printed the first time package is
 * installed. Please look at /usr/share/doc/hddtemp-0.3_beta15-r26/README.gentoo*
 * for future reference)

 * Messages for package sci-libs/gdal-2.0.3:

 * Check available image and data formats after building with
 * gdalinfo and ogrinfo (using the --formats switch).

 * Messages for package dev-java/icedtea-web-1.6.2:

 * Browser plugin
 * --------------
 * 
 * The IcedTea browser plugin (NPPlugin) is now made immediately
 * available to supporting browsers without the need for eselect. Note
 * that Chromium-based browsers no longer support NPAPI-based plugins
 * since the code was removed in September 2015. The list of supporting
 * browsers is shrinking but still includes Firefox as of version 46.
 * 
 * JVM selection
 * -------------
 * 
 * By default, IcedTea's browser plugin and Web Start uses the JVM
 * selected via eselect or the GENTOO_VM environment variable. Note that
 * this doesn't have to be an IcedTea JVM. An Oracle JVM will also
 * work. The choice can be overridden using the itweb-settings
 * program. Simply blank out the field to restore the default behaviour.
 * 
 * Coexistence with Oracle's plugin
 * --------------------------------
 * 
 * The IcedTea browser plugin can no longer be installed alongside
 * Oracle's plugin. This used to be possible thanks to eselect
 * java-nsplugin but this was removed in an effort to simplify things. No
 * one is likely to need both, especially with plugins being all but
 * outlawed these days. To avoid any blockers, simply enable the nsplugin
 * USE flag on icedtea-web or the Oracle packages, but not both.
 * 
 * If you're wondering why we don't just leave plugin selection to the
 * browser, it's because Firefox (and probably others) only allows you to
 * disable all the Java plugins together, not individually.
 * 
 * Coexistence with Oracle's Web Start
 * -----------------------------------
 * 
 * /usr/bin/javaws, the executable used to launch JNLP files from a
 * browser, will always use IcedTea's implementation over Oracle's when
 * icedtea-web is installed, regardless of which JVM has been
 * selected. This is primarily for consistency with the browser
 * plugin. If you want to use Oracle's implementation then simply
 * uninstall icedtea-web.
 * 
 * 32-bit plugin on 64-bit systems
 * -------------------------------
 * 
 * This is no longer supported as the 64-bit plugin can launch a 32-bit
 * JVM. Other reasons for running a 32-bit browser on a 64-bit system
 * have long passed.
 * 
 * 32-bit JVM on 64-bit systems
 * ----------------------------
 * 
 * The emul-linux-x86-java package was removed in 2015 with the migration
 * to full multilib. icedtea-bin now provides this feature via the
 * multilib USE flag. Once installed, using the 32-bit variant is simply
 * a case of selecting that VM as described above.
 * 
 * (Note: Above message is only printed the first time package is
 * installed. Please look at /usr/share/doc/icedtea-web-1.6.2/README.gentoo*
 * for future reference)

 * Messages for package dev-python/wxpython-3.0.2.0:

 * Gentoo uses the Multi-version method for SLOT'ing.
 * Developers, see this site for instructions on using
 * it with your apps:
 * http://wiki.wxpython.org/MultiVersionInstalls

 * Messages for package sci-libs/sdformat-4.2.0:

 * ERROR: sci-libs/sdformat-4.2.0::ros-overlay failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_configure
 *   environment, line 2954:  Called cmake-utils_src_configure
 *   environment, line  876:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=sci-libs/sdformat-4.2.0::ros-overlay'`,
 * the complete build log and the output of `emerge -pqv '=sci-libs/sdformat-4.2.0::ros-overlay'`.
 * The complete build log is located at '/var/tmp/portage/sci-libs/sdformat-4.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-libs/sdformat-4.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0_build'
 * S: '/var/tmp/portage/sci-libs/sdformat-4.2.0/work/sdformat-4.2.0'

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: sys-libs/readline-7.0_p3
 *  - /lib64/libreadline.so.6
 *  - /lib64/libreadline.so.6.3
 *      used by /usr/bin/js24 (dev-lang/spidermonkey-24.2.0-r3)
Use emerge @preserved-rebuild to rebuild packages using these libraries

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

It seems to be a problem with conflicting versions of libsodium but I don't really know what to do about it

allenh1 commented 7 years ago
CMake Error at CMakeLists.txt:191 (else):
  A duplicate ELSE command was found inside an IF block.

Hm... Maybe this needs a patch? I'll take a look at that cmake file when I have a few.

MalcolmMielle commented 7 years ago

Sorry if it's a stupid question but would it be a patch for the ebuild or something that should be send to upstream to sdformat ?

I'm a bit new to all this so I'm wondering what's best so to learn :)

allenh1 commented 7 years ago

Sorry if it's a stupid question but would it be a patch for the ebuild or something that should be send to upstream to sdformat ?

Not a dumb question at all. And, in fact, a question I'll be asking myself when I look at it. Usually, I'll patch the ebuild first and, if it's something that is worth fixing upstream, will upstream the patch. Almost always it will be worth it to send upstream if your patch is of quality.


@MalcolmMielle update: I'm now affected by this as well -- I think there's stricter detection in cmake for this kind of thing.

MalcolmMielle commented 7 years ago

Ok thanks :)! I'll get a look at how patchs work and all next week then.

allenh1 commented 7 years ago

Ok, after applying the patch my ebuild is building again. Please reopen this if that fails to be true for you!