Fedora 11 Build Errors

The place to discuss linux version of MakeMKV
Post Reply
KiNgFrUiT
Posts: 3
Joined: Sat Aug 08, 2009 10:28 am

Fedora 11 Build Errors

Post by KiNgFrUiT »

Im having problems building the OSS package on Fedora 11.

The first error refers to the rand function being unavailble. This can be fixed by adding

Code: Select all

#include <cstdlib>
to libmakemkv/src/world.cpp

This fix was found in the following thread, thanks.
http://www.makemkv.com/forum2/viewtopic.php?f=3&t=542

However I still have issues relating to OpenSSL which I cant fix. I have all of the required packages installed. Here is the build output, hopefully someone will have some suggestions.

Code: Select all

make -f makefile.linux
mkdir -p out                                                    
gcc -O3 -D_linux_ -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -Ilibebml/inc -Ilibmatroska/inc -Ilibmakemkv/inc -Isstring/inc \
        -Imakemkvgui/inc -Ilibabi/inc libebml/src/EbmlBinary.cpp libebml/src/EbmlContexts.cpp libebml/src/EbmlCrc32.cpp libebml/src/EbmlDate.cpp libebml/src/EbmlDummy.cpp libebml/src/EbmlElement.cpp libebml/src/EbmlFloat.cpp libebml/src/EbmlHead.cpp libebml/src/EbmlMaster.cpp libebml/src/EbmlSInteger.cpp libebml/src/EbmlStream.cpp libebml/src/EbmlString.cpp libebml/src/EbmlSubHead.cpp libebml/src/EbmlUInteger.cpp libebml/src/EbmlUnicodeString.cpp libebml/src/EbmlVersion.cpp libebml/src/EbmlVoid.cpp libebml/src/IOCallback.cpp libebml/src/MemIOCallback.cpp  libmatroska/src/FileKax.cpp libmatroska/src/KaxAttached.cpp libmatroska/src/KaxAttachments.cpp libmatroska/src/KaxBlock.cpp libmatroska/src/KaxBlockData.cpp libmatroska/src/KaxChapters.cpp libmatroska/src/KaxCluster.cpp libmatroska/src/KaxClusterData.cpp libmatroska/src/KaxContentEncoding.cpp libmatroska/src/KaxContexts.cpp libmatroska/src/KaxCues.cpp libmatroska/src/KaxCuesData.cpp libmatroska/src/KaxInfo.cpp libmatroska/src/KaxInfoData.cpp libmatroska/src/KaxSeekHead.cpp libmatroska/src/KaxSegment.cpp libmatroska/src/KaxTag.cpp libmatroska/src/KaxTagMulti.cpp libmatroska/src/KaxTags.cpp libmatroska/src/KaxTrackAudio.cpp libmatroska/src/KaxTrackEntryData.cpp libmatroska/src/KaxTracks.cpp libmatroska/src/KaxTrackVideo.cpp libmatroska/src/KaxVersion.cpp libmakemkv/src/ebmlwrite.cpp libmakemkv/src/libmkv.cpp libmakemkv/src/version.cpp libmakemkv/src/world.cpp  sstring/src/sstring.cpp libabi/src/ossl.c libabi/src/zlib.c \                                                                                                                           
        -DHAVE_BUILDINFO_H -Itmp \                                                                                                                 
        -fPIC -Xlinker -dy -Xlinker --version-script=libmakemkv/src/libmakemkv.vers \                                                              
        -Xlinker -soname=libmakemkv.so.1 -lc -lstdc++ -lcrypto -lz                                                                                 
libabi/src/ossl.c:23:24: error: openssl/ec.h: No such file or directory                                                                            
libabi/src/ossl.c:24:27: error: openssl/ecdsa.h: No such file or directory                                                                         
libabi/src/ossl.c: In function ‘OSSL_BN_free’:                                                                                                     
libabi/src/ossl.c:96: error: ‘BIGNUM’ undeclared (first use in this function)                                                                      
libabi/src/ossl.c:96: error: (Each undeclared identifier is reported only once                                                                     
libabi/src/ossl.c:96: error: for each function it appears in.)                                                                                     
libabi/src/ossl.c:96: error: expected expression before ‘)’ token                                                                                  
libabi/src/ossl.c: In function ‘OSSL_BN_bin2bn’:                                                                                                   
libabi/src/ossl.c:101: error: ‘BIGNUM’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:101: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_BN_bn2bin’:                                                                                                   
libabi/src/ossl.c:106: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c: In function ‘OSSL_BN_dec2bn’:                                                                                                   
libabi/src/ossl.c:111: error: ‘BIGNUM’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:111: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_BN_ucmp’:                                                                                                     
libabi/src/ossl.c:116: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c:116: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c: In function ‘OSSL_BN_is_zero’:                                                                                                  
libabi/src/ossl.c:121: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c: In function ‘OSSL_BN_set_word’:                                                                                                 
libabi/src/ossl.c:126: error: ‘BIGNUM’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:126: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_BN_CTX_free’:                                                                                                 
libabi/src/ossl.c:136: error: ‘BN_CTX’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:136: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_GROUP_get0_generator’:                                                                                     
libabi/src/ossl.c:143: error: expected ‘)’ before ‘EC_GROUP’                                                                                       
libabi/src/ossl.c: In function ‘OSSL_EC_GROUP_set_generator’:                                                                                      
libabi/src/ossl.c:148: error: ‘EC_GROUP’ undeclared (first use in this function)                                                                   
libabi/src/ossl.c:148: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_GROUP_get_order’:                                                                                          
libabi/src/ossl.c:153: error: expected ‘)’ before ‘EC_GROUP’                                                                                       
libabi/src/ossl.c:153: error: ‘BIGNUM’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:153: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_GROUP_new_curve_GFp’:                                                                                      
libabi/src/ossl.c:158: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c:158: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c:158: error: expected ‘)’ before ‘BIGNUM’                                                                                         
libabi/src/ossl.c:158: error: ‘BN_CTX’ undeclared (first use in this function)                                                                     
libabi/src/ossl.c:158: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_POINT_new’:                                                                                                
libabi/src/ossl.c:163: error: expected ‘)’ before ‘EC_GROUP’                                                                                       
libabi/src/ossl.c: In function ‘OSSL_EC_POINT_free’:                                                                                               
libabi/src/ossl.c:168: error: ‘EC_POINT’ undeclared (first use in this function)                                                                   
libabi/src/ossl.c:168: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_POINT_mul’:                                                                                                
libabi/src/ossl.c:173: error: expected ‘)’ before ‘EC_GROUP’                                                                                       
libabi/src/ossl.c:173: error: ‘EC_POINT’ undeclared (first use in this function)                                                                   
libabi/src/ossl.c:173: error: expected expression before ‘)’ token                                                                                 
libabi/src/ossl.c: In function ‘OSSL_EC_POINT_set_affine_coordinates_GFp’:                                                                         
libabi/src/ossl.c:179: error: expected ‘)’ before ‘EC_GROUP’                                                                                       
libabi/src/ossl.c:179: error: ‘EC_POINT’ undeclared (first use in this function)
libabi/src/ossl.c:179: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_EC_POINT_get_affine_coordinates_GFp’:
libabi/src/ossl.c:186: error: expected ‘)’ before ‘EC_GROUP’
libabi/src/ossl.c:186: error: expected ‘)’ before ‘EC_POINT’
libabi/src/ossl.c:187: error: ‘BIGNUM’ undeclared (first use in this function)
libabi/src/ossl.c:187: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_EC_KEY_free’:
libabi/src/ossl.c:197: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:197: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_EC_KEY_get0_group’:
libabi/src/ossl.c:202: error: expected ‘)’ before ‘EC_KEY’
libabi/src/ossl.c: In function ‘OSSL_EC_KEY_set_group’:
libabi/src/ossl.c:207: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:207: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_EC_KEY_set_public_key’:
libabi/src/ossl.c:212: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:212: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_EC_KEY_set_private_key’:
libabi/src/ossl.c:217: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:217: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_ECDSA_do_verify_rs’:
libabi/src/ossl.c:229: error: ‘ECDSA_SIG’ undeclared (first use in this function)
libabi/src/ossl.c:229: error: expected ‘;’ before ‘sig’
libabi/src/ossl.c:230: error: ‘sig’ undeclared (first use in this function)
libabi/src/ossl.c:230: error: ‘BIGNUM’ undeclared (first use in this function)
libabi/src/ossl.c:230: error: expected expression before ‘)’ token
libabi/src/ossl.c:231: error: expected expression before ‘)’ token
libabi/src/ossl.c:232: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:232: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_ECDSA_do_sign_ex’:
libabi/src/ossl.c:237: error: expected ‘)’ before ‘BIGNUM’
libabi/src/ossl.c:237: error: expected ‘)’ before ‘BIGNUM’
libabi/src/ossl.c:237: error: ‘EC_KEY’ undeclared (first use in this function)
libabi/src/ossl.c:237: error: expected expression before ‘)’ token
libabi/src/ossl.c: In function ‘OSSL_ecdsa_sig_get_r’:
libabi/src/ossl.c:242: error: expected ‘)’ before ‘ECDSA_SIG’
libabi/src/ossl.c:242: error: invalid type argument of ‘->’ (have ‘int’)
libabi/src/ossl.c: In function ‘OSSL_ecdsa_sig_get_s’:
libabi/src/ossl.c:247: error: expected ‘)’ before ‘ECDSA_SIG’
libabi/src/ossl.c:247: error: invalid type argument of ‘->’ (have ‘int’)
libabi/src/ossl.c: In function ‘OSSL_ECDSA_SIG_free’:
libabi/src/ossl.c:252: error: ‘ECDSA_SIG’ undeclared (first use in this function)
libabi/src/ossl.c:252: error: expected expression before ‘)’ token
Here are the locations of all the OpenSSL files on my computer.

Code: Select all

find / -iname "*openssl*"
/usr/bin/openssl                                                   
/usr/include/openssl                                               
/usr/include/openssl/opensslconf.h                                 
/usr/include/openssl/opensslconf-i386.h                            
/usr/include/openssl/opensslv.h                                    
/usr/include/kde/kopenssl.h                                        
/usr/include/gnutls/openssl.h                                      
/usr/include/boost/asio/ssl/detail/openssl_init.hpp                
/usr/include/boost/asio/ssl/detail/openssl_operation.hpp           
/usr/include/boost/asio/ssl/detail/openssl_types.hpp               
/usr/include/boost/asio/ssl/detail/openssl_stream_service.hpp      
/usr/include/boost/asio/ssl/detail/openssl_context_service.hpp     
/usr/lib/libgnutls-openssl.a                                       
/usr/lib/openssl                                                   
/usr/lib/python2.6/site-packages/OpenSSL                           
/usr/lib/python2.6/site-packages/pyOpenSSL-0.7-py2.6.egg-info      
/usr/lib/libgnutls-openssl.so                                      
/usr/lib/pkgconfig/openssl.pc                                      
/usr/lib/libgnutls-openssl.so.26                                   
/usr/lib/libgnutls-openssl.so.26.11.7                              
/usr/share/kde4/apps/cmake/modules/FindOpenSSL.cmake               
/usr/share/man/man1/openssl.1ssl.gz                                
/usr/share/man/man3/OPENSSL_Applink.3ssl.gz                        
/usr/share/man/man3/OpenSSL_add_all_digests.3ssl.gz                
/usr/share/man/man3/OPENSSL_load_builtin_modules.3ssl.gz           
/usr/share/man/man3/UI_OpenSSL.3ssl.gz                             
/usr/share/man/man3/OPENSSL_VERSION_NUMBER.3ssl.gz                 
/usr/share/man/man3/OpenSSL_add_ssl_algorithms.3ssl.gz             
/usr/share/man/man3/OPENSSL_no_config.3ssl.gz                      
/usr/share/man/man3/OpenSSL_add_all_ciphers.3ssl.gz                
/usr/share/man/man3/OPENSSL_config.3ssl.gz                         
/usr/share/man/man3/DH_OpenSSL.3ssl.gz                             
/usr/share/man/man3/DSA_OpenSSL.3ssl.gz                            
/usr/share/man/man3/OpenSSL_add_all_algorithms.3ssl.gz             
/usr/share/man/man3/OPENSSL_ia32cap.3ssl.gz                        
/usr/share/cmake/Modules/FindOpenSSL.cmake                         
/usr/share/doc/openssl-0.9.8k                                      
/usr/share/doc/openssl-0.9.8k/openssl_button.gif                   
/usr/share/doc/openssl-0.9.8k/openssl.txt                          
/usr/share/doc/openssl-0.9.8k/openssl_button.html                  
/usr/share/doc/pyOpenSSL-0.7                                       
/usr/share/doc/pyOpenSSL-0.7/pyOpenSSL.txt                         
/usr/share/doc/pyOpenSSL-0.7/html/openssl-netscape-spki.html       
/usr/share/doc/pyOpenSSL-0.7/html/openssl-pkey.html                
/usr/share/doc/pyOpenSSL-0.7/html/openssl-connection.html          
/usr/share/doc/pyOpenSSL-0.7/html/openssl-rand.html                
/usr/share/doc/pyOpenSSL-0.7/html/openssl-x509store.html           
/usr/share/doc/pyOpenSSL-0.7/html/openssl-x509.html                
/usr/share/doc/pyOpenSSL-0.7/html/openssl-crypto.html              
/usr/share/doc/pyOpenSSL-0.7/html/openssl-pkcs7.html               
/usr/share/doc/pyOpenSSL-0.7/html/openssl-context.html             
/usr/share/doc/pyOpenSSL-0.7/html/openssl-x509req.html             
/usr/share/doc/pyOpenSSL-0.7/html/openssl-x509name.html            
/usr/share/doc/pyOpenSSL-0.7/html/openssl-509ext.html              
/usr/share/doc/pyOpenSSL-0.7/html/pyOpenSSL.how                    
/usr/share/doc/pyOpenSSL-0.7/html/openssl.html                     
/usr/share/doc/pyOpenSSL-0.7/html/pyOpenSSL.html                   
/usr/share/doc/pyOpenSSL-0.7/html/openssl-ssl.html                 
/usr/share/doc/pyOpenSSL-0.7/html/pyOpenSSL.css                    
/usr/share/doc/pyOpenSSL-0.7/html/openssl-pkcs12.html              
/usr/share/doc/pyOpenSSL-0.7/pyOpenSSL.ps                          
/usr/share/doc/libcurl-devel-7.19.4/opensslthreadlock.c            
/etc/pki/tls/openssl.cnf   
Bling2Ming
Posts: 24
Joined: Mon Aug 03, 2009 7:20 pm

Re: Fedora 11 Build Errors

Post by Bling2Ming »

I've only ever used Fedora as a live CD so really I have no business replying as I am no authority on your system but anyhow here goes.

I've just been nosing around here

http://rpm.pbone.net/index.php3/stat/4/ ... 6.rpm.html

and it appears that

Code: Select all

?/usr/include/openssl/ec.h
/usr/include/openssl/ecdh.h
/usr/include/openssl/ecdsa.h
are missing from Fedoras openssl-devel-0.9.8j-7.fc11.i386.rpm. This I found strange but then I found this.

http://linux.derkeiler.com/Mailing-List ... 03443.html

If this is the case then, and you are unable to find the files in another Fedora package, and again if you were me then I would try downloading the Mandriva openssl-devel rpm from here.
http://rpm.pbone.net/index.php3/stat/4/ ... 6.rpm.html
Or the Opensuse rpm and open the rpm archive and copy the relevent files to /usr/include/openssl/ . If that doesn't work I would try installing the Mandriva rpm.

No guarantees.
KiNgFrUiT
Posts: 3
Joined: Sat Aug 08, 2009 10:28 am

Re: Fedora 11 Build Errors

Post by KiNgFrUiT »

Thanks for the suggestions. I downloaded the OpenSSL source and copied the missing headers into my openssl folder.
However I now get the following error upon compilation

Code: Select all

In file included from libabi/src/ossl.c:23:
/usr/include/openssl/ec.h:78:2: error: #error EC is disabled.
In file included from libabi/src/ossl.c:24:
/usr/include/openssl/ecdsa.h:65:2: error: #error ECDSA is disabled.
make: *** [out/libmakemkv.so.1.full] Error 1
Looks like I will have to replace the OpenSSL and devel packages but I am reluctant to do that as they are core components of my distro and may effect my ability to update in the future.

Every distro based on Fedora / RedHat is likely to be effected by this issue.

Does MakeMKV really require the EC and ECDSA functions? If not then some changes to the makefiles / source, not sure what are the moment, should enable successful compilation. A MakeMKV RPM would be really handy.
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: Fedora 11 Build Errors

Post by mike admin »

Blu-ray drive authentication requires ECDSA. Thanks for reporting, we'll see what can be done.
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: Fedora 11 Build Errors

Post by mike admin »

Blu-ray drive authentication requires ECDSA. Thanks for reporting, we'll see what can be done.
CybrFyre
Posts: 17
Joined: Fri Aug 21, 2009 10:11 pm

Re: Fedora 11 Build Errors

Post by CybrFyre »

Hi. I found this thread helpful in overcoming some of the compilation issues I had. I got around the openssl problem by compiling openssl from source and installing into /opt/local/openssl .. I then modified the makefile.linux and makefile.common to point to the correct openssl.

Unfortunately, as detailed in the Fedora 10 Sigsegv thread, makemkv just immediately segfaults. Which is unfortunate because people seem to think it's a really good program.
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: Fedora 11 Build Errors

Post by mike admin »

Please try versio 1.4.7 - it should run on FC.
CybrFyre
Posts: 17
Joined: Fri Aug 21, 2009 10:11 pm

Re: Fedora 11 Build Errors

Post by CybrFyre »

I found interestsing that the build did not complain about the missing ecdsa in the stock fedora 11 openssl. Is this by design that makemkv will work properly using the stock openssl? Just to be safe, I pointed it at the openssl I downloaded and built separately, that does contain ecdsa support.

I can also confirm that at least opening up the gui, makemkv can read in an already decrypted bd directory. I will have to next try it on a disk in the drive.

Also, what's the current BD+ status (changelog didn't mention that)?

Later!
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: Fedora 11 Build Errors

Post by mike admin »

Please look at source :) It now includes reduced ECDSA code from full openssl and uses it if it is not enabled in a stock library. BD+ will be in the next version, the details will be posted in the next few days.
CybrFyre
Posts: 17
Joined: Fri Aug 21, 2009 10:11 pm

Re: Fedora 11 Build Errors

Post by CybrFyre »

Seems to work on fedora 11 with the first BD I've tried. Awesome.
Post Reply