[SERVER-20259] Support for OpenSuSE tumbleweed Created: 02/Sep/15  Updated: 08/Nov/23

Status: Backlog
Project: Core Server
Component/s: Admin
Affects Version/s: 3.0.5, 3.0.6
Fix Version/s: features we're not sure of

Type: Bug Priority: Major - P3
Reporter: Cesar Izurieta Hidalgo Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: platform-request
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-20024 Community support for SLES 12 Closed
Assigned Teams:
Build
Operating System: ALL
Steps To Reproduce:
  • Update to mongodb-org-3.0.5 or 3.0.6
  • Start the server
Participants:

 Description   

After upgrading from 3.0.4 to 3.0.5 or 3.0.6 from the mongodb repositories mongod fails with the following message:

# mongod -f /etc/mongod.conf
mongod: symbol lookup error: mongod: undefined symbol: FIPS_mode_set

Seems to be related to openssl. These packages are present on my system:

openssl-1.0.2d-1.1.x86_64
libopenssl0_9_8-0.9.8x-10.4.x86_64
libopenssl1_0_0-32bit-1.0.2d-1.1.x86_64
libopenssl-devel-1.0.2d-1.1.x86_64
libopenssl1_0_0-1.0.2d-1.1.x86_64



 Comments   
Comment by Cesar Izurieta Hidalgo [ 04/Sep/15 ]

Actually running like this works:

LD_PRELOAD=/usr/lib64/libcrypto.so mongod -f /etc/mongod.conf

The same thing for the mongo executable. It seems now that the problem is on how openssl and libcrypto are packaged for openSuSE as that libcrypto.so is provided by libopenssl-devel-1.0.2d-1.1.x86_64.

Finally the solution was to do the following. I do not recommend it but it might work for some people:

rpm -e --nodeps libopenssl0_9_8-0.9.8x-10.4.x86_64
cd /usr/lib64/
ln -s libssl.so libssl.so.0.9.8
ln -s libcrypto.so libcrypto.so.0.9.8

After that mongod and mongo load correctly.

Comment by Cesar Izurieta Hidalgo [ 04/Sep/15 ]

Maybe it would be good to limit the versions on the rpm spec file so that >= 3.0.5 requires openssl < 1. That way it wont auto-update on openSuSE systems (or any other system that updates their openssl version). Right now the dependency seems to be declared as "openssl" without version constraints (see https://github.com/mongodb/mongo/blob/master/rpm/mongodb-org.spec#L38).

Comment by Ernie Hershey [ 04/Sep/15 ]

Hi cesarizu - I'm sorry you're having this problem. I believe as a result of SERVER-18371, so in versions 3.0.5 and 3.0.6, our packages won't work in OpenSuSE, since we build them in SuSE Linux Enterprise Server and rely on the FIPS_mode_set function when it's available on the platform we build on. I think for now you have three options -

1) Upgrade/downgrade OpenSSL to match a SLES environment. Here are the SSL packages in place in our build environment:

libopenssl0_9_8-0.9.8j-0.70.1
openssl-0.9.8j-0.66.1
openssl-certs-1.97-0.3.1

2) Use our legacy binaries, which don't support SSL (available here)
3) Compile against local SSL libraries, which will avoid calls to that FIPS function.

Generated at Thu Feb 08 03:53:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.