# Problemas con ruby y openssl 1-1-0i

## Jack Krauser

Hola comunidad.

Hice una actuaización del sistema y me saltó problemas con estos dos paquetes:

dev-lang/ruby-2.3.7

dev-libs/openssl-1.1.0i

Antes de que empiece la actualización no tengo ningún error pero el problema viene cuando se compila ruby (después de haber instalado openssl) y es éste error:

```
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token

 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
```

Yo creo que ese es el error después de leer los logs. No puedo resolver ese problema y acudo a ustedes por si me pueden ayudar.

Adjunto el log de ruby: https://pastebin.com/QSupgfmk

Espero me puedan ayudar porque no sé qué hacer

----------

## cameta

Podría tratarse de un bug. Una opción sería que probases un ruby inestable. 

Este tipo de problemas puede ser una buena idea ponerlos en el subforo de portage, donde de momento no he visto ningún hilo abierto sobre este problema.

----------

## quilosaq

@Jack Krauser

=dev-libs/openssl-1.1* está enmascarado para todos los perfiles de portage. Posiblemente lo has desenmascarado expresamente en package.unmask. No deberías forzar ese cambio.

Si realmente necesitas esa versión de openssl tendrás que permitir una versión superior de ruby. Cualquiera de las dev-lang/ruby-2.4* te debería servir.

----------

## cameta

Es lo que le han comentado en el foro inglés. Que ese openssl está enmascarado y mejor no usarlo.

----------

## Jack Krauser

 *quilosaq wrote:*   

> @Jack Krauser
> 
> =dev-libs/openssl-1.1* está enmascarado para todos los perfiles de portage. Posiblemente lo has desenmascarado expresamente en package.unmask. No deberías forzar ese cambio.
> 
> Si realmente necesitas esa versión de openssl tendrás que permitir una versión superior de ruby. Cualquiera de las dev-lang/ruby-2.4* te debería servir.

 

Les comento cómo se generó el cambio: Quise usar la última versión de nodejs disponible en portage y desenmascaré ese paquete y a sus amigos según portage me pedía. 

Procedí con la instalación y todo estuvo normal hasta que se me ocurrio actualizar todo el sistema y es allí donde me encontré el problema así que comenté las líneas que habilitaban esos paquetes y volví a actualizar pero no puedo proseguir más allá del error que les mostré

----------

## quilosaq

Intenta desactualizar la versión de openssl. ¿Que dice 

```
emerge -pv dev-libs/openssl
```

?

----------

## Jack Krauser

 *quilosaq wrote:*   

> Intenta desactualizar la versión de openssl. ¿Que dice 
> 
> ```
> emerge -pv dev-libs/openssl
> ```
> ...

 

Cuando intento instalar el paquete solo, tengo la versión que creo no causa problemas

```
Calculating dependencies... done!

[ebuild  N     ] dev-libs/openssl-1.0.2o-r3::gentoo  USE="asm sslv3 tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -sslv2 -static-libs {-test} -vanilla" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse2)" 0 KiB

Total: 1 package (1 new), Size of downloads: 0 KiB
```

Pero si actualizo todo igual me sale el problema

----------

## quilosaq

¿Qué versión de openssl tienes instalada ahora?

```
equery list openssl
```

¿Qué dice 

```
emerge -pv --update --deep --newuse @world
```

?

----------

## Jack Krauser

 *quilosaq wrote:*   

> ¿Qué versión de openssl tienes instalada ahora?
> 
> ```
> equery list openssl
> ```
> ...

 

Pues:

```

# equery list openssl

* Searching for openssl ...

[IP-] [  ] dev-libs/openssl-1.0.2o-r3:0
```

Y también:

```
# emerge -pv --update --deep --newuse @world

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild     U  ] sys-apps/diffutils-3.6-r1::gentoo [3.5::gentoo] USE="nls -static" 0 KiB

[ebuild     U #] dev-libs/openssl-1.1.0i:0/1.1::gentoo [1.0.2o-r3:0/0::gentoo] USE="asm zlib -bindist -rfc3779 -sctp -static-libs {-test} -tls-heartbeat* -vanilla (-gmp%) (-kerberos%) (-sslv2%) (-sslv3%*)" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse2)" 0 KiB

[ebuild  N     ] dev-perl/Net-SSLeay-1.820.0::gentoo  USE="-examples -libressl -minimal {-test}" 0 KiB

[ebuild     U  ] dev-perl/XML-SAX-1.0.0::gentoo [0.990.0-r1::gentoo] 0 KiB

[ebuild  N     ] dev-ruby/racc-1.4.14::gentoo  USE="-doc {-test}" RUBY_TARGETS="ruby23 (-ruby24) (-ruby25)" 0 KiB

[ebuild  N    ~] dev-util/cargo-0.29.0::gentoo  USE="-debug -doc -libressl" 0 KiB

[ebuild     U  ] app-admin/apache-tools-2.4.34::gentoo [2.4.33::gentoo] USE="ssl -libressl" 0 KiB

[ebuild     U  ] net-misc/openssh-7.7_p1-r9::gentoo [7.7_p1-r6::gentoo] USE="X pam pie ssl -X509 -audit -bindist -debug -hpn -kerberos -ldns -libedit -libressl -livecd -sctp (-selinux) -skey -static {-test} (-ldap%)" 0 KiB

[ebuild     U  ] app-text/libepubgen-0.1.1::gentoo [0.1.0::gentoo] USE="-debug -doc {-test}" 0 KiB

[ebuild     U  ] app-text/libetonyek-0.1.8::gentoo [0.1.7::gentoo] USE="-doc -static-libs {-test}" 0 KiB

[ebuild     U  ] app-text/libmwaw-0.3.14::gentoo [0.3.13::gentoo] USE="-doc -static-libs -tools" 0 KiB

[ebuild     U  ] app-text/libwps-0.4.10::gentoo [0.4.8::gentoo] USE="-debug -doc -static-libs -tools" 0 KiB

[ebuild  N     ] dev-libs/xmlsec-1.2.26::gentoo  USE="nss openssl -doc -gcrypt -gnutls -libressl -static-libs" 0 KiB

[ebuild     U  ] media-libs/libpagemaker-0.0.4::gentoo [0.0.3-r1::gentoo] USE="-debug -doc -tools" 0 KiB

[ebuild     U  ] media-libs/libsoundtouch-2.0.0-r1:0/1::gentoo [1.8.0-r1:0/0::gentoo] USE="openmp%* -static-libs" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse%* (-sse2%*)" 0 KiB

[ebuild  N     ] www-servers/apache-2.4.34-r2:2::gentoo  USE="gdbm ldap ssl suexec-caps threads -debug -doc -libressl (-selinux) -static -suexec -suexec-syslog" APACHE2_MODULES="actions alias auth_basic auth_digest authn_alias authn_anon authn_core authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias -access_compat -asis -authn_dbd -authz_dbd -brotli -cache_disk -cache_socache -cern_meta -charset_lite -dbd -dumpio -http2 -ident -imagemap -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_forensic -macro -md -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_fcgi -proxy_ftp -proxy_html -proxy_http -proxy_scgi -proxy_wstunnel -ratelimit -remoteip -reqtimeout -slotmem_shm -substitute -version -watchdog -xml2enc" APACHE2_MPMS="-event -prefork -worker" 0 KiB

[ebuild  N     ] dev-qt/qtnetwork-5.9.6:5/5.9::gentoo  USE="ssl -bindist -connman -debug -libproxy -libressl -networkmanager {-test}" 0 KiB

[ebuild     U  ] media-gfx/imagemagick-7.0.8.10-r2:0/7.0.8.10::gentoo [7.0.8.10-r1:0/7.0.8.10::gentoo] USE="X bzip2 cxx fftw jpeg jpeg2k lcms openexr openmp pango png svg tiff truetype xml zlib -corefonts -djvu -fontconfig -fpx -graphviz -hdri -jbig -lqr -lzma (-opencl) -perl -postscript -q32 -q8 -raw -static-libs {-test} -webp -wmf" 0 KiB

[ebuild  N     ] app-crypt/qca-2.1.3-r2:2::gentoo  USE="ssl -botan -debug -doc -examples -gcrypt -gpg -libressl -logger -nss -pkcs11 -sasl -softstore {-test}" 0 KiB

[ebuild     U  ] app-office/libreoffice-6.0.6.2::gentoo [6.0.3.2::gentoo] USE="bluetooth branding cups dbus googledrive gstreamer gtk pdfimport (-coinmp) -debug -eds (-firebird) -gtk2 -java -jemalloc (-kde) -mysql -odk -postgres {-test} -vlc (-libressl%)" LIBREOFFICE_EXTENSIONS="-nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher" PYTHON_SINGLE_TARGET="python3_6 -python2_7 -python3_4 -python3_5" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5" 80.121 KiB

[ebuild     U  ] media-sound/mpg123-1.25.10-r1::gentoo [1.25.6::gentoo] USE="alsa ipv6 jack nas oss pulseaudio sdl (-altivec) (-coreaudio) -int-quality -portaudio" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse (-3dnow) (-3dnowext) (-mmx)" 0 KiB

[ebuild     U  ] app-emulation/qemu-2.12.1::gentoo [2.12.0-r3::gentoo] USE="aio alsa bluetooth bzip2 caps curl fdt filecaps gtk jpeg ncurses nls opengl pin-upstream-blobs png pulseaudio sdl seccomp ssh static-user usb vhost-net vnc xattr -accessibility (-capstone) -debug (-glusterfs) -gnutls -gtk2 -infiniband -iscsi -lzo -nfs -numa -python -rbd -sasl -sdl2 (-selinux) -smartcard -snappy -spice (-static) -systemtap -tci {-test} -usbredir -vde -virgl -virtfs -vte -xen -xfs" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5" QEMU_SOFTMMU_TARGETS="aarch64 alpha i386 mips mips64 mips64el mipsel ppc ppc64 s390x sh4 sh4eb sparc sparc64 x86_64 -arm -cris -hppa -lm32 -m68k -microblaze -microblazeel -moxie -nios2 -or1k -ppcemb -riscv32 -riscv64 -tricore -unicore32 -xtensa -xtensaeb" QEMU_USER_TARGETS="aarch64 alpha armeb i386 mips mipsel ppc ppc64 ppc64abi32 s390x sh4 sh4eb sparc sparc32plus sparc64 -aarch64_be -arm -cris -hppa -m68k -microblaze -microblazeel -mips64 -mips64el -mipsn32 -mipsn32el -nios2 -or1k -ppc64le -riscv32 -riscv64 -tilegx -x86_64 -xtensa -xtensaeb" 40.231 KiB

[ebuild     U ~] app-emulation/virtualbox-5.2.18::gentoo [5.2.14::gentoo] USE="alsa doc java opengl opus%* pam pulseaudio qt5 sdk udev vboxwebsrv vnc -debug -headless -libressl -lvm -pax_kernel -python" PYTHON_TARGETS="python2_7" 0 KiB

[ebuild     U ~] app-emulation/virtualbox-extpack-oracle-5.2.18.124319::gentoo [5.2.14.123301::gentoo] 0 KiB

Total: 24 packages (17 upgrades, 7 new), Size of downloads: 120.352 KiB

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.2o-r3:0/0::gentoo, installed) pulled in by

    dev-libs/openssl:0/0= required by (dev-vcs/git-2.16.4:0/0::gentoo, installed)

                    ^^^^^                                                                                            

    (and 24 more with the same problem)

  (dev-libs/openssl-1.1.0i:0/1.1::gentoo, ebuild scheduled for merge) pulled in by

    dev-libs/openssl:0/1.1= required by (net-libs/gsoap-2.8.51:0/0::gentoo, installed)

                    ^^^^^^^                                                                                               

    (and 1 more with the same problem)

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to

prevent one of those packages from being selected. However, it is also

possible that conflicting dependencies exist such that they are

impossible to satisfy simultaneously.  If such a conflict exists in

the dependencies of two different packages, then those packages can

not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man

page or refer to the Gentoo Handbook.

The following keyword changes are necessary to proceed:

 (see "package.accept_keywords" in the portage(5) man page for more details)

# required by media-video/ffmpeg-3.3.6::gentoo[openssl]

# required by @selected

# required by @world (argument)

=dev-libs/openssl-1.1.0i ~amd64

The following mask changes are necessary to proceed:

 (see "package.unmask" in the portage(5) man page for more details)

# required by media-video/ffmpeg-3.3.6::gentoo[openssl]

# required by @selected

# required by @world (argument)

# /usr/portage/profiles/package.mask:

# Lars Wendler <polynomial-c@gentoo.org> (26 Aug 2016)

# Masked while being tested and reverse deps aren't fully compatible

=dev-libs/openssl-1.1.0i

NOTE: The --autounmask-keep-masks option will prevent emerge

      from creating package.unmask or ** keyword changes.
```

----------

## quilosaq

```
...

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

...

  (dev-libs/openssl-1.1.0i:0/1.1::gentoo, ebuild scheduled for merge) pulled in by

    dev-libs/openssl:0/1.1= required by (net-libs/gsoap-2.8.51:0/0::gentoo, installed)

                    ^^^^^^^                                                                                               

    (and 1 more with the same problem)

...

```

Tienes que desinstalar gsoap y posiblemente otro paquete mas. Hazlo y muestra de nuevo la salida de 

```
emerge -pv --update --deep --newuse @world
```

----------

## Jack Krauser

Pude resolver el problema y ha sido que en mi afán de querer instalar la última versión de nodejs, descargué e instalé de forma manual "dev-libs/openssl-1.1.0i". Desinstalando y borrando esa carpeta pude instalar lo que necesitaba aunque estoy resignado a esperar poder actualizar la version de nodejs ya que openssl tiene bugs mediante emerge

----------

