[MacPorts] #42088: pgf to 3.0.0
#42088: pgf to 3.0.0 --------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: pgf --------------------+-------------------------------- I've been hammering away at updating pgf and am giving up. Here's what I managed to get going. -- Ticket URL: <https://trac.macports.org/ticket/42088> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by egall@…):
am giving up
what's the error? -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by snc@…): Replying to [comment:1 egall@…]: The latest is undefined symbol _main. So not sure how the program's even going to run with no main function. Is it naive to give up when seeing that a program has no entry point? Then there are further things, like going through all the other Makefiles and making sure they are respecting our c/ld flags. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by egall@…): Replying to [comment:3 snc@…]:
Replying to [comment:1 egall@…]: The latest is undefined symbol _main. So not sure how the program's even going to run with no main function. Is it naive to give up when seeing that a program has no entry point?
Then there are further things, like going through all the other Makefiles and making sure they are respecting our c/ld flags.
I think the first issue should be able to be solved by solving the second. Usually when I get a missing "`_main`" symbol error it is because the software somehow ends up linking for a different architecture than the one that it was compiled for. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by mojca@…): This setting is definitely wrong: {{{ # Where the shared libraries should be installed (base dir) INSTALLDIR=/usr/texbin/lib/luatex/lua }}} My suggestion would be to simply upgrade pgf to version 3.0.0 without building anything first. And then slowly try to figure out how to build the needed libraries. I believe that it should be possible to build the libraries without the lua port, but I don't really know. In any case the C code and Makefiles need a bit of cleaning up. I'll add a few more patches on top of what you already provided though. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by mojca@…): You also need to remove {{{ - file copy ${r}/scripts ${destroot}${texlive_texmfports}/ }}} from the Portfile. So what do you think about simply upgrading 3.0.0 without worrying about compiling the C code, at least for the first revision? This then gives sufficient time to play with the rest. Compiling that code is not strictly necessary unless for the new advanced features that only work in luatex. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by mojca@…): Btw: you don't need any `main` function in a library. All that's missing is probably a `-shared` flag during compilation. After the few additional patches that I submitted I end up with a different error though: {{{ /usr/bin/clang -Os -arch x86_64 -O2 -Wall -I/opt/local/include -I../../../.. -shared -L/opt/local/lib -Wl,-headerpad_max_install_names -llua \ \ -o SimpleDemoCPlusPlus.so \ SimpleDemoCPlusPlus.o ../../interface/c/InterfaceFromC++.o ../../interface/c/InterfaceFromC.o Undefined symbols for architecture x86_64: "std::terminate()", referenced from: FastLayout::declare(scripting::script) in SimpleDemoCPlusPlus.o "vtable for __cxxabiv1::__class_type_info", referenced from: typeinfo for scripting::declarations in SimpleDemoCPlusPlus.o typeinfo for scripting::runner in SimpleDemoCPlusPlus.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for __cxxabiv1::__vmi_class_type_info", referenced from: typeinfo for FastLayout in SimpleDemoCPlusPlus.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "operator delete(void*)", referenced from: FastLayout::~FastLayout() in SimpleDemoCPlusPlus.o non-virtual thunk to FastLayout::~FastLayout() in SimpleDemoCPlusPlus.o "operator new(unsigned long)", referenced from: _luaopen_pgf_gd_examples_c_SimpleDemoCPlusPlus in SimpleDemoCPlusPlus.o "___gxx_personality_v0", referenced from: FastLayout::declare(scripting::script) in SimpleDemoCPlusPlus.o Dwarf Exception Unwind Info (__eh_frame) in SimpleDemoCPlusPlus.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) }}} -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by egall@…): Replying to [comment:8 mojca@…]:
Btw: you don't need any `main` function in a library. All that's missing is probably a `-shared` flag during compilation. After the few additional patches that I submitted I end up with a different error though: {{{ /usr/bin/clang -Os -arch x86_64 -O2 -Wall -I/opt/local/include -I../../../.. -shared -L/opt/local/lib -Wl,-headerpad_max_install_names -llua \ \ -o SimpleDemoCPlusPlus.so \ SimpleDemoCPlusPlus.o ../../interface/c/InterfaceFromC++.o ../../interface/c/InterfaceFromC.o Undefined symbols for architecture x86_64: "std::terminate()", referenced from: FastLayout::declare(scripting::script) in SimpleDemoCPlusPlus.o "vtable for __cxxabiv1::__class_type_info", referenced from: typeinfo for scripting::declarations in SimpleDemoCPlusPlus.o typeinfo for scripting::runner in SimpleDemoCPlusPlus.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for __cxxabiv1::__vmi_class_type_info", referenced from: typeinfo for FastLayout in SimpleDemoCPlusPlus.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "operator delete(void*)", referenced from: FastLayout::~FastLayout() in SimpleDemoCPlusPlus.o non-virtual thunk to FastLayout::~FastLayout() in SimpleDemoCPlusPlus.o "operator new(unsigned long)", referenced from: _luaopen_pgf_gd_examples_c_SimpleDemoCPlusPlus in SimpleDemoCPlusPlus.o "___gxx_personality_v0", referenced from: FastLayout::declare(scripting::script) in SimpleDemoCPlusPlus.o Dwarf Exception Unwind Info (__eh_frame) in SimpleDemoCPlusPlus.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) }}}
Looks like it needs to be told which c++ library to use for a standard c++ library. Either that or it needs some compiler blacklisting. Although it looks like by the filename that this is just a demo, so maybe demos could be skipped being built... -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: pgf | ---------------------+-------------------------------- Comment (by mojca@…): Given that the port has no maintainer, I upgraded the port to 3.0.0 in r115962. I left building the modules commented out for now. I talked to developer(s) of LuaTeX and they had a bunch of comments about the way this should have been implemented instead. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#42088: pgf to 3.0.0 ---------------------+-------------------------------- Reporter: snc@… | Owner: macports-tickets@… Type: update | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: pgf | ---------------------+-------------------------------- Changes (by mojca@…): * status: new => closed * resolution: => fixed Comment: I'm closing the ticket based on the fact that the port was upgraded to 3.0.0. If anyone really needs those special add-ons which require extra compilation, feel free to open a new ticket. -- Ticket URL: <https://trac.macports.org/ticket/42088#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts