Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

[libstxxl] updated to 1.4.0 release #25163

Closed
wants to merge 1 commit into from

5 participants

Dennis Luxen Mike McQuaid Adam Vandenberg Misty De Meo Tomasz Pajor
Dennis Luxen

Updates the formula to today's 1.4.0 release. Simplifies formula as upstream patches were integrated into the release.

Mike McQuaid
Owner

Doesn't build on 10.7/8.

Adam Vandenberg
Owner
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/lib/common/cmdline.cpp:13:
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/common/cmdline.h:23:
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/common/utils.h:30:
/tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/compat/type_traits.h:20:10: fatal error: 'type_traits' file not found
#include <type_traits>

Is Xcode 4 / TR1 support still expected, or is this Xcode 5 only now?

Dennis Luxen

Already in contact with the maintainer

Mike McQuaid
Owner

May just need appropriate fails_withs.

Misty De Meo
Owner

No core parts of STXXL require C++11.

And support marked back to GCC 3.x, so it should work with libstdc++.

Misty De Meo
Owner

@DennisOSRM Where is that conversation happening?

Dennis Luxen

@mistydemeo private mail exchange so far. Here's the gist:

clang defines GXX_EXPERIMENTAL_CXX0X by default which collides with the ifdefs in include/stxxl/bits/compat/type_traits.h

Most probably it suffices to reorder the checks in that file, but I don"t have a machine to test right now. I am supposed not to misuse the CI test machines for that, right?

Mike McQuaid
Owner

Depends how quick the build is. If it only takes <5m then feel free.

Dennis Luxen

Appended a patch to the PR, but github appears to not pick it up automatically: https://github.com/DennisOSRM/homebrew/compare/libstxxl-1.4.0

Adam Vandenberg
Owner

You need to git push -f to update here.

Mike McQuaid
Owner

@adamv Think this is something weird with PRs post-migration, actually.

Adam Vandenberg
Owner

@BrewTestBot test this please

Adam Vandenberg adamv self-assigned this
Adam Vandenberg adamv referenced this pull request from a commit in adamv/homebrew
Dennis Luxen DennisOSRM libstxxl 1.4.0
Closes #25163.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
6b64acd
Adam Vandenberg adamv referenced this pull request
Closed

libstxxl 1.4.0 #27317

Adam Vandenberg
Owner

Doesn't seem to be working on 10.8 or 10.7: #27317

Adam Vandenberg
Owner

Homepage says "Mac OS X - clang++ (3.3)" so presumably this should work on 10.8 with Xcode 5.

Adam Vandenberg
Owner

This Cmake build is not specifying the install prefix, and this software is trying to install directly into /usr/local now instead of the prefix.

Adam Vandenberg
Owner

This needs to be rebased on master for further review.

Adam Vandenberg
Owner

Probably going to redact this entirely from the main repo.

Dennis Luxen

rebased to master.

Dennis Luxen DennisOSRM [libstxxl] updated to 1.4.0 release
fix compilation on 10.7 and 10.8

apply patch on old OS X versions, further include fixes for 10.7/10.8
f59084a
Dennis Luxen

also squashed into a single commit. Is there a way to trigger a rebuild by the jenkins bot?

Adam Vandenberg
Owner

force-pushing retriggers the bot

Adam Vandenberg
Owner

@Homebrew/owners can a maintainer with better knowledge of the C++11 DSL bits take a look at this?

Adam Vandenberg adamv removed their assignment
Misty De Meo
Owner

@BrewTestBot test this please

Misty De Meo
Owner

This fails on 10.7 and 10.8 still. Is it expected to build there?

See #29505 for what happens when they're built in C++11 mode.

Misty De Meo
Owner

The error:

/tmp/libstxxl-nYie/stxxl-1.4.0/include/stxxl/bits/compat/type_traits.h:33:7: error: no member named 'remove_const' in namespace 'std'; did you mean 'std::tr1::remove_const'?
using std::remove_const;
      ^~~~~~~~~~~~~~~~~
      std::tr1::remove_const
/usr/include/c++/4.2.1/tr1/type_traits:521:12: note: 'std::tr1::remove_const' declared here
    struct remove_const
           ^
Misty De Meo
Owner

Reported the issue upstream: stxxl/stxxl#7

Tomasz Pajor nijikon referenced this pull request
Closed

libstxxl 1.4.0 #29980

Tomasz Pajor

@mikemcquaid We can close this, #29980 fixed it.

Mike McQuaid mikemcquaid closed this
Mike McQuaid
Owner

@nijikon In these cases add "Closes #25163" in the commit message, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 12, 2014
  1. Dennis Luxen

    [libstxxl] updated to 1.4.0 release

    DennisOSRM authored
    fix compilation on 10.7 and 10.8
    
    apply patch on old OS X versions, further include fixes for 10.7/10.8
This page is out of date. Refresh to see the latest.
Showing with 77 additions and 39 deletions.
  1. +77 −39 Library/Formula/libstxxl.rb
116 Library/Formula/libstxxl.rb
View
@@ -2,51 +2,89 @@
class Libstxxl < Formula
homepage 'http://stxxl.sourceforge.net/'
- url 'https://downloads.sourceforge.net/project/stxxl/stxxl/1.3.1/stxxl-1.3.1.tar.gz'
- sha1 '5fba2bb26b919a07e966b2f69ae29aa671892a7d'
+ url 'https://github.com/stxxl/stxxl/archive/1.4.0.tar.gz'
+ sha1 '57230314bf136e477d6d96d0f68030af1f652278'
# issue has been rectified in upstream and future 1.4.0 release
- patch :DATA if MacOS.version >= :mavericks
+ depends_on 'cmake' => :build
+
+ # compile fixes for 10.7 and 10.8, submitted upstream
+ # https://github.com/stxxl/stxxl/pull/2
+ def patches; DATA; end if MacOS.version < :mavericks
def install
- ENV['COMPILER'] = ENV.cxx
- if MacOS.version >= :mavericks
- inreplace 'make.settings.gnu' do |s|
- s.gsub! /USE_MACOSX.*no/, 'USE_MACOSX ?= yes#'
- s.gsub! /#STXXL_SPECIFIC\s*\+=.*$/, 'STXXL_SPECIFIC += -std=c++0x'
- end
+ mkdir "build" do
+ system "cmake", "..", "-DCMAKE_BUILD_TYPE=Release"
+ system "make install"
end
- system "make", "config_gnu", "USE_MACOSX=yes"
- system "make", "library_g++", "USE_MACOSX=yes"
-
- prefix.install 'include'
- lib.install 'lib/libstxxl.a'
end
end
__END__
-Index: utils/mlock.cpp
-===================================================================
---- stxxl-1.3.1/utils/mlock.cpp (revision 3229)
-+++ stxxl-1.3.1/utils/mlock.cpp (working copy)
-@@ -18,6 +18,9 @@
- #include <iostream>
- #include <sys/mman.h>
-
-+#include <chrono>
-+#include <thread>
-+
- int main(int argc, char ** argv)
- {
- if (argc == 2) {
-@@ -28,8 +31,9 @@
- c[i] = 42;
- if (mlock(c, M) == 0) {
- std::cout << "mlock(, " << M << ") successful, press Ctrl-C to finish" << std::endl;
-+ std::chrono::seconds duration(86400);
- while (1)
-- sleep(86400);
-+ std::this_thread::sleep_for(duration);
- } else {
- std::cerr << "mlock(, " << M << ") failed!" << std::endl;
- return 1;
+diff --git a/include/stxxl/bits/compat/hash_map.h b/include/stxxl/bits/compat/hash_map.h
+index d955b31..8c5c365 100644
+--- a/include/stxxl/bits/compat/hash_map.h
++++ b/include/stxxl/bits/compat/hash_map.h
+@@ -19,7 +19,7 @@
+ #include <stxxl/bits/config.h>
+ #include <stxxl/bits/namespace.h>
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ #include <unordered_map>
+ #elif STXXL_MSVC
+ #include <hash_map>
+@@ -34,7 +34,7 @@ STXXL_BEGIN_NAMESPACE
+
+ template <class _Tp>
+ struct compat_hash {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ typedef std::hash<_Tp> result;
+ #elif STXXL_MSVC
+ typedef stdext::hash_compare<_Tp> result;
+@@ -48,7 +48,7 @@ struct compat_hash {
+
+ template <class _Key, class _Tp, class _Hash = typename compat_hash<_Key>::result>
+ struct compat_hash_map {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ typedef std::unordered_map<_Key, _Tp, _Hash> result;
+ #elif STXXL_MSVC
+ typedef stdext::hash_map<_Key, _Tp, _Hash> result;
+diff --git a/include/stxxl/bits/compat/type_traits.h b/include/stxxl/bits/compat/type_traits.h
+index 08a519e..8ec51be 100644
+--- a/include/stxxl/bits/compat/type_traits.h
++++ b/include/stxxl/bits/compat/type_traits.h
+@@ -16,7 +16,7 @@
+ #include <stxxl/bits/config.h>
+ #include <stxxl/bits/namespace.h>
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+-#include <type_traits>
++#include <tr1/type_traits>
+ #elif defined(__GNUG__) && (__GNUC__ >= 4)
+ #include <tr1/type_traits>
+@@ -29,7 +29,7 @@ STXXL_BEGIN_NAMESPACE
+
+ namespace compat {
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ using std::remove_const;
+ #elif defined(__GNUG__) && (__GNUC__ >= 4)
+ using std::tr1::remove_const;
+diff --git a/include/stxxl/bits/compat/unique_ptr.h b/include/stxxl/bits/compat/unique_ptr.h
+index 7554a0a..e1ecaf0 100644
+--- a/include/stxxl/bits/compat/unique_ptr.h
++++ b/include/stxxl/bits/compat/unique_ptr.h
+@@ -24,7 +24,7 @@ STXXL_BEGIN_NAMESPACE
+
+ template <class _Tp>
+ struct compat_unique_ptr {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400)
++#if __cplusplus >= 201103L && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400)
+ typedef std::unique_ptr<_Tp> result;
+ #else
+ // auto_ptr is inherently broken and is deprecated by unique_ptr in c++0x
Something went wrong with that request. Please try again.