2014-12-24 12 views
8

Ubuntu'da net-snmp-5.7.3'ü başarıyla derledim. : D Bu Ubuntu spesifik sürümü:Python 2 Bağlamalar Net-SNMP Hata - undefined sembol: netsnmp-memdup

Linux loserBox 3.13.0-32-generiC#57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

başarıyla var gibiydi çok net-snmp için Python bağlamaları yüklü. Bu, net-nsmp indirmesinde, içinde setup.py dosyası bulunan 'Python' başlıklı farklı bir klasör olarak bulunur. Ancak python setup.py test komutunu çalıştırırken bazı problemler farkettim. Bunun endişelenecek bir şey olamayacağını düşündüm, bu yüzden devam ettim ve python setup.py install'u çalıştırdım. README dosyasında "python setup.py testi (yerel olarak çalışan bir ajan w/config sağladı)" komutunun ne anlama geldiğinden emin değildim. Yani, bu yüzden başarısız test veya bir şey ile yükledim. Her neyse, bunun bir sorun olup olmadığından emin değilim.

Net-snmp için python bağlantılarını başarıyla yükledikten sonra, dizinleri yeniden Masaüstü'üm olarak değiştirin ve etkileşimli bir python kabuğunu açın. Buradan netsnmp modülünü aldım ve aşağıdaki hatayı aldım. Neredeyse netsnmp_memdup değişkeninde Traceback'de hatayı atan bir yazım hatası var gibi görünüyor. Bu, C koduyla değil python ile ilgili bir soruna benziyor.

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import netsnmp 
/usr/lib/python2.7/dist-packages/pkg_resources.py:1031: UserWarning: 
/home/loser_user/.python-eggs is writable by group/others and vulnerable to attack 
when used with get_resource_filename. Consider a more secure location 
(set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable). 
warnings.warn(msg, UserWarning) 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "build/bdist.linux-x86_64/egg/netsnmp/__init__.py", line 1, in <module> 
File "build/bdist.linux-x86_64/egg/netsnmp/client.py", line 1, in <module> 
File "build/bdist.linux-x86_64/egg/netsnmp/client_intf.py", line 7, in <module> 
File "build/bdist.linux-x86_64/egg/netsnmp/client_intf.py", line 6, in __bootstrap__ 
ImportError: /home/loser_user/.python-eggs/netsnmp_python-1.0a1-py2.7-linux-x86_64.egg- 
tmp/netsnmp/client_intf.so: undefined symbol: netsnmp_memdup 

Bu sorunun nasıl giderileceğini bilen var mı? Bu proje için sourceforge'daki e-posta listesi sayfasına baktım ve destek arşivlerini aradım ama hiçbir şey bulamadım.

Çılgın bir adamın Python sorunlarını dinlediğiniz için teşekkür ederiz.

İyi Tatiller,

user_loser

+0

Ubuntu 14.04'de de aynı sorunu yaşıyorum. –

cevap

5

Alrgihty, benim iyi arkadaşım Naveen sayesinde, 5.7.3 Python Net-SNMP bağlamaları gerçek bir hatadan bu aşağı izledik.

iki yolu bu sorunu vardır:

  1. 5.7.2
  2. bu Net-SNMP Python kütüphanesi bizim çatalı taahhüt Bkz Net-SNMP'de Python bağlarını kullanın (sadece dün ayı böylece başlamış Bizimle): https://github.com/fgimian/easysnmp/commit/fa86af977b563f65e7d70243752d48b94a8d5686 ve bunu Net-SNMP indirirken kopyalayın.
+1

Wow, cevap için teşekkürler! : D Farklılıkları gösteren githubdaki C kodunu okumak ilginçtir. Bunu tekrar kullanmam gerekirse, çözümünüzü denemek zorunda kalacağım. Bahse girerim bu bilgi internette başkalarına yardım eder. Mutlu kodlama. Havalı kal. –

+0

@user_loser: Bu düzeltmeyi duymaktan mutluluk duymaktan yalnız değilsiniz - Geçen ay sıkışıp kaldım - 1 numaralı seçenek benim için çalıştı. – 333kenshin

+0

Teşekkürler, seçenek # 2 çalıştı. – Konstantin

İlgili konular