Building gdb from source on MacOS - macos

I'm trying to install a cross-compiled gdb on an Apple M1 MacBook. I downloaded gdb 11.1 and did:
/tmp/src/gdb-11.1/configure --enable-targets=all
make
sudo make install
The commands seemed to have completed without error. All the relevant files seems to be installed when I check /usr/local/include, /usr/local/lib, etc., but the actual binary for gdb is nowhere to be found.
Ideas?

GDB is not supported on MacOS/m1 (aarch64).
You can track (authoritative) updates on the GDB discussion lists. The link below is latest status (July 2022). Currently there are no contributors working on it, only option appears to be LLDB (which should be able to handle "-O0" code).
https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713#Spark/

Related

Replacing old Xcode command line tool with newer Brew version

I'm trying to build a binary from source code which has a dependency on the package" NASM 2.12.02 or later. However, I have an earlier version already installed on my Mac via Xcode:
/usr/local/bin/nasm -v
NASM version 0.98.40 (Apple Computer, Inc. build 11) compiled on May 1 2018
So to (attempt to) rectify this, I used Homebrew to install a much newer version of the package
brew info nasm
nasm: stable 2.13.03 (bottled), HEAD
However, now my PATH is only pointed to the old NASM executable, while the new tool seems to be sitting in Homebrew's Cellar (ie. /usr/local/Cellar/nasm/2.13.03).
Is there a nice way of "switching" between these versions so that the system PATH views only the newer version and disregards the older one? So far I've thought of rm -rf-ing the old version and exporting the new version to my PATH, but that seems very destructive.
Also, I have run the command: brew doctor and have resolved all linker errors, but that has not seemed to help.
Any help would be greatly appreciated!
To fix this, I used the following command:
export PATH=/usr/local/Cellar/nasm/2.13.03/bin:$PATH
This modifies the PATH variable to point to the /usr/local/Cellar/nasm/2.13.03/bin directory and find the nasm executable there before looking in /usr/local/bin.

Desperately trying to build open source tools (octave) on a Mac 10.6 Snow Leopard (involves Xcode, gcc, fink)

The ironic thing is that all this used to work on my Mac, but Apple no longer supports 10.5.8, so I was forced to update to Snow Leopard, 10.6. And everything broke (thank you Apple).
On the surface, it seems simple. Build an open source package like octave under Snow Leopard (Mac OS X 10.6)
Apple has made this difficult, to say the least. They no longer download XCode for older operating systems unless you are a paid developer. My Macbook pro 2.16Ghz cannot load Lion, so that option is not available.
My old fink doesn't work because it was old. In order to build a new one, I need Xcode 3.2, which I can't get (see above).
I downloaded a free gcc 4.2, and it works fine.
So in order to try to build octave, it's the old style gnu install:
./configure
make
make install
./configure fails because there is no fortran installed. That's a special case because the install of gcc didn't include fortran. So a fallback would be building a complete gcc which I have done in the past.
downloaded gcc 4.9:
gcc-4.9-20130728
inside, gcc49
gcc can't build because it needs the three subsidiary packages gmp, mpfr and mpc
I am now trying to build these, so that I can bootstrap a complete gcc build, but in the meantime, is there any simpler way to bootstrap these things? I find it hard to understand why no binaries are available for:
fink
octave
which would solve part of my current problems.
You can still get XCode. You just have to be registered on Apple Developer, but you do not have to pay for the license. You then download it through the Mac App store, or you can get a link that opens it in the App store here. Finally, you have to install the command line tools from within Xcode. These can be found under the Components tab of the Download Preferences panel.
Let me know if that does not help. My iMac running 10.6 is currently in for repairs, so I am on my 10.7 laptop and cannot test all the specifics yet.

Install Victor Shoup's NTL library on Mac OS X

I am trying to install Victor Shoup's NTL package on a fully up-to-date Mac (latest OSX etc).
I downloaded the latest package (NTL 6.0.0) from http://www.shoup.net/ntl/download.html, unpacked it and ran the configure script
./configure PREFIX=$HOME/NTL NTL_GMP_LIP=on
to indicate that I want the package to be installed in a directory $HOME/NTL and that GMP is already installed in a standard place.
The compilation
make
appears to work fine.
However, when I do
make check
on the compiled code, then it starts the tests, does a few of them correctly, but then simply refuses to complete the test called ZZXFacTest.
According to the Activity Monitor, the test is just running, but it never seems to terminate.
On a recent Linux machine, the exact same process finishes correctly.
SOLVED - the problem was to do with GMP.
When I turned off the "GMP is locally installed" flag, the checks worked, so I reinstalled the most recent version of GMP and it all worked...

Why is clang not working in Mac Os X 10.5.8 (Leopard) for compiling Z3?

I am not a pro-user of Mac, so I am having a lot of problems to install software. I would like to run the Z3Py (Z3 API using Python). I download Z3 v4.3.1, I installed clang v2.9 using Macports-2.1.2 and finally, when I run for Z3
>autoconf
>./configure CXX=clang++
>python scripts/mk_make.py
>cd build
>make
I obtained:
src/shell/datalog_frontend.cpp
make: clang++: Command not found
make: *** [shell/datalog_frontend.o] Error 127
Since clang++ is in /opt/local/libexec/llvm-2.9/bin
I am not able to understand what it is happening and how to solve it. I really appreciate whatever hint because after two days trying I have not find any solution.
I just tried to replicate this error report, but I was unable to do so. Z3 builds just fine with CXX=clang++ on my machine. I can only suspect that your clang++, while it may be installed, is not in the path. For instance, simply running clang++ in the console would throw the same "command not found" error. Perhaps this could be fixed by simply running
export PATH=$PATH:/opt/local/libexec/llvm-2.9/bin
before attempting compilation. However, I suspect there would be more issues with libraries not being found after that.
I could imagine that something went wrong during the installation via MacPorts, e.g., that it requires modifications to various environment variables which are not done automatically.
As Nuno suggests, XCode (with CLI tools) may be much easier to use and they should be available for free in the AppStore.
You should install XCode CLI tools instead. It already includes an up-to-date version of clang (2.9 is very old).
I think both XCode and XCode CLI tools are free on Appstore and/or apple developer center.

Gdb on Mac OS X v10.7 (Lion)

I am a new Mac user and wonder how to install the latest version of GDB (> 7.1). I prefer to use Homebrew, but I could not find GDB listed.
brew install gdb
Error: No available formula for gdb
What is the best way to do it?
When installed Xcode, it may have installed an older version. Currently,
$ which gdb
/usr/bin/gdb
$ gdb --version
GNU gdb 6.3.50-20050815 (Apple version gdb-1705) (Fri Jul 1 10:50:06 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
But I need version > 7.1
System version,
Model Name: MacBook Air
System Version: Mac OS X 10.7.1 (11B2118)
Homebrew does not provide gcc and the associated development tool formulas over concerns that custom/non-system compilers could break builds. Two possibilities for easiness:
Use http://www.macports.org/
Look here https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
This is probably the command for you:
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb
Some new users may find themselves in the same situation given the Mac OS X v10.9 (Mavericks) upgrade.
Solution
Install the development tools and Xcode
Then install Homebrew
Then do:
brew install homebrew/dupes/gdb
You will notice that some applications will not allow you to use the newly added GDB.
This is because it is not signed by Apple any more.
To side step this issue: Follow this; thanks to #andre
I've had some people hit me up on IRC for more detailed instructions for this. I made a post on my site. You can find it here.
This does not directly answer the given question, but if you're like me, what you really want is a simple way to run (something very much like) gdb.
Apple now uses Clang as its compiler, and it turns out that the clang debugger, lldb, is installed along with the other command-line tools. It appears that lldb is designed with a user interface that mimics gdb very closely.
So, the answer to your question may in fact be:
just use lldb!

Resources