Page 1 of 1

Fedora 11 Build Errors

Posted: Sat Aug 08, 2009 10:53 am
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   

Re: Fedora 11 Build Errors

Posted: Sat Aug 08, 2009 5:24 pm
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.

Re: Fedora 11 Build Errors

Posted: Mon Aug 10, 2009 2:57 pm
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.

Re: Fedora 11 Build Errors

Posted: Tue Aug 11, 2009 8:35 am
by mike admin
Blu-ray drive authentication requires ECDSA. Thanks for reporting, we'll see what can be done.

Re: Fedora 11 Build Errors

Posted: Tue Aug 11, 2009 8:52 am
by mike admin
Blu-ray drive authentication requires ECDSA. Thanks for reporting, we'll see what can be done.

Re: Fedora 11 Build Errors

Posted: Fri Aug 21, 2009 11:13 pm
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.

Re: Fedora 11 Build Errors

Posted: Mon Sep 28, 2009 10:38 am
by mike admin
Please try versio 1.4.7 - it should run on FC.

Re: Fedora 11 Build Errors

Posted: Sun Oct 04, 2009 3:18 am
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!

Re: Fedora 11 Build Errors

Posted: Sun Oct 04, 2009 9:01 am
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.

Re: Fedora 11 Build Errors

Posted: Mon Oct 05, 2009 3:12 am
by CybrFyre
Seems to work on fedora 11 with the first BD I've tried. Awesome.