elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / C++ en linux, ¿cómo funciona? en: 28 Mayo 2014, 10:49 am
Buenas, resulta que desde hace tiempo, siempre que he programado C++ en Linux, he notado ciertas irregularidades con respecto a Windows, el ejemplo más simple es el siguiente:

Código
  1. #include <iostream>
  2. int main(int argc, char *argv[])
  3. {
  4.        sleep(1);
  5.        std::cout << "Hello world" << std::endl;
  6.        return 0;
  7. }

El cual mostraba el mensaje "Hello world" antes del sleep, y digo mostraba porque mientras escribía el hilo, he ido a compilar el código y me ha funcionado como debería (con gcc 4.6.4)

Con gcc 4.8.1 también funciona a la perfección:

Código
  1. #include <iostream>
  2. #include <thread>
  3. #include <chrono>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
  8.        std::cout << "Hello world" << std::endl;
  9.        return 0;
  10. }


Tal vez sea que en aquel entonces tenía una versión de gcc más antigua que tenía este problema, o quizás que por aquel entonces compilaba con entornos como Geany, y ahora compilo por linea de comandos por SSH, que aunque lo que realmente importe sea el compilador y no el IDE, no sé, quizás algo tenía por ahí que no iba bien.



El caso es que siempre he programado bajo Windows y no le di demasiada importancia a lo anterior, pero ahora estoy programando un cliente y un servidor con sockets, y la aplicación del servidor la programo en un VPS con Ubuntu 12.04, por lo que este bug (o así al menos lo considero yo), esta vez tengo que quitármelo de en medio.

Yendo ya al grano, estoy haciendo un servidor con threads, y mientras que un hilo gestiona los paquetes recibido por los clientes, tengo un otro hilo de prueba que simplemente printea un punto con pausas de 30ms

Código
  1. Client::Client(MYSQL *m) : mysql(m), connected(true), acc_id(0)
  2. {
  3. mutex.lock();
  4. playingM.lock();
  5. thread = std::thread(&Client::loop, this);
  6. thread.detach();
  7.  
  8. coordT = std::thread(&Client::updateCoords, this);
  9. coordT.detach();
  10.  
  11. cout << "Client constructed." << endl;
  12. }
  13.  
  14.  
  15. void Client::updateCoords()
  16. {
  17. playingM.lock();
  18. while(true)
  19. {
  20. cout << ".";
  21. std::this_thread::sleep_for(std::chrono::milliseconds(30));
  22. }
  23. }
  24.  
  25. void Client::loop()
  26. {
  27. mutex.lock();
  28. while(connected)
  29. {
  30. sf::Packet packet;
  31. if(receive(packet) == sf::Socket::Done)
  32. {
  33. unsigned char pid;
  34. packet >> pid;
  35. if(pid!=0x00)
  36. cout << "Packet ID: " << (unsigned short)pid << " | from " << getRemoteAddress().toString() << " | (account.id: " << acc_id << ")." << endl;
  37. switch(pid)
  38. {
  39. case 0x00:
  40. {
  41. ...
  42. }
  43. break;
  44. case 0x01:
  45. {
  46. ...
  47. }
  48. break;
  49. case 0x02:
  50. {
  51. ...
  52. }
  53. break;
  54. case 0x03:
  55. {
  56. ...
  57. }
  58. break;
  59. case 0x04:
  60. {
  61. ...
  62. }
  63.  
  64. break;
  65. case 0x05:
  66. {
  67. ...
  68. }
  69. break;
  70. case 0x06:
  71. {
  72. ...
  73. playingM().unlock();
  74. ...
  75. }
  76. break;
  77. default:
  78. break;
  79. }
  80. }
  81. else
  82. {
  83. cout << "A client has disconnected (account.id: " << acc_id << ")." << endl;
  84. delete this;
  85. }
  86.    }
  87. }


Simplifico Client::loop() y aclaro que en cada case hay couts que son printeados inmediatamente en cuanto llega determinado paquete, mientras que el cout << "."; en Client::updateCoords() no printea nada hasta que lo hace cualquier otro cout en Client::loop(), es como si todos esos puntos se almacenasen en un buffer y de repente se printean todos juntos, cuando al tratarse de 2 hilos independientes, debería de printear por su propia cuenta.


Esto me parece más problema de la librería SFML que de Linux, aunque en Windows no tenga este problema, pero no descarto que la librería funcione de otra forma en Linux y por ello sea culpa de los threads de SFML. En un principio pensaba que era simplemente problema de Linux, ya que lo asocié a lo que expliqué al principio que me pasó hace tiempo, pero al ver que ésto ya no me ocurre, pienso que será cosa de SFML, pero no tengo nada claro.

EDITO: No hacer mucho caso a esto último, ya que los threads que uso no son de SFML sino de C++11, lapsus mental :X queda totalmente descartado SFML como causa del problema


Alguien puede aportar algún dato? Gracias y saludos

PD: Habré tardado como una hora en hacer este hilo, el título incluso lo considero incorrecto debido a mi cambio de opinión al ver que el problema del sleep ya no me ocurre, dudaba si postear en el foro de Linux o en el de C++, pero me decanto más por este, en fin, no sé, este proyecto me está estresando, así que publico el hilo ya y fin. XD
2  Programación / Programación C/C++ / [Resuelto] Duda con destructores - vector de una clase en: 15 Julio 2013, 15:16 pm
Buenas, repasando el tema de los destructores me he topado con un bache, algo que intuyo que es provocado por std::vector, me explico:

Tengo una clase "Padre" con un vector de clases "Hijos", cada clase Hijo tiene un destructor que indica la "muerte" de ésta. A partir del código que publico a continuación, esperaba que ningún hijo muriese a no ser que le aplique un delete o el programa finalizase, pero no es así.
Cada vez que hago un push_back a un Hijo desde la clase Padre, los Hijos que ya habían anteriormente en el vector son destruidos, ¿por qué?  :huh:

Mirando la documentación oficial de std::vector::push_back, me encuentro con:

Citar
This effectively increases the container size by one, which causes an automatic reallocation of the allocated storage space if -and only if- the new vector size surpasses the current vector capacity.

Por lo que entiendo de ahí, el hecho de reubicar memoria, podría causar que se destruya la clase Hijo del vector y se vuelva a construir, pero si así fuese, ¿por qué no se ejecuta el cout que notifica que ha nacido la clase Hijo?


class.hpp
Código
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. class Child
  6. {
  7.    string name;
  8. public:
  9.    Child(string);
  10.    ~Child();
  11.    string getName();
  12. };
  13.  
  14. class Father
  15. {
  16.    vector<Child> children;
  17. public:
  18.    void addChild(Child*);
  19.    void showNames();
  20. };

class.cpp
Código
  1. #include "class.hpp"
  2.  
  3. Child::Child(string n) : name(n)
  4. {
  5.    cout << "Ha nacido " << name << "." << endl;
  6. }
  7.  
  8. Child::~Child()
  9. {
  10.    cout << "Ha muerto " << name << "." << endl;
  11. }
  12.  
  13. string Child::getName()
  14. {
  15.    return name;
  16. }
  17.  
  18. void Father::addChild(Child *c)
  19. {
  20.    cout << c->getName() << " ha sido adoptado." << endl;
  21.    children.push_back(*c);
  22. }
  23.  
  24. void Father::showNames()
  25. {
  26.    for(unsigned int i=0; i<children.size(); i++)
  27.    {
  28.        cout << "Hijo #" << i << ": " << children.at(i).getName() << endl;
  29.    }
  30. }

main.cpp
Código
  1. #include "class.hpp"
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5.    Child *c1, *c2, *c3;
  6.    c1 = new Child("Juan");
  7.    c2 = new Child("Lucas");
  8.    c3 = new Child("Antonio");
  9.  
  10.    Father f1;
  11.  
  12.    cout << "---" << endl;
  13.    f1.addChild(c1);
  14.    cout << "---" << endl;
  15.    f1.addChild(c2);
  16.    cout << "---" << endl;
  17.    f1.addChild(c3);
  18.    cout << "---" << endl;
  19.  
  20.    f1.showNames();
  21.  
  22.    delete c2;
  23.    delete c3;
  24.  
  25.    f1.showNames();
  26.  
  27.    cout << "---" << endl;
  28.    return 0;
  29. }

Output
Citar
Ha nacido Juan.
Ha nacido Lucas.
Ha nacido Antonio.
---
Juan ha sido adoptado.
---
Lucas ha sido adoptado.
Ha muerto Juan.
---
Antonio ha sido adoptado.
Ha muerto Juan.
Ha muerto Lucas.
---
Hijo #0: Juan
Hijo #1: Lucas
Hijo #2: Antonio
Ha muerto Lucas.
Ha muerto Antonio.
Hijo #0: Juan
Hijo #1: Lucas
Hijo #2: Antonio
---
Ha muerto Juan.
Ha muerto Lucas.
Ha muerto Antonio.

Mientras creaba este post, me he dado cuenta de que estaba haciendo un vector de Hijos (vector<Child>), cuando lo que quería hacer es un vector de punteros a clases Hijos (vector<Child*>).
Ésto soluciona el programa que arriba expongo, pero sigo con la duda de por qué, si no es un vector de punteros, ocurre lo arriba explicado.

Aparte de esta duda, una de las metas de éste código es que al hacerle delete a una clase Hijo, ésta sea borrada del vector<Hijos> de la clase Padre, cosa que creo que no es posible hacer directamente, (o tal vez sí, por eso pregunto), de no ser posible, agradecería cualquier método de "actualización", "verificación" o similar, que detecte que un miembro del vector de punteros ha sido borrado, y también debe ser borrado del vector... No sé si me explico. :X

Saludos
3  Seguridad Informática / Seguridad / Monitorizar paquetes de una aplicación a nivel local [DUDA] en: 22 Junio 2013, 18:56 pm
Buenas.

Bueno, el título habla por sí solo, he estado buscando pero no encuentro más que aplicaciones para monitorizar una red, vi el Wireshark, pero no sé si sirve para que lo necesito, básicamente necesito un sniffer que monitorice los paquetes que envía/recibe una aplicación en concreto, a nivel local.

EDIT: Acaban de aconsejarme el WPE Pro y estoy trasteando con él, parece que me servirá, de todos modos, cualquier aporte de algún otro programa se agradece.

Un saludo.
4  Programación / Programación C/C++ / [SFML 2.0] Threading or Objects.Update() ? en: 8 Agosto 2012, 19:56 pm
Buenas, estoy desarrollando en SFML2.0 una clase "Objects" la cual heredan las clases "TextBox", "Button", etc... Supongo que queda clara la idea.

Cada clase heredera tiene su propio método "Update", el cual se encarga de comprobar si el objeto se ha seleccionado, pulsado, etc. En resumen, permite interactuar con el objeto en lugar de que éste sea estático.

El caso es que he estado pensando si ésta es la mejor forma de hacer objetos interactivos o hay alguna más práctica y/o eficiente. Había pensado en crear un hilo en la inicialización del objeto y que éste se encargue de actualizar el mismo, pero no se si es recomendable crear un hilo para cada objeto, ¿sería eficiente tener una aplicación con 100 hilos? :silbar: supongo que no... pero dejo la duda en el aire a ver si alguien me la puediese resolver.

Dejo el code principal:

Código
  1. void Game::Run()
  2. {
  3.    vector<Objects*> objects;
  4.  
  5.    objects.push_back(new TextBox(100,100,400,32,1));
  6.    objects.push_back(new TextBox(100,160,400,32,0));
  7.    objects.push_back(new Button(100,200,160,32,"Registro"));
  8.    objects.push_back(new Button(340,200,160,32,"Login"));
  9.  
  10.    while(window.isOpen())
  11.    {
  12.        while(window.pollEvent(event))
  13.        {
  14.            if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) window.close();
  15.            for(int i=0; i<objects.size(); i++)
  16.                if(dynamic_cast<TextBox*>(objects[i])!=NULL)
  17.                    if(event.type == sf::Event::TextEntered)
  18.                        objects[i]->TextEntered(static_cast<char>(event.text.unicode));
  19.        }
  20.  
  21.        window.clear(sf::Color(240,240,240));
  22.  
  23.        for(int i=0; i<objects.size(); i++)
  24.        {
  25.            window.draw(objects[i]->GetSpr());
  26.  
  27.            if(dynamic_cast<TextBox*>(objects[i])!=NULL)
  28.                objects[i]->Update(window,event);
  29.        }
  30.  
  31.        window.display();
  32.    }
  33.    exit(0);
  34. }

La cosa es que no me gusta eso de tener que llamar al método update, me gustaría simplemente inicializar el objeto y no tener que tocar nada más desde fuera, a excepción de window.draw(objects->GetSpr()), y como solución solo se me ocurre recurrir al Multi-Threading, pero tampoco me parece lo mejor...

Resumiendo, quiero que al inicializar un objeto éste se actualice de forma automática.

En fin, espero haberme explicado bien y me gustaría saber como lo haríais vosotros, qué forma os parece más eficiente y si se os ocurre alguna otra forma de suprimir el método Update de mi anterior code.

Saludos y gracias de antemano ;)
5  Seguridad Informática / Hacking Wireless / Can't do PTW with old IVS files en: 1 Agosto 2012, 03:45 am
Bueno, el caso es que tengo un file.ivs y necesito sacar de ahí la clave WEP, pero al pasarlo por el aircrack resulta que es un IVS demasiado antiguo. He buscado versiones mas antiguas de aircrack y lo único que he conseguido es que nisiquiera soporte archivos .ivs, sino únicamente .cap

Alguna solución?

PD: El .ivs en cuestión es de un wargame, es decir, no intento crackear ningún wi-fi y por lo tanto no me sirve volver a capturar IVS, sólo dispongo de ese.

Saludos!
6  Programación / Scripting / Error al instalar múdulo DBI de perl en Ubuntu Server 10.04 en: 16 Julio 2012, 19:31 pm
Bueno pues eso, necesito instalar el módulo DBI de Perl pero obtengo errores, lo que hago es:

Código:
perl -MCPAN -e shell
install DBI

También probé descargándolo manualmente e instalarlo por makefile, y de ambas formas obtengo el mismo error:

Código:
/usr/lib/perl/5.10/CORE/perl.h:2839: error: expected =, ,, ;, âasmâ or â__attribute__â before âperl_condâ
/usr/lib/perl/5.10/CORE/perl.h:2840: error: expected =, ,, ;, âasmâ or â__attribute__â before âperl_keyâ
In file included from /usr/lib/perl/5.10/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.10/CORE/perl.h:3365,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlio.h:65:19: error: stdio.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.10/CORE/perl.h:3365,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlio.h:257: error: expected ) before * token
/usr/lib/perl/5.10/CORE/perlio.h:260: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlio.h:263: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlio.h:266: error: expected declaration specifiers or ... before âFILEâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3413,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/sv.h:738: error: expected specifier-qualifier-list before âDIRâ
In file included from /usr/lib/perl/5.10/CORE/op.h:633,
                 from /usr/lib/perl/5.10/CORE/perl.h:3420,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/reentr.h:95:20: error: pwd.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:98:20: error: grp.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:108:26: error: crypt.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:113:27: error: shadow.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/op.h:633,
                 from /usr/lib/perl/5.10/CORE/perl.h:3420,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/reentr.h:643: error: field â_drand48_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:647: error: field â_grent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:658: error: field â_hostent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:677: error: field â_netent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:692: error: field â_protoent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:707: error: field â_pwent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:718: error: field â_servent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:733: error: field â_spent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:744: error: field â_gmtime_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:747: error: field â_localtime_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:750: error: field â_random_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:758: error: expected specifier-qualifier-list before âint32_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3422,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/cop.h:33: error: expected specifier-qualifier-list before âsigjmp_bufâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3423,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/av.h:25: error: expected specifier-qualifier-list before âssize_tâ
/usr/lib/perl/5.10/CORE/av.h:42: error: expected specifier-qualifier-list before âssize_tâ
In file included from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perl.h:3591: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetuidâ
/usr/lib/perl/5.10/CORE/perl.h:3592: error: expected =, ,, ;, âasmâ or â__attribute__â before âgeteuidâ
/usr/lib/perl/5.10/CORE/perl.h:3593: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetgidâ
/usr/lib/perl/5.10/CORE/perl.h:3594: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetegidâ
In file included from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perl.h:3924:22: error: math.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/perl.h:4796,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/intrpvar.h:84: error: field âIstatbufâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:85: error: field âIstatcacheâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:90: error: field âItimesbufâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:248: error: expected specifier-qualifier-list before âtime_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:4829,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/proto.h:284: error: expected declaration specifiers or ... before âmode_tâ
/usr/lib/perl/5.10/CORE/proto.h:286: error: nonnull argument with out-of-range operand number (argument 1, operand 4)
In file included from /usr/lib/perl/5.10/CORE/perl.h:4829,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/proto.h:690: error: expected declaration specifiers or ... before âoff64_tâ
/usr/lib/perl/5.10/CORE/proto.h:697: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_do_sysseekâ
/usr/lib/perl/5.10/CORE/proto.h:702: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_do_tellâ
/usr/lib/perl/5.10/CORE/proto.h:1087: error: expected declaration specifiers or ... before âgid_tâ
/usr/lib/perl/5.10/CORE/proto.h:1931: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_my_forkâ
/usr/lib/perl/5.10/CORE/proto.h:3674: error: expected declaration specifiers or ... before âpid_tâ
/usr/lib/perl/5.10/CORE/proto.h:3675: error: nonnull argument references non-pointer operand (argument 1, operand 3)
/usr/lib/perl/5.10/CORE/proto.h:4086: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/proto.h:5982: error: expected declaration specifiers or ... before âDIRâ
/usr/lib/perl/5.10/CORE/proto.h:6004: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_readâ
/usr/lib/perl/5.10/CORE/proto.h:6009: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_writeâ
/usr/lib/perl/5.10/CORE/proto.h:6014: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_unreadâ
/usr/lib/perl/5.10/CORE/proto.h:6019: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_tellâ
/usr/lib/perl/5.10/CORE/proto.h:6020: error: expected declaration specifiers or ... before âoff64_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:4875,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlvars.h:32: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_thr_keyâ
/usr/lib/perl/5.10/CORE/perlvars.h:50: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_op_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:54: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_dollarzero_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:140: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_my_ctx_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:146: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_hints_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:150: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_perlio_mutexâ
/usr/lib/perl/5.10/CORE/perl.h:5576:24: error: sys/ipc.h: No such file or directory
/usr/lib/perl/5.10/CORE/perl.h:5577:24: error: sys/sem.h: No such file or directory
/usr/lib/perl/5.10/CORE/perl.h:5735:24: error: sys/file.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/perlapi.h:40,
                 from /usr/lib/perl/5.10/CORE/XSUB.h:417,
                 from DBIXS.h:24,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/intrpvar.h:248: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:410: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:411: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:412: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:413: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
In file included from /usr/lib/perl/5.10/CORE/perlapi.h:41,
                 from /usr/lib/perl/5.10/CORE/XSUB.h:417,
                 from DBIXS.h:24,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlvars.h:32: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:50: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:54: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:140: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:146: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:150: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
Perl.xs: In function âdbd_st_rowsâ:
Perl.xs:43: warning: implicit declaration of function âpthread_getspecificâ
Perl.xs:43: warning: implicit declaration of function âPerl_Gthr_key_ptrâ
Perl.xs:43: error: invalid type argument of âunary * (have âintâ)
In file included from Perl.c:106:
Driver_xst.h: In function âdbixst_bounce_methodâ:
Driver_xst.h:19: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h: In function âdbdxst_bind_paramsâ:
Driver_xst.h:57: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h:70: warning: implicit declaration of function âsprintfâ
Driver_xst.h:70: warning: incompatible implicit declaration of built-in function âsprintfâ
Driver_xst.h: In function âdbdxst_fetchall_arrayrefâ:
Driver_xst.h:92: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h:97: warning: incompatible implicit declaration of built-in function âsprintfâ
Driver_xst.h:114: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__dr_data_sourcesâ:
Perl.xsi:67: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__db_selectrow_arrayrefâ:
Perl.xsi:210: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__st_fetchrow_arrayâ:
Perl.xsi:642: error: âXPVAVâ has no member named âxav_fillâ
make: *** [Perl.o] Error 1
  TIMB/DBI-1.622.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 TIMB/DBI-1.622.tar.gz                        : make NO

cpan[3]>

Eso realmente es solo "un trozo" de error, es todo lo que puedo llegar a copiar de la terminal.

Hace un poco más de un mes lo instalé sin problemas en UbuntuDesktop10.04, pero ahora en UbuntuServer me pasa esto, aunque dudo seriamente que sea ese el motivo... me da la sensación de que es un conflicto con la última versión de perl... pero no estoy para nada seguro de qué puede ser... Alguien me echa una manita?  :-X

PD: Siento postear 2 veces lo mismo en distintos foros, pero me urge bastante y he pensado que en este foro puede ser más visto que ne GNU/Linux
(http://foro.elhacker.net/gnulinux/error_al_instalar_mudulo_dbi_de_perl_en_ubuntu_server_1004-t367041.0.html)

Gracias de antemano y saludos!
7  Sistemas Operativos / GNU/Linux / Error al instalar múdulo DBI de perl en Ubuntu Server 10.04 en: 16 Julio 2012, 16:10 pm
Bueno pues eso, necesito instalar el módulo DBI de Perl pero obtengo errores, lo que hago es:

Código:
perl -MCPAN -e shell
install DBI

También probé descargándolo manualmente e instalarlo por makefile, y de ambas formas obtengo el mismo error:

Código:
/usr/lib/perl/5.10/CORE/perl.h:2839: error: expected =, ,, ;, âasmâ or â__attribute__â before âperl_condâ
/usr/lib/perl/5.10/CORE/perl.h:2840: error: expected =, ,, ;, âasmâ or â__attribute__â before âperl_keyâ
In file included from /usr/lib/perl/5.10/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.10/CORE/perl.h:3365,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlio.h:65:19: error: stdio.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/iperlsys.h:51,
                 from /usr/lib/perl/5.10/CORE/perl.h:3365,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlio.h:257: error: expected ) before * token
/usr/lib/perl/5.10/CORE/perlio.h:260: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlio.h:263: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlio.h:266: error: expected declaration specifiers or ... before âFILEâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3413,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/sv.h:738: error: expected specifier-qualifier-list before âDIRâ
In file included from /usr/lib/perl/5.10/CORE/op.h:633,
                 from /usr/lib/perl/5.10/CORE/perl.h:3420,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/reentr.h:95:20: error: pwd.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:98:20: error: grp.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:108:26: error: crypt.h: No such file or directory
/usr/lib/perl/5.10/CORE/reentr.h:113:27: error: shadow.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/op.h:633,
                 from /usr/lib/perl/5.10/CORE/perl.h:3420,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/reentr.h:643: error: field â_drand48_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:647: error: field â_grent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:658: error: field â_hostent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:677: error: field â_netent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:692: error: field â_protoent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:707: error: field â_pwent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:718: error: field â_servent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:733: error: field â_spent_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:744: error: field â_gmtime_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:747: error: field â_localtime_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:750: error: field â_random_structâ has incomplete type
/usr/lib/perl/5.10/CORE/reentr.h:758: error: expected specifier-qualifier-list before âint32_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3422,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/cop.h:33: error: expected specifier-qualifier-list before âsigjmp_bufâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:3423,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/av.h:25: error: expected specifier-qualifier-list before âssize_tâ
/usr/lib/perl/5.10/CORE/av.h:42: error: expected specifier-qualifier-list before âssize_tâ
In file included from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perl.h:3591: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetuidâ
/usr/lib/perl/5.10/CORE/perl.h:3592: error: expected =, ,, ;, âasmâ or â__attribute__â before âgeteuidâ
/usr/lib/perl/5.10/CORE/perl.h:3593: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetgidâ
/usr/lib/perl/5.10/CORE/perl.h:3594: error: expected =, ,, ;, âasmâ or â__attribute__â before âgetegidâ
In file included from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perl.h:3924:22: error: math.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/perl.h:4796,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/intrpvar.h:84: error: field âIstatbufâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:85: error: field âIstatcacheâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:90: error: field âItimesbufâ has incomplete type
/usr/lib/perl/5.10/CORE/intrpvar.h:248: error: expected specifier-qualifier-list before âtime_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:4829,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/proto.h:284: error: expected declaration specifiers or ... before âmode_tâ
/usr/lib/perl/5.10/CORE/proto.h:286: error: nonnull argument with out-of-range operand number (argument 1, operand 4)
In file included from /usr/lib/perl/5.10/CORE/perl.h:4829,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/proto.h:690: error: expected declaration specifiers or ... before âoff64_tâ
/usr/lib/perl/5.10/CORE/proto.h:697: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_do_sysseekâ
/usr/lib/perl/5.10/CORE/proto.h:702: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_do_tellâ
/usr/lib/perl/5.10/CORE/proto.h:1087: error: expected declaration specifiers or ... before âgid_tâ
/usr/lib/perl/5.10/CORE/proto.h:1931: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_my_forkâ
/usr/lib/perl/5.10/CORE/proto.h:3674: error: expected declaration specifiers or ... before âpid_tâ
/usr/lib/perl/5.10/CORE/proto.h:3675: error: nonnull argument references non-pointer operand (argument 1, operand 3)
/usr/lib/perl/5.10/CORE/proto.h:4086: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/proto.h:5982: error: expected declaration specifiers or ... before âDIRâ
/usr/lib/perl/5.10/CORE/proto.h:6004: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_readâ
/usr/lib/perl/5.10/CORE/proto.h:6009: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_writeâ
/usr/lib/perl/5.10/CORE/proto.h:6014: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_unreadâ
/usr/lib/perl/5.10/CORE/proto.h:6019: error: expected =, ,, ;, âasmâ or â__attribute__â before âPerl_PerlIO_tellâ
/usr/lib/perl/5.10/CORE/proto.h:6020: error: expected declaration specifiers or ... before âoff64_tâ
In file included from /usr/lib/perl/5.10/CORE/perl.h:4875,
                 from DBIXS.h:23,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlvars.h:32: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_thr_keyâ
/usr/lib/perl/5.10/CORE/perlvars.h:50: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_op_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:54: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_dollarzero_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:140: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_my_ctx_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:146: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_hints_mutexâ
/usr/lib/perl/5.10/CORE/perlvars.h:150: error: expected =, ,, ;, âasmâ or â__attribute__â before âPL_perlio_mutexâ
/usr/lib/perl/5.10/CORE/perl.h:5576:24: error: sys/ipc.h: No such file or directory
/usr/lib/perl/5.10/CORE/perl.h:5577:24: error: sys/sem.h: No such file or directory
/usr/lib/perl/5.10/CORE/perl.h:5735:24: error: sys/file.h: No such file or directory
In file included from /usr/lib/perl/5.10/CORE/perlapi.h:40,
                 from /usr/lib/perl/5.10/CORE/XSUB.h:417,
                 from DBIXS.h:24,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/intrpvar.h:248: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:410: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:411: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:412: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/intrpvar.h:413: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
In file included from /usr/lib/perl/5.10/CORE/perlapi.h:41,
                 from /usr/lib/perl/5.10/CORE/XSUB.h:417,
                 from DBIXS.h:24,
                 from Perl.xs:7:
/usr/lib/perl/5.10/CORE/perlvars.h:32: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:50: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:54: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:140: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:146: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
/usr/lib/perl/5.10/CORE/perlvars.h:150: error: expected =, ,, ;, âasmâ or â__attribute__â before * token
Perl.xs: In function âdbd_st_rowsâ:
Perl.xs:43: warning: implicit declaration of function âpthread_getspecificâ
Perl.xs:43: warning: implicit declaration of function âPerl_Gthr_key_ptrâ
Perl.xs:43: error: invalid type argument of âunary * (have âintâ)
In file included from Perl.c:106:
Driver_xst.h: In function âdbixst_bounce_methodâ:
Driver_xst.h:19: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h: In function âdbdxst_bind_paramsâ:
Driver_xst.h:57: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h:70: warning: implicit declaration of function âsprintfâ
Driver_xst.h:70: warning: incompatible implicit declaration of built-in function âsprintfâ
Driver_xst.h: In function âdbdxst_fetchall_arrayrefâ:
Driver_xst.h:92: error: invalid type argument of âunary * (have âintâ)
Driver_xst.h:97: warning: incompatible implicit declaration of built-in function âsprintfâ
Driver_xst.h:114: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__dr_data_sourcesâ:
Perl.xsi:67: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__db_selectrow_arrayrefâ:
Perl.xsi:210: error: âXPVAVâ has no member named âxav_fillâ
Perl.xsi: In function âXS_DBD__Perl__st_fetchrow_arrayâ:
Perl.xsi:642: error: âXPVAVâ has no member named âxav_fillâ
make: *** [Perl.o] Error 1
  TIMB/DBI-1.622.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 TIMB/DBI-1.622.tar.gz                        : make NO

cpan[3]>

Eso realmente es solo "un trozo" de error, es todo lo que puedo llegar a copiar de la terminal.

Hace un poco más de un mes lo instalé sin problemas en UbuntuDesktop10.04, pero ahora en UbuntuServer me pasa esto, aunque dudo seriamente que sea ese el motivo... me da la sensación de que es un conflicto con la última versión de perl... pero no estoy para nada seguro de qué puede ser... Alguien me echa una manita?  :-X

Gracias de antemano y saludos!
8  Sistemas Operativos / GNU/Linux / [Duda][Solucionado] Volver al mismo proceso después de cerrar una conexión SSH en: 26 Mayo 2012, 04:20 am
Buenas, tengo un servidor dedicado con ubuntu-desktop10.04, al que conecto mediante SSH y ejecuto un archivo .sh, para correr el ejecutable que vendría a ser el servidor, en éste caso un .jar, a partir de ahí se crea el proceso y todo bien.

El problema llega cuando pierdo la conexión SSH, ya sea por cerrar la consola, apagar mi CPU, o por inactividad, el proceso sigue activo (como debe de ser), pero pierdo el control de tal.

¿cómo podría volver a manejar ese proceso? Sin tener que matarlo y volver a correr el .sh

EDIT1: Según he estado viendo es algo de sesiones, y están registradas en /dev/pts/x dónde x es el id de la sesión, así que lo que necesito es la forma de reabrir una sesión cerrada.

EDIT2: EDIT1 no es la solución.  :-X

Saludos
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines