Bitcoin Forum
April 26, 2024, 01:04:15 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: PlS HELP - Issue Compiling Litecoin-QT 0.8.6.2 on OSX 10.9 (Macports, QT Creatr)  (Read 4342 times)
danosphere (OP)
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


Syscoin- Changing the way people do business.


View Profile WWW
January 27, 2014, 03:02:47 PM
 #1

I am having a hell of a time compiling the latest Litecoin-QT client from the official git repo. I downloaded the latest 0.8.6.2 code and was able to compile litecoind using:
Code:
make -f makefile.osx

It takes a second but I end up with a litecoind file that works. If I try building the GUI through QT-Creator I get this error, I have scoured the googles and the internets high and low and I cannot for the life of me figure out how to fix this, pleaseee help.

- Macports
- QT Creator 4.8
- Litecoin 0.8.6.2 latest repo code
- Have installed boost +universal and db48 +universal in an attempt to fix this, still no luck

Here is the error I receive after QT Creator attempts to build:
Code:
Undefined symbols for architecture x86_64:
  "Db::verify(char const*, char const*, std::ostream*, unsigned int)", referenced from:
      CDBEnv::Verify(std::string, bool (*)(CDBEnv&, std::string)) in db.o
      CDBEnv::Salvage(std::string, bool, std::vector<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >, std::vector<unsigned char, std::allocator<unsigned char> > >, std::allocator<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >, std::vector<unsigned char, std::allocator<unsigned char> > > > >&) in db.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Litecoin-Qt.app/Contents/MacOS/Litecoin-Qt] Error 1


I tried removing all my boost and berkley DB libs and reinstalling because I thought maybe there were broken linkages, no dice. I uninstalled hombrew thinking maybe it messed something up, no luck. I have no issues at all compiling the 0.6.4 client and the 0.8.6.2 litecoind compiles but the GUI/QT Creator just isn't having it.

Can someone please shed some light on this? I know its something with library linkages but I don't know the exact solution.

Thanks for any help, been tearing my hair out over this and even studying makefile.osx as compared to the Makefile that qmake generates but because the contexts are so different (on being a GUI and all) its hard to tell which piece might be the source of this error.

Syscoin: Business on the Blockchain. - Buy and sell goods and services, send encrypted messages and more all secured by the blockchain.
Syscoin Website | Syscoin Whitepaper | Syscoin Team Price Peg
1714093455
Hero Member
*
Offline Offline

Posts: 1714093455

View Profile Personal Message (Offline)

Ignore
1714093455
Reply with quote  #2

1714093455
Report to moderator
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714093455
Hero Member
*
Offline Offline

Posts: 1714093455

View Profile Personal Message (Offline)

Ignore
1714093455
Reply with quote  #2

1714093455
Report to moderator
1714093455
Hero Member
*
Offline Offline

Posts: 1714093455

View Profile Personal Message (Offline)

Ignore
1714093455
Reply with quote  #2

1714093455
Report to moderator
shai_
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500


View Profile
January 27, 2014, 04:09:00 PM
 #2

i'm just using qmake never qtcreator

and then i always need to edit the makefile and the .pro file

pro file edits:

Code:
RELEASE=1
USE_QRCODE=1
USE_UPNP=1

and editing

Code:
# use: qmake "RELEASE=1"
contains(RELEASE, 1) {
    # Mac: compile for maximum compatibility (10.7, 64-bit)
    macx:QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
    macx:QMAKE_CFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
    macx:QMAKE_LFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk

then running 'qmake'
and also need to edit Makefile sometimes to look something like (i dont know what i'm doing but this worked):

Code:


CXXFLAGS      = -pipe -mmacosx-version-min=10.7 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -arch x86_64 -pthread -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES)
INCPATH       = -I/usr/local/Cellar/qt/4.8.5/mkspecs/unsupported/macx-clang -I/usr/local/Cellar/qt/4.8.5/lib/QtCore.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/lib/QtCore.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/lib/QtNetwork.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/lib/QtNetwork.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/lib/QtGui.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/lib/QtGui.framework/Versions/4/Headers -I/usr/local/Cellar/qt/4.8.5/include -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -I/opt/local/include -I/opt/local/include/db48 -Ibuild -Ibuild -F/usr/local/Cellar/qt/4.8.5/lib -I/usr/local/Cellar/boost/1.54.0/include -I/usr/local/Cellar/berkeley-db4/4.8.30/include -I/usr/local/Cellar/miniupnpc/1.8.20131007/include -I/usr/local/Cellar/qrencode/3.4.3/include
LINK          = clang++
LFLAGS        = -headerpad_max_install_names -mmacosx-version-min=10.7 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -fstack-protector-all -arch x86_64 -pthread
LIBS          = $(SUBLIBS) -F/usr/local/Cellar/qt/4.8.5/lib -L/usr/local/Cellar/qt/4.8.5/lib -lqrencode -lminiupnpc /Users/shaiw/QubitCoin/src/leveldb/libleveldb.a /Users/shaiw/QubitCoin/src/leveldb/libmemenv.a -framework Foundation -framework ApplicationServices -framework AppKit -L/opt/local/lib -L/opt/local/lib/db48 -lssl -lcrypto -ldb_cxx-4.8 -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt -lboost_chrono-mt -framework QtGui -L/usr/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtNetwork -L/usr/local/Cellar/boost/1.54.0/lib -L/usr/local/Cellar/berkeley-db4/4.8.30/lib -L/usr/local/Cellar/miniupnpc/1.8.20131007/lib -L/usr/local/Cellar/qrencode/3.4.3/lib


and then using macdeploy to create dmg (see doc/release-process.txt)
(editing fancy.plist and sometimes macdeployqtplus script)

Code:
python2.7 contrib/macdeploy/macdeployqtplus blablacoin-qt.app -dmg -fancy contrib/macdeploy/fancy.plist

i'm using homebrew for dependencies and xcode version 4

i hope this helps..
hamer84
Newbie
*
Offline Offline

Activity: 128
Merit: 0



View Profile
January 27, 2014, 04:10:10 PM
 #3

good info,thx Wink
shai_
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500


View Profile
January 27, 2014, 04:16:16 PM
 #4

added some edits
danosphere (OP)
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


Syscoin- Changing the way people do business.


View Profile WWW
January 27, 2014, 04:53:09 PM
 #5

@shai_ major thanks for the tips! I'll try compiling it without QT creator and just straight using QMake when I get home, maybe that'll do the trick. Its definitely something with QT Creator I think because using the pure makefile.osx builds without issue.

Thanks so much! If anyone else has any insights your expertise is welcome!

Will keep this thread updated once this is solved I'll let everyone know. Hopefully this can help some other people out too; I can't be the only one with this issue.

Syscoin: Business on the Blockchain. - Buy and sell goods and services, send encrypted messages and more all secured by the blockchain.
Syscoin Website | Syscoin Whitepaper | Syscoin Team Price Peg
danosphere (OP)
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


Syscoin- Changing the way people do business.


View Profile WWW
January 28, 2014, 03:09:25 AM
 #6

bump still no luck...

I think it has something to do with how leveldb is compiled, that is new with 0.8.6... still looking for help with this issue  Roll Eyes

Syscoin: Business on the Blockchain. - Buy and sell goods and services, send encrypted messages and more all secured by the blockchain.
Syscoin Website | Syscoin Whitepaper | Syscoin Team Price Peg
koguma
Member
**
Offline Offline

Activity: 106
Merit: 10


View Profile
April 16, 2014, 02:45:50 PM
 #7

Ever got it figured out?  The problem is boost, but I can't seem to get it working even with this https://qt-project.org/forums/viewthread/35646

bump still no luck...

I think it has something to do with how leveldb is compiled, that is new with 0.8.6... still looking for help with this issue  Roll Eyes

TheLittleDuke
Legendary
*
Offline Offline

Activity: 1024
Merit: 1004



View Profile WWW
September 08, 2014, 12:23:42 PM
 #8

We recently went through this exercise and have built a stable development environment for Mac OS X.

The short answer is we acquired a 32-bit iMac and loaded 10.6.8 (Snow Leopard) onto it.

Instead of Macports we opted for Brew to acquire and build the dependencies.

The problem noted above is an issue with the "leveldb" sub-build.  The primary issue is that the "build_detect_platform" script needs to be set as executable in order for it to determine the ARCH.  You can also just manually set the flags in the makefile.  I can get those if you still need them.

The coind and the -qt versions work great on the development machine!  The issue we have recently run up against is the process for building a bundle for distribution.

This is especially evident when we try to move via a .dmg image to execute on a 64-bit machine.

The dylib files cause it to crash out since they are 64 bit.

I've seen a distro where the 32-bit libraries ride a long as a sub-directory in the bundle.

This might be the right way vs building a static image?

TBD

-dvd

It's Better 2GIVE
https://2Give.Info
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!