Opened 11 years ago
Closed 10 years ago
#40979 closed defect (fixed)
asymptote: fatal error: 'ext/slist' file not found
Reported by: | ulrich.klauck@… | Owned by: | loshea@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | mavericks | Cc: | michaelbartz@…, papachoco (Carlos Sanchez), Schamschula (Marius Schamschula), dcecchin@…, flx.ms@…, mojca (Mojca Miklavec), mkae (Marko Käning) |
Port: | asymptote |
Description (last modified by mojca (Mojca Miklavec))
Port does not install. Error message is:
/usr/bin/clang++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -D_THREAD_SAFE -pthread -DFFTWPP_SINGLE_THREAD -I/opt/local/include -pipe -Os -arch x86_64 -I . -I/opt/local/include/gc -I/usr/include/gc -o settings.o -c settings.cc In file included from picture.cc:10: In file included from ./picture.h:15: In file included from ./drawelement.h:19: In file included from ./prcfile.h:5: In file included from ./prc/oPRCFile.h:41: ./prc/writePRC.h:29:10: fatal error: 'ext/slist' file not found #include <ext/slist> ^
Attachments (14)
Change History (41)
Changed 11 years ago by ulrich.klauck@…
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | mavericks added |
Owner: | changed from macports-tickets@… to loshea@… |
Summary: | asymptote @2.16_2 +python27 darwin_13.x86_64 → asymptote @2.16_2 +python27: fatal error: 'ext/slist' file not found |
comment:2 Changed 11 years ago by michaelbartz@…
Cc: | michaelbartz@… added |
---|
comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | papachoco@… added |
---|
Has duplicate #41062.
comment:5 Changed 11 years ago by ulrich.klauck@…
Hi guys,
I solved the problem for me by building asymptote from the source. There have been 3 problems:
- Adding '-stdlib=libstdc++' to the CFLAGS solved the slist.h-problem. In Max OS X Apple obviously moved to the C++11 STL. This can be overriden with the above mentionned CFLAG.
- The other two problems concern the preprocessor macros HAVE_LIBREADLINE and HAVE_LIBSIGSEGV in config.h. The configure script should be called with the option so that both are not defined. Maybe this holds true only for my particular system configuration. Since I am not well schooled in the structure of config.in files and configure scripts, as a quick (but dirty) solution I simply changed config.h
After applying these changes asymptote builds perfectly.
comment:7 Changed 11 years ago by Schamschula (Marius Schamschula)
Just added the above mentioned CFLAGS to the Portfile and updated asymptote to version 2.25. Also had to add --disable-offscreen to configure.args as there is an issue with the MESA GLUT.
Changed 11 years ago by Schamschula (Marius Schamschula)
Attachment: | Portfile-asymptote.diff added |
---|
comment:8 Changed 11 years ago by flx.ms@…
Cc: | flx.ms@… added |
---|
Cc Me!
Thank you mschamschula! Your patch worked greatly out of the box for me: Asymptote compiled and installed without any errors and also passed some tests, I perforemd. OS X Mavericks 10.9.2 (13C64), Xcode 5.1.1 (5B1008). - Waited in vain for month for this update! (since I upgraded to Mavericks)
@Maintainer: How about creating an official update based on the proposed patch?
Cheers!
Changed 11 years ago by mojca (Mojca Miklavec)
Attachment: | Portfile-asymptote-2.28.diff added |
---|
Update asymptote to 2.28 + other patches
comment:10 follow-up: 11 Changed 11 years ago by mojca (Mojca Miklavec)
I think one can call this maintainer timeout. I'm ready to apply the patch, but the following line is weird:
configure.env CFLAGS="-stdlib=libstdc++"
I don't have 10.9, so I would like to ask for confirmation that this is still needed. If it's still needed, we need to ask the upstream author for a fix.
comment:11 Changed 11 years ago by Schamschula (Marius Schamschula)
Replying to mojca@…:
I think one can call this maintainer timeout. I'm ready to apply the patch, but the following line is weird:
configure.env CFLAGS="-stdlib=libstdc++"I don't have 10.9, so I would like to ask for confirmation that this is still needed. If it's still needed, we need to ask the upstream author for a fix.
If you are using Xcode 5.1.x on 10.8 or 10.9 you will have this issue. It is not a problem for 10.7 or below.
comment:12 Changed 11 years ago by mojca (Mojca Miklavec)
I committed the rest in r120000, but I would like to explore if there is another ("proper") way for to fix this stdlib
flag.
comment:13 Changed 11 years ago by mojca (Mojca Miklavec)
Can someone explain me why CFLAGS
instead of CXXFLAGS
?
I don't have 10.9 installed yet, but I'm curious to know whether the following blind fix would help. (Not a proper fix yet, but I want to know whether it works at all.)
-
prc/writePRC.h
old new 26 26 #include <deque> 27 27 #include <list> 28 28 #ifdef __GNUC__ 29 #include < ext/slist>29 #include <forward_list> 30 30 #endif 31 31 #include <map> 32 32 #include <iostream> … … class PRCAttribute : public PRCAttributeEntry 225 225 std::deque<PRCSingleAttribute> attribute_keys; 226 226 }; 227 227 #ifdef __GNUC__ 228 typedef __gnu_cxx::slist<PRCAttribute> PRCAttributeList;228 typedef std::forward_list<PRCAttribute> PRCAttributeList; 229 229 #else 230 230 typedef std::list<PRCAttribute> PRCAttributeList; 231 231 #endif
http://stackoverflow.com/questions/19758400/ext-slist-file-not-found-on-os-x-10-9
comment:14 Changed 11 years ago by mojca (Mojca Miklavec)
A note to myself: a fix might need to include something like the following (but that still won't be the proper solution).
#include <ciso646> #ifdef _LIBCPP_VERSION #include <forward_list> // libc++ #else #include <ext/slist> // libstdc++ #endif
comment:15 Changed 11 years ago by mojca (Mojca Miklavec)
Description: | modified (diff) |
---|---|
Summary: | asymptote @2.16_2 +python27: fatal error: 'ext/slist' file not found → asymptote: fatal error: 'ext/slist' file not found |
Version: | 2.2.1 |
comment:16 Changed 10 years ago by mojca (Mojca Miklavec)
Unsuccessful attempt in r120065 (https://build.macports.org/builders/buildports-mavericks-x86_64/builds/3491)
I'm looking for testers to try out the latest version from SVN, please see:
comment:17 Changed 10 years ago by mojca (Mojca Miklavec)
I opened a port abandoned ticket (#43714).
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | asymptote-2.29.Portfile.diff added |
---|
Update asymptote to 2.29 (might fix problem on 10.9?), remove dep on texlive (#43691)
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | asymptote-2.29.Portfile added |
---|
Update asymptote to 2.29 (might fix problem on 10.9?), remove dep on texlive (#43691)
comment:18 Changed 10 years ago by mojca (Mojca Miklavec)
I added a Portfile
for version 2.29 and would like to ask 10.9 users for testing. I suspect there are still problems, but we need detailed reports to be able to fix the sources.
comment:19 Changed 10 years ago by mojca (Mojca Miklavec)
Cc: | mk@… added |
---|
comment:20 Changed 10 years ago by mojca (Mojca Miklavec)
According to mf2k
this is where it gets stuck now:
genv.cc:18:10: fatal error: 'bits/stl_algo.h' file not found
/usr/bin/clang++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -D_THREAD_SAFE -pthread -DFFTWPP_SINGLE_THREAD -I/opt/local/include -pipe -Os -arch x86_64 -I . -I/opt/local/include/gc -I/usr/include/gc -o genv.o -c genv.cc In file included from runtimebase.in:1: In file included from ./stack.h:13: In file included from ./errormsg.h:12: In file included from ./common.h:35: In file included from ./memory.h:32: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:212:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings] # warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> ^ In file included from env.cc:9: In file included from ./env.h:12: In file included from ./errormsg.h:12: In file included from ./common.h:35: In file included from ./memory.h:32: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:212:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings] # warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> ^ genv.cc:18:10: fatal error: 'bits/stl_algo.h' file not found #include <bits/stl_algo.h> ^ 1 warning generated.
comment:21 Changed 10 years ago by mojca (Mojca Miklavec)
A patch has been applied upstream:
Feel free to test.
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | patch-genv.cc.diff added |
---|
a patch for 10.9: bits/stl_algo.h -> algorithm
comment:23 Changed 10 years ago by mojca (Mojca Miklavec)
As pointed out by mf2k, here's a discussion on the forum.
The binary builds, but hangs forever. Volunteers to debug the hanging asy
welcome ;)
I'm also attaching another patch for testing.
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | patch-drawlabel.cc.diff added |
---|
another patch for 10.9
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | Portfile.asymptote-2.29.patches.diff added |
---|
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | patch-config.h.in.diff added |
---|
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | patch-configure.ac.diff added |
---|
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | patch-configure.diff added |
---|
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | patch-drawlabel.cc.2.diff added |
---|
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | patch-genv.cc.2.diff added |
---|
comment:24 Changed 10 years ago by mf2k (Frank Schima)
Here's latest attempt at the Portfile which hangs while building.
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | patch-runlabel.in.diff added |
---|
comment:25 Changed 10 years ago by mojca (Mojca Miklavec)
New patch patch-runlabel.in.diff
(to be added to Portfile
manually for now).
Edit: sorry, doesn't work.
comment:26 Changed 10 years ago by mojca (Mojca Miklavec)
comment:27 Changed 10 years ago by mojca (Mojca Miklavec)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Cc Me!