tilemill-project / tilemill

TileMill is a modern map design studio
https://tilemill-project.github.io/tilemill/
BSD 3-Clause "New" or "Revised" License
3.12k stars 527 forks source link

installation from source failed on ArchLinux #764

Closed sanderd17 closed 13 years ago

sanderd17 commented 13 years ago

I'm trying to get tilemill compiled on Arch Linux (and meanwhile make a package for it, so other user can install it better), but I'm stuck on the following error message:

> zipfile@0.2.4 install /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/zipfile
> node-waf configure build

> srs@0.2.8 install /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs
> node-waf -v configure build

Setting srcdir to                        : /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/zipfile 
Setting blddir to                        : /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/zipfile/build 
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr 
configuring internal libzip dep 
libzip-0.10/m4/libtool.m4
libzip-0.10/m4/ltoptions.m4
libzip-0.10/m4/ltsugar.m4
libzip-0.10/m4/ltversion.m4
libzip-0.10/m4/lt~obsolete.m4
libzip-0.10/README
libzip-0.10/configure.ac
libzip-0.10/aclocal.m4
libzip-0.10/Makefile.am
libzip-0.10/Makefile.in
libzip-0.10/config.h.in
libzip-0.10/libzip-uninstalled.pc.in
libzip-0.10/libzip.pc.in
libzip-0.10/configure
libzip-0.10/AUTHORS
libzip-0.10/INSTALL
libzip-0.10/NEWS
libzip-0.10/THANKS
libzip-0.10/TODO
libzip-0.10/compile
libzip-0.10/config.guess
libzip-0.10/config.sub
libzip-0.10/depcomp
libzip-0.10/install-sh
libzip-0.10/ltmain.sh
Setting srcdir to                        : /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs 
Setting blddir to                        : /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/build 
Checking for program g++ or c++          : /usr/bin/g++ 
libzip-0.10/missing
libzip-0.10/mkinstalldirs
libzip-0.10/LICENSE
libzip-0.10/CMakeLists.txt
libzip-0.10/cmake-config.h.in
libzip-0.10/cmake-zipconf.h.in
libzip-0.10/lib/zip.h
libzip-0.10/lib/zipconf.h
libzip-0.10/lib/zipint.h
libzip-0.10/lib/Makefile.am
libzip-0.10/lib/Makefile.in
libzip-0.10/lib/mkstemp.c
libzip-0.10/lib/zip_add.c
libzip-0.10/lib/zip_add_dir.c
libzip-0.10/lib/zip_close.c
libzip-0.10/lib/zip_delete.c
libzip-0.10/lib/zip_dirent.c
libzip-0.10/lib/zip_entry_free.c
libzip-0.10/lib/zip_entry_new.c
libzip-0.10/lib/zip_err_str.c
libzip-0.10/lib/zip_error.c
libzip-0.10/lib/zip_error_clear.c
libzip-0.10/lib/zip_error_get.c
libzip-0.10/lib/zip_error_get_sys_type.c
libzip-0.10/lib/zip_error_strerror.c
libzip-0.10/lib/zip_error_to_str.c
libzip-0.10/lib/zip_fclose.c
libzip-0.10/lib/zip_fdopen.c
libzip-0.10/lib/zip_file_error_clear.c
libzip-0.10/lib/zip_file_error_get.c
libzip-0.10/lib/zip_file_get_offset.c
libzip-0.10/lib/zip_file_strerror.c
libzip-0.10/lib/zip_filerange_crc.c
libzip-0.10/lib/zip_fopen.c
libzip-0.10/lib/zip_fopen_encrypted.c
libzip-0.10/lib/zip_fopen_index.c
libzip-0.10/lib/zip_fopen_index_encrypted.c
libzip-0.10/lib/zip_fread.c
libzip-0.10/lib/zip_free.c
libzip-0.10/lib/zip_get_archive_comment.c
libzip-0.10/lib/zip_get_archive_flag.c
libzip-0.10/lib/zip_get_compression_implementation.c
libzip-0.10/lib/zip_get_file_comment.c
libzip-0.10/lib/zip_get_encryption_implementation.c
libzip-0.10/lib/zip_get_file_extra.c
libzip-0.10/lib/zip_get_num_entries.c
libzip-0.10/lib/zip_get_num_files.c
libzip-0.10/lib/zip_get_name.c
libzip-0.10/lib/zip_memdup.c
libzip-0.10/lib/zip_name_locate.c
libzip-0.10/lib/zip_new.c
libzip-0.10/lib/zip_open.c
libzip-0.10/lib/zip_rename.c
libzip-0.10/lib/zip_replace.c
libzip-0.10/lib/zip_set_archive_comment.c
libzip-0.10/lib/zip_set_archive_flag.c
libzip-0.10/lib/zip_set_default_password.c
libzip-0.10/lib/zip_set_file_comment.c
libzip-0.10/lib/zip_set_file_extra.c
libzip-0.10/lib/zip_source_buffer.c
libzip-0.10/lib/zip_source_close.c
libzip-0.10/lib/zip_source_crc.c
libzip-0.10/lib/zip_source_deflate.c
libzip-0.10/lib/zip_source_error.c
libzip-0.10/lib/zip_source_file.c
libzip-0.10/lib/zip_source_filep.c
libzip-0.10/lib/zip_source_free.c
libzip-0.10/lib/zip_source_function.c
libzip-0.10/lib/zip_source_layered.c
libzip-0.10/lib/zip_source_open.c
libzip-0.10/lib/zip_source_pkware.c
libzip-0.10/lib/zip_source_pop.c
libzip-0.10/lib/zip_source_read.c
libzip-0.10/lib/zip_source_stat.c
libzip-0.10/lib/zip_source_zip.c
libzip-0.10/lib/zip_set_name.c
libzip-0.10/lib/zip_stat.c
libzip-0.10/lib/zip_stat_index.c
libzip-0.10/lib/zip_stat_init.c
libzip-0.10/lib/zip_strerror.c
libzip-0.10/lib/zip_unchange.c
libzip-0.10/lib/zip_unchange_all.c
libzip-0.10/lib/zip_unchange_archive.c
libzip-0.10/lib/zip_unchange_data.c
libzip-0.10/lib/CMakeLists.txt
libzip-0.10/lib/make_zip_err_str.sh
libzip-0.10/lib/make_zipconf.sh
libzip-0.10/src/Makefile.am
libzip-0.10/src/Makefile.in
libzip-0.10/src/zipcmp.c
libzip-0.10/src/zipmerge.c
libzip-0.10/src/ziptorrent.c
libzip-0.10/src/CMakeLists.txt
libzip-0.10/src/getopt.c
libzip-0.10/src/getopt.h
libzip-0.10/man/Makefile.am
libzip-0.10/man/Makefile.in
libzip-0.10/man/zipcmp.mdoc
libzip-0.10/man/zipmerge.mdoc
libzip-0.10/man/ziptorrent.mdoc
libzip-0.10/man/libzip.mdoc
libzip-0.10/man/zip_add.mdoc
libzip-0.10/man/zip_add_dir.mdoc
libzip-0.10/man/zip_close.mdoc
libzip-0.10/man/zip_delete.mdoc
libzip-0.10/man/zip_error_clear.mdoc
libzip-0.10/man/zip_error_get.mdoc
libzip-0.10/man/zip_error_get_sys_type.mdoc
libzip-0.10/man/zip_error_to_str.mdoc
libzip-0.10/man/zip_errors.mdoc
libzip-0.10/man/zip_fclose.mdoc
libzip-0.10/man/zip_fdopen.mdoc
libzip-0.10/man/zip_file_strerror.mdoc
libzip-0.10/man/zip_fopen.mdoc
libzip-0.10/man/zip_fopen_encrypted.mdoc
libzip-0.10/man/zip_fread.mdoc
libzip-0.10/man/zip_get_archive_comment.mdoc
libzip-0.10/man/zip_get_archive_flag.mdoc
libzip-0.10/man/zip_get_file_comment.mdoc
libzip-0.10/man/zip_get_file_extra.mdoc
libzip-0.10/man/zip_get_name.mdoc
libzip-0.10/man/zip_get_num_entries.mdoc
libzip-0.10/man/zip_get_num_files.mdoc
libzip-0.10/man/zip_name_locate.mdoc
libzip-0.10/man/zip_open.mdoc
libzip-0.10/man/zip_rename.mdoc
libzip-0.10/man/zip_set_archive_comment.mdoc
libzip-0.10/man/zip_set_archive_flag.mdoc
libzip-0.10/man/zip_set_default_password.mdoc
libzip-0.10/man/zip_set_file_comment.mdoc
libzip-0.10/man/zip_set_file_extra.mdoc
libzip-0.10/man/zip_source_buffer.mdoc
libzip-0.10/man/zip_source_file.mdoc
libzip-0.10/man/zip_source_filep.mdoc
libzip-0.10/man/zip_source_free.mdoc
libzip-0.10/man/zip_source_function.mdoc
libzip-0.10/man/zip_source_zip.mdoc
libzip-0.10/man/zip_stat.mdoc
libzip-0.10/man/zip_stat_init.mdoc
libzip-0.10/man/zip_unchange.mdoc
libzip-0.10/man/zip_unchange_all.mdoc
libzip-0.10/man/zip_unchange_archive.mdoc
libzip-0.10/man/zipcmp.man
libzip-0.10/man/zipmerge.man
libzip-0.10/man/ziptorrent.man
libzip-0.10/man/libzip.man
libzip-0.10/man/zip_add.man
libzip-0.10/man/zip_add_dir.man
libzip-0.10/man/zip_close.man
libzip-0.10/man/zip_delete.man
libzip-0.10/man/zip_error_clear.man
libzip-0.10/man/zip_error_get.man
libzip-0.10/man/zip_error_get_sys_type.man
libzip-0.10/man/zip_error_to_str.man
libzip-0.10/man/zip_errors.man
libzip-0.10/man/zip_fclose.man
libzip-0.10/man/zip_fdopen.man
libzip-0.10/man/zip_file_strerror.man
libzip-0.10/man/zip_fopen.man
libzip-0.10/man/zip_fopen_encrypted.man
libzip-0.10/man/zip_fread.man
libzip-0.10/man/zip_get_archive_comment.man
libzip-0.10/man/zip_get_archive_flag.man
libzip-0.10/man/zip_get_file_comment.man
libzip-0.10/man/zip_get_file_extra.man
libzip-0.10/man/zip_get_name.man
libzip-0.10/man/zip_get_num_entries.man
libzip-0.10/man/zip_get_num_files.man
libzip-0.10/man/zip_name_locate.man
libzip-0.10/man/zip_open.man
libzip-0.10/man/zip_rename.man
libzip-0.10/man/zip_set_archive_comment.man
libzip-0.10/man/zip_set_archive_flag.man
libzip-0.10/man/zip_set_default_password.man
libzip-0.10/man/zip_set_file_comment.man
libzip-0.10/man/zip_set_file_extra.man
libzip-0.10/man/zip_source_buffer.man
libzip-0.10/man/zip_source_file.man
libzip-0.10/man/zip_source_filep.man
libzip-0.10/man/zip_source_free.man
libzip-0.10/man/zip_source_function.man
libzip-0.10/man/zip_source_zip.man
libzip-0.10/man/zip_stat.man
libzip-0.10/man/zip_stat_init.man
libzip-0.10/man/zip_unchange.man
libzip-0.10/man/zip_unchange_all.man
libzip-0.10/man/zip_unchange_archive.man
libzip-0.10/man/CMakeLists.txt
libzip-0.10/regress/Makefile.am
libzip-0.10/regress/Makefile.in
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr 
'configure' finished successfully (0.055s)
libzip-0.10/regress/TODO
libzip-0.10/regress/add_dir.c
libzip-0.10/regress/add_from_buffer.c
Waf: Entering directory `/home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/build'
libzip-0.10/regress/add_from_file.c
libzip-0.10/regress/add_from_filep.c
libzip-0.10/regress/add_from_zip.c
libzip-0.10/regress/deltest.c
libzip-0.10/regress/encrypt.c
libzip-0.10/regress/fread.c
libzip-0.10/regress/get_comment.c
libzip-0.10/regress/name_locate.c
libzip-0.10/regress/set_comment_all.c
libzip-0.10/regress/set_comment_localonly.c
libzip-0.10/regress/set_comment_removeglobal.c
libzip-0.10/regress/set_comment_revert.c
libzip-0.10/regress/tryopen.c
libzip-0.10/regress/ziptest.c
libzip-0.10/regress/CMakeLists.txt
libzip-0.10/regress/runtest
libzip-0.10/regress/add_dir.test
libzip-0.10/regress/add_from_buffer.test
libzip-0.10/regress/add_from_file.test
libzip-0.10/regress/add_from_filep.test
libzip-0.10/regress/add_from_zip.test
libzip-0.10/regress/encrypt.test
libzip-0.10/regress/fread.test
libzip-0.10/regress/get_comment.test
libzip-0.10/regress/name_locate.test
libzip-0.10/regress/open_many_ok.test
libzip-0.10/regress/open_new_but_exists.test
libzip-0.10/regress/open_new_ok.test
libzip-0.10/regress/open_nonarchive.test
libzip-0.10/regress/open_nosuchfile.test
libzip-0.10/regress/open_ok.test
libzip-0.10/regress/set_comment_all.test
libzip-0.10/regress/set_comment_localonly.test
libzip-0.10/regress/set_comment_removeglobal.test
libzip-0.10/regress/set_comment_revert.test
libzip-0.10/regress/torrent-already.test
libzip-0.10/regress/torrent-new.test
libzip-0.10/regress/broken.zip
libzip-0.10/regress/encrypt.zip
libzip-0.10/regress/manyfiles.zip
[1/3] /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/tools/scons/scons.py -C ../deps/osr: deps/osr/SConstruct
11:46:44 runner system command ->  /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/tools/scons/scons.py -C ../deps/osr 
Traceback (most recent call last):
  File "/home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/tools/scons/scons.py", line 66, in <module>
    if os.environ.has_key("SCONS_LIB_DIR"):
AttributeError: '_Environ' object has no attribute 'has_key'
Waf: Leaving directory `/home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/build'
Build failed:  -> task failed (err #1): 
    {task: /home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/srs/tools/scons/scons.py -C ../deps/osr SConstruct -> }
npm ERR! error installing srs@0.2.8 Error: srs@0.2.8 install: `node-waf -v configure build`
npm ERR! error installing srs@0.2.8 `sh "-c" "node-waf -v configure build"` failed with 1
npm ERR! error installing srs@0.2.8     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing srs@0.2.8     at ChildProcess.emit (events.js:67:17)
npm ERR! error installing srs@0.2.8     at ChildProcess.onexit (child_process.js:192:12)
npm ERR! error installing millstone@0.1.1 Error: srs@0.2.8 install: `node-waf -v configure build`
npm ERR! error installing millstone@0.1.1 `sh "-c" "node-waf -v configure build"` failed with 1
npm ERR! error installing millstone@0.1.1     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing millstone@0.1.1     at ChildProcess.emit (events.js:67:17)
npm ERR! error installing millstone@0.1.1     at ChildProcess.onexit (child_process.js:192:12)
npm ERR! srs@0.2.8 install: `node-waf -v configure build`
npm ERR! `sh "-c" "node-waf -v configure build"` failed with 1
npm ERR! 
npm ERR! Failed at the srs@0.2.8 install script.
npm ERR! This is most likely a problem with the srs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-waf -v configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls srs
npm ERR! There is likely additional logging output above.
npm ERR! 
npm ERR! System Linux 3.0-ck
npm ERR! command "node" "/usr/bin/npm" "install"
npm ERR! cwd /home/sander/abs/tilemill/src/tilemill
npm ERR! node -v v0.4.12
npm ERR! npm -v 1.0.30
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/sander/abs/tilemill/src/tilemill/npm-debug.log
npm not ok
libzip-0.10/regress/test.zip
==> ERROR: A failure occurred in build().
    Aborting...
[sander@arch tilemill]$ tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/test.zip: Cannot open: No such file or directory
libzip-0.10/regress/testbuffer.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testbuffer.zip: Cannot open: No such file or directory
libzip-0.10/regress/testdir.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testdir.zip: Cannot open: No such file or directory
libzip-0.10/regress/testchanged.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testchanged.zip: Cannot open: No such file or directory
libzip-0.10/regress/testchangedlocal.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testchangedlocal.zip: Cannot open: No such file or directory
libzip-0.10/regress/testcomment.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testcomment.zip: Cannot open: No such file or directory
libzip-0.10/regress/testcommentremoved.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testcommentremoved.zip: Cannot open: No such file or directory
libzip-0.10/regress/testfile.txt
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testfile.txt: Cannot open: No such file or directory
libzip-0.10/regress/testfile.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testfile.zip: Cannot open: No such file or directory
libzip-0.10/regress/testnottorrent.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testnottorrent.zip: Cannot open: No such file or directory
libzip-0.10/regress/teststored.zip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/teststored.zip: Cannot open: No such file or directory
libzip-0.10/regress/testtorrent.tzip
tar: libzip-0.10: Cannot mkdir: No such file or directory
tar: libzip-0.10/regress/testtorrent.tzip: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
Traceback (most recent call last):
  File "/usr/bin/node-waf", line 16, in <module>
    Scripting.prepare(t, os.getcwd(), VERSION, wafdir)
  File "/usr/bin/../lib/node/wafadmin/Scripting.py", line 145, in prepare
    prepare_impl(t, cwd, ver, wafdir)
  File "/usr/bin/../lib/node/wafadmin/Scripting.py", line 135, in prepare_impl
    main()
  File "/usr/bin/../lib/node/wafadmin/Scripting.py", line 188, in main
    fun(ctx)
  File "/usr/bin/../lib/node/wafadmin/Scripting.py", line 241, in configure
    conf.sub_config([''])
  File "/usr/bin/../lib/node/wafadmin/Configure.py", line 221, in sub_config
    self.recurse(k, name='configure')
  File "/usr/bin/../lib/node/wafadmin/Utils.py", line 634, in recurse
    f(self)
  File "/home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/zipfile/wscript", line 60, in configure
  File "/home/sander/abs/tilemill/src/tilemill/node_modules/millstone/node_modules/zipfile/wscript", line 46, in configure_libzip
OSError: [Errno 2] No such file or directory: 'libzip-0.10'
kkaefer commented 13 years ago

What version of python to do you have? You can find out with python -V. We recommend using Python >= 2.7. I'm not sure whether installing works with an older version of python.

sanderd17 commented 13 years ago

Normally Arch has the most recent vanilla versions of all packages (it usually takes less than one day before a new release is in the repositories). But we do have to install all packages ourselves (nothing is preinstalled, apart from some basic bash tools).

[sander@arch ~]$ python -V
Python 3.2.2
kkaefer commented 13 years ago

Heh, I reckon the build tool node.js uses only supports Python 2.x.

sanderd17 commented 13 years ago

Ok, so I should downgrade first.

When will you have support for python 3.x? Is this support planned?

kkaefer commented 13 years ago

We're basically restricted to use waf/node-waf because node's underlying build system is waf. That means there's not much we can do about that. There are plans in the node project to switch the build system to gyp, but that won't happen before the next stable version 0.6. MapBox is currently built on the stable 0.4.x branch.

sanderd17 commented 13 years ago

Ok, thanks for the help

pfrenssen commented 12 years ago

Here's what I did to install Tilemill on Arch. I could not immediately find how to let the node.js package manager use Python 2, so I worked around it by temporarily changing the python symlink. I would not recommend to downgrade Python to version 2 on Arch, since it might break programs that depend on Python 3.

Tilemill depends on mapnik 2, which is only available as a source package in the Arch User Repository (mapnik-git). It takes quite some time to compile. I use pacaur to install AUR packages, so replace this with your own preferred program, or install it manually.

Note that it is possible you need additional packages, I often compile software from source so I already have a large number of development packages installed on my system.

# Install dependencies.
sudo pacman -S nodejs
pacaur -S mapnik-git

# Download the Tilemill source.
cd /usr/local/src/
git clone https://github.com/mapbox/tilemill.git

# Compile and install Tilemill, working around the python2 requirement.
cd tilemill
sudo rm /usr/bin/python && sudo ln -s python2 /usr/bin/python
npm install
sudo rm /usr/bin/python && sudo ln -s python3 /usr/bin/python

# Replace 'python' with 'python2' in all python sources.
grep -rl --null "#\!/usr/bin/env python" * | xargs -0 perl -pi -e 's|#!/usr/bin/env python$|#!/usr/bin/env python2|g'
grep -rl --null "#\!/usr/bin/python" * | xargs -0 perl -pi -e 's|#!/usr/bin/python$|#!/usr/bin/python2|g'

# Launch Tilemill.
./index.js
nickoe commented 12 years ago

I have made PKGBUILD to handle tilemill. It can be found on aur.archlinux.org, where the python hax could be reduced to something like below, and without modifying the system in the process and only work in the package.

mkdir -p $srcdir/bin
ln -s -f /usr/bin/python2 $srcdir/bin/python
export PATH=$srcdir/bin:$PATH

Tilemill in AUR

cr105ph1nx commented 2 years ago

Tilemill depends on mapnik 2, which is only available as a source package in the Arch User Repository (mapnik-git). It takes quite some time to compile. I use pacaur to install AUR packages, so replace this with your own preferred program, or install it manually.

@pfrenssen I know that this is quite an old issue but maybe useful for people stumbling on this way later like me. I can not install mapnik-git for the life of me, I tried with helpers like pacaur and aurman after failing with makepkg but the building always succeeds to make my pc stop responding after 5 or 6 minutes. I looked up some issues on the mapnik repo and there's nothing similar to what I'm going through, it has nothing to do with the compiler I'm using I guess since it doesn't show me any error, it just hangs.

and for @nickoe's solution, I'd love to try it but your PKGBUILD is not available on the AUR at the moment.

Thanks for your contributions everyone, when I find a way to make TIlemill work on Arch I won't fail to post it here