ImageMagick - How to Build a 32-bit Mac version for MAMP? - macos

This is a pretty straight-forward question: I have an older INTEL Mac (32-bit) and I need to build a 32-bit version of ImageMagick.
I've seen some people playing around with options during the binary install, but I can't seem to find any reliable information about how to do this!
NOTE: ImageMagick gives out a 64-bit version of the binaries for Mac OS X on their webpage, but I'm not sure if this can be hacked into a 32-bit version during compiling?
THANK YOU - I'm really stuck on this!

The problem was ImageMagick's un-intuitive webpage that made it a little hard to figure out how to proceed - I finally found the binaries on their page and installed following these directions:
Intro:
If you have an older INTEL MacBook - it might have a 32-bit processor. This is how to compile ImageMagick (Mac OS X version) as a 32-bit program using the ImageMagick binary files - NOT USING MACPORTS!.
To find out what processor you have, i.e. 32-bit or 64-bit, look here:
http://support.apple.com/kb/ht3696
To install via MACPORTS look here:
http://xentek.net/articles/442/installing-imagemagick-and-imagick-via-macports/
My Computer:
This worked on my first-generation INTEL Macbook (you know - the white one with a Due Core processor).
OS:
I'm running OS X 10.6.4 (Snow Leopard)
INSTALL STEPS:
1. The trick is to ignore ImageMagick's pre-packed MAC OS X install package because it's compiled in a 64-bit version - we want a 32-bit version instead!
So, we need to get the UNIX binaries here: http://www.imagemagick.org/script/install-source.php#unix
Following the page's instructions, we download a file called ImageMagick.tar.gz. The ImageMagick group seemingly updates this link to point to the latest version.
The file is a compressed TAR file with the extension tar.gz. If you're using MAMP (like I am) then you might want to create a new file called "ImageMagick" (without the quotation marks "") in this folder: /Applications/MAMP/bin/. Normally we would install ImageMagick into this folder - however, because we're working from the binaries, a standard ./configure / make / make install pattern will simply default install ImageMagick into whatever path you have set up on your computer. In my case, my default path is the USR/LOCAL folder.
NOTE: if somebody wants to write here how to instead direct the ./configure options so that ImageMagick will install into a MAMP folder (or other folder) instead of the default path, that would be really helpful!
Well, back to the MAMP 32-bit install:
Place your recently-downloaded binary copy of ImageMagick in a new folder. I use a folder called SRC to keep all these intermediate copies of files in a place that I can later delete/clean when they are not necessary.
Next, expand the compressed file by opening your TERMINAL (look for the program in the "Utilities" folder).
With TERMINAL open, type the following:
cd path/to/the/ImageMagick/file #navigate to the folder where the file is saved
tar xvfz ImageMagick.tar.gz #expand the tar ball file
You should now see in the ImageMagick folder a new folder that you just expanded, called (for example) "ImageMagick-6.6.3" (NOTE: later versions of ImageMagick might have a different version number written at the end of this). Right now the folder would be called ImageMagick-6.6.3-2 ...
Move one level up into that folder.
To do so, type the following into TERMINAL:
cd ImageMagick-6.6.3-2 #replace the version number
Now you're going to run a standard .configure / make / make install pattern - your compiler/system should automatically configure the build to your 32-bit environment!
In terminal, you should be in the ImageMagick-6.6.3 file folder. Once there, run these commands:
sudo ./configure #I use SUDO here just in case your file permissions are messed up...
make #go get a cup of coffee
make install #go get another cup ...
HINT: text after the "#" is just my comments - just ignore the # and also the text on that line following the hash...
Make sure the "./configure" "MAKE" and "MAKE INSTALL" commands finish without errors - they should run just fine!
Then, you can run the standard ImageMagick test using your TERMINAL program:
Type this out to run the tests:
convert logo: logo.gif
identify logo.gif
display logo.gif
Wholla! You should see the ImageMagick logo pop up - meaning that ImageMagick is now installed on your 32-bit MAC OS X computer!

thx for this! to point configure to a different installation directory the syntax is:
./configure --prefix=NEW_PREFIX
where NEW_PREFIX should be set to the path of your mamp installation directory.

Related

Install .tar.gz on MAC

I failed to understand the INSTALL.md file. I know few programming knowledge. I appreciate anyone can give me a thorough explanation or instruction.
The software I wanna install is https://sourceforge.net/projects/scidavis/
Information in INSTALL.md
Mac OS X - MacPorts instructions
These notes refer to use MacPorts. Using other build environments such
as HomeBrew is presumably equally as viable, but you may need to hack
the config files a bit.
Install MacPorts.
Install XCode and XCode command line
tools
If you want to be able to run your build on an earlier version of
MacOSX than your build machine, see How to build a Macintosh
executable that will run on older versions of
MacOSX.
Install the prerequisites for scidavis.
port install qt4-mac qwt52 qwtplot3d boost gsl py27-pyqt4 py-pyqwt py27-sip muparser
Sadly, you may need to do this step multiple times before eveything
is installed
link sip-2.7 share directory to where sip expects it to be:
ln -sf /opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/sip /opt/local/share/py27-sip
Add qt's bin directory to your PATH
PATH=/opt/local/bin:/opt/local/libexec/qt4/bin:$PATH
Configure scidavis
qmake CONFIG+=osx_dist
Build scidavis
make qmake
make
Create the installable package
sh mkMacDist.sh
Thanks in advance
If you are trying to install a tar.gz files you must first run gunzip on the file. gunzip filename. This should give you a .tar file. To open the tar file run: tar -x filename.tar.
NOTE: if you're trying to install a unix executable, it's sometimes easier to use homebrew. Search the internet for the application you're trying to install and the term homebrew, and it might bring up a page on homebrew and give you a simple install command which you can run in the mac terminal.
Steps to install tar.gz on macOS
Double click it the tar.gz file open it
Its contents (e.g. directories/files it contained) should appear in the same directory the tar.gz file is in (to prevent clutter, consider placing the tar.gz file in a new, empty directory before double clicking on it)
One of the new files might be a unix executable that looks like this:
Open another finder window (command + n), navigate to this location /usr/local/bin, and place the executable file you found in the previous step in this new location (you can do this using the mac terminal if you prefer - here's a random example showing show)
At this point, open a new terminal tab, and type the name of the program (the file you moved in steps 4), terminal should recognise the program. However, if you see this there is one more step:
Go to System Preferences -> Security & Privacy -> General tab. Click the lock icon, type password if it asks for it, and then click on 'Allow'.

its possible install telegram-cli in windows

Is it Possible to install telegramcli in Windows?
I want to compile .exe file.
this source run in ubuntu but not worked php shell
First of all, the binary is now in ./bin folder and is named telegram-cli. So be careful, not to use old binary.
Second, config folder is now ${HOME}/.telegram-cli
Third, database is not compatible with older versions, so you'll have to login again.
Fourth, in peer_name '#' are substitued to '#'. (Not applied to appending of '#%d' in case of two peers having same name).
You can use Cygwin to compile the original source code into telegram-cli windows binary.
Follow this guide (official): https://github.com/vysheng/tg/blob/master/README-Cygwin.md

Cucumber not showing coloured output in windows

this is probably something really stupid but I can't work it out.
I upgraded my version of cucumber to v 0.10.0 and now the test's (running on Win 7) are not showing coloured output with the "pretty" formatter.
When tests are run it prints this error: *** WARNING: You must use ANSICON 1.31 or higher (http://adoxa.110mb.com/ansicon) to get coloured output on Windows
I have been to http://adoxa.110mb.com/ansicon but it's not obvious to me how I should be upgrading it. Anyone know how to upgrade my version of anscion?
One of the dev's at my work figured it out.
You need to
Download Ansicon from https://github.com/adoxa/ansicon/downloads and unzip it into a directory
with no spaces
Open a command prompt and cd to the folder where you unzipped it
Now, cd into either x86 or x64 (depending on your machine’s processor) and install it globally on
your machine (For example, D:\Cucumber\ansi160\x64)
Type ansicon.exe –i OR ansicon -i and press Enter
Any program that prints ANSI colors will now display properly on your machine.
Update as of today, http://adoxa.110mb.com/ansicon is no longer accessible.
Files have been uploaded to https://github.com/adoxa/ansicon/downloads.
I tried downloading from adoxa.3eeweb.com, but Chrome warned me that the file was "not commonly downloaded and could be dangerous."
So I opted with the file from github.
Besides that, I just followed the steps mentioned above and my output is now coloured.

Where is a binary file once it's been built (for ffmpeg)?

I need to build ffmpeg for Mac for converting MOV to FLV in a Java application. I made and installed LAME and then FFMPEG, but I'm confused as to what file I should grab to include with the Java application. What is the binary file? The previous version that I grabbed from the source of ffmpegX was 10mb in size, but the file that's in my /usr/local/bin is only 0.1mb. Is that the right file, or what do I need to include?
I'm not too savvy with anything that needs to be typed into Terminal, so excuse the lack of technical jargon!
Short answer: that file in /usr/local/bin is either the real binary or a soft link to the real binary. If you run ls -l /usr/local/bin any links will be displayed with an arrow to their target location. But pszilard is probably right, that file might be the actual binary, which was dynamically linked to library code.
Long answer: If you compiled from source, then you ran the following three commands
./configure
make
make install
The first one creates a configuration file called config.mak. Near the top of that file, you'll see a lines similar to the following:
prefix=/usr/local
LIBDIR=$(DESTDIR)${prefix}/lib
SHLIBDIR=$(DESTDIR)${prefix}/lib
INCDIR=$(DESTDIR)${prefix}/include
BINDIR=$(DESTDIR)${prefix}/bin
DESTDIR is optional; it's irrelevant unless you ran make install with an additional argument. BINDIR is the actual install location. On my system (snow leopard) that was /usr/local/bin/.
If you're still having trouble, just don't install the build. If you run
make clean
make
The binary will be in your build folder.
Don't use MacPorts or Fink. You'll be happier in the long run if you compile from source yourself. If you insist on using a package manager, try Homebrew <Link>.
I'm not a Mac expert by far, but I've a few tips. If you build the lib with dynamic linkage and the the other one was statically linked that might explain the size difference.
As for the location, what did you use? MacPorts, Fink, or source? If you built from source depends what you used :) MacPorts and Fink have their specific location for binaries (I don't remember anymore, but the documentation should have the info, otherwise the big G has it ;)

How to install pkg config in windows?

I am trying to do it, but all I can get is some source code that I don't know how to do deal with I downloaded from http://pkgconfig.freedesktop.org/releases/.
This is a step-by-step procedure to get pkg-config working on Windows, based on my experience, using the info from Oliver Zendel's comment.
I assume here that MinGW was installed to C:\MinGW. There were multiple versions of the packages available, and in each case I just downloaded the latest version.
go to http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
download the file pkg-config_0.26-1_win32.zip
extract the file bin/pkg-config.exe to C:\MinGW\bin
download the file gettext-runtime_0.18.1.1-2_win32.zip
extract the file bin/intl.dll to C:\MinGW\bin
go to http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
download the file glib_2.28.8-1_win32.zip
extract the file bin/libglib-2.0-0.dll to C:\MinGW\bin
Now CMake will be able to use pkg-config if it is configured to use MinGW.
Get the precompiled binaries from http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
Download pkg-config and its depend libraries :
pkg-config_0.26-1_win32.zip
glib_2.28.8-1_win32.zip
gettext-runtime_0.18.1.1-2_win32.zip
A alternative without glib dependency is pkg-config-lite.
Extract pkg-config.exe from the archive and put it in your path.
Nowdays this package is available using chocolatey, then it could be installed with
choco install pkgconfiglite
I did this by installing Cygwin64 from this link https://www.cygwin.com/
Then - View Full, Search gcc and scroll down to find pkg-config.
Click on icon to select latest version.
This worked for me well.
I would like to extend the answer of #dzintars about the Cygwin version of pkg-config in that focus how should one use it properly with CMake, because I see various comments about CMake in this topic.
I have experienced many troubles with CMake + Cygwin's pkg-config and I want to share my experience how to avoid them.
1. The symlink C:/Cygwin64/bin/pkg-config -> pkgconf.exe does not work in Windows console.
It is not a native Windows .lnk symlink and it won't be callable in Windows console cmd.exe even if you add ".;" to your %PATHEXT% (see https://www.mail-archive.com/cygwin#cygwin.com/msg104088.html).
It won't work from CMake, because CMake calls pkg-config with the method execute_process() (FindPkgConfig.cmake) which opens a new cmd.exe.
Solution: Add -DPKG_CONFIG_EXECUTABLE=C:/Cygwin64/bin/pkgconf.exe to the CMake command line (or set it in CMakeLists.txt).
2. Cygwin's pkg-config recognizes only Cygwin paths in PKG_CONFIG_PATH (no Windows paths).
For example, on my system the .pc files are located in C:\Cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\lib\pkgconfig. The following three paths are valid, but only path C works in PKG_CONFIG_PATH:
A) c:/Cygwin64/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig -
does not work.
B) /c/cygdrive/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig -
does not work.
C) /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig - works.
Solution: add .pc files location always as a Cygwin path into PKG_CONFIG_PATH.
3) CMake converts forward slashes to backslashes in PKG_CONFIG_PATH on Cygwin.
It happens due to the bug https://gitlab.kitware.com/cmake/cmake/-/issues/21629. It prevents using the workaround described in [2].
Solution: manually update the function _pkg_set_path_internal() in the file C:/Program Files/CMake/share/cmake-3.x/Modules/FindPkgConfig.cmake. Comment/remove the line:
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
4) CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH have no effect on pkg-config in Cygwin.
Reason: the bug https://gitlab.kitware.com/cmake/cmake/-/issues/21775.
Solution: Use only PKG_CONFIG_PATH as an environment variable if you run CMake builds on Cygwin. Forget about CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH.
Install mingw64 from https://sourceforge.net/projects/mingw-w64/. Avoid program files/(x86) folder for installation. Ex. c:/mingw-w64
Download pkg-config__win64.zip from here
Extract above zip file and copy paste all the files from pkg-config/bin folder to mingw-w64. In my case its 'C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin'
Now set path = C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin
taddaaa you are done.
If you find any security issue then follow steps as well
Search for windows defender security center in system
Navigate to apps & browser control> Exploit protection settings> Program setting> Click on '+add program customize'
Select add program by name
Enter program name: pkgconf.exe
OK
Now check all the settings and set it all the settings to off and apply.
Thats DONE!
Another place where you can get more updated binaries can be found at Fedora Build System site. Direct link to mingw-pkg-config package is: http://koji.fedoraproject.org/koji/buildinfo?buildID=354619
for w64-based computers you have to install mingw64. If pkg-config.exe is missing then, you can refer to http://ftp.acc.umu.se/pub/gnome/binaries/win64/dependencies/
Unzip and copy/merge pkg-config.exe into your C:\mingw-w64 installation, eg. into on my pc into C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
In 2022 VS Code works with CMake & pkgconfig out of the box (add pkgconf && vcpkg-pkgconfig-get-modules to your vcpkg.json)
From: https://github.com/JoinMarket-Org/joinmarket/wiki/Installing-JoinMarket-on-Windows
This guide describes how to install JoinMarket and its dependencies (python, libsodium, secp256k1) on Windows.
Some or all of this may or may not work for all versions of Windows. Reports appreciated. It is not claimed to be in any way comprehensive. Verification of downloads are your own responsibility.
Install JoinMarket - go to https://github.com/JoinMarket-Org/joinmarket/releases and download the most recent release. Unzip it into any location you choose.
You will need to install MinGW from here or go to their website. After a few introductory screens, you will be shown a windows with some optional components that you have to choose; this basic setup is sufficient:
From "Basic Setup" in the left menu:
mingw-developer-toolkit
mingw32-base
mingw32-gcc-g++
msys-base
Once you have chosen these, choose "Update" from the main menu first item. These components will be installed into C:\MinGW\bin. Once that is complete, you should have this dll: libgcc_s_dw2-1.dll in that folder C:\MinGW\bin, along with a lot of other files; I'm mentioning this file explicitly, since it's needed specifically for libsecp256k1 to operate in this setup.
Next, you must make sure C:\MinGW\bin is added to your PATH variable. Here's one guide to how to do that; you must append ;C:\MinGW\bin to the end of the path before continuing.
Install Python from https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi. Run the executable. Choose to install the feature Add python.exe to Path (it's the last option in the installer, off by default - switch it on) on local hard drive during installation; Python should then be installed in C:\Python27 (EXTRA NOTE: the most recent 2.7 installation linked here seems to install pip automatically, which is very useful for step 4)
Check that Python runs. Open a new command prompt as administrator by typing cmd.exe into the Start menu and pressing Ctrl+Shift+Enter. Type python and you should see something like:
Python 2.7.11 (default....
....
>>>
Exit the Python console with exit() or by pressing Ctrl+C. Now, make sure your version of pip is up to date: run the command: python -m pip install --upgrade pip.
Go to the directory C:\Python27\Lib\distutils and add a new file, called distutils.cfg. Inside it, put:
[build]
compiler=mingw32
Close and save the file.
Next, you need to install the dll for libnacl. First go to https://download.libsodium.org/libsodium/releases/ and choose the file libsodium-1.0.4-msvc.zip to download. Unzip anywhere, and then copy the file libsodium.dll from the directory \Win32\Release\v120\dynamic (do not use v140), and paste it into root joinmarket directory (the same directory where README.md lives). Then you need to address the Visual C++ 2013 runtime dependency. Do so by going to www.microsoft.com/en-us/download/details.aspx?id=40784 and clicking Download. Choose x86 even on a 64-bit system, and run the executable.
Note that after doing this, you must run pip install -r requirements-windows.txt from the Joinmarket root directory (where the README.md file is) and should not get an error message (this will install/check the python packages libnacl and secp256k1(-transient)).

Resources