uwsgi-docs icon indicating copy to clipboard operation
uwsgi-docs copied to clipboard

cannot build JVM support

Open rkiddy opened this issue 6 years ago • 0 comments

I am trying to follow the directions at: https://uwsgi-docs.readthedocs.io/en/latest/JVM.html

I have installed uWSGI (I think) correctly, but I cannot see how to build the java plugin.

FYI, I am fairly new to and non-expert in uWSGI but have been around java for a while.

My full log is at: http://opencalaccess.org/misc/installing_uwsgi_java.txt

 $ sudo sh
 # 
 # 
 # apt-get install build-essential python-dev
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 build-essential is already the newest version.
 build-essential set to manually installed.
 python-dev is already the newest version.
 0 upgraded, 0 newly installed, 0 to remove and 353 not upgraded.
 # 
 # 
 # pip install uwsgi
 Downloading/unpacking uwsgi
   Downloading uwsgi-2.0.17.1.tar.gz (800kB): 800kB downloaded
   Running setup.py (path:/tmp/pip_build_root/uwsgi/setup.py) egg_info for package uwsgi
     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'descriptions'
       warnings.warn(msg)
 
 . . .
 
 [x86_64-linux-gnu-gcc -pthread] plugins/transformation_template/tt.o
 [x86_64-linux-gnu-gcc -pthread] plugins/stats_pusher_socket/plugin.o
 *** uWSGI linking ***
 x86_64-linux-gnu-gcc -pthread -o /tmp/uwsgi -L/usr/lib -Wl,-rpath,/usr/lib core/utils.o core/protocol.o core/socket.o core/logging.o core/master.o core/master_utils.o core/emperor.o core/notify.o core/mule.o core/subscription.o core/stats.o core/sendfile.o core/async.o core/master_checks.o core/fifo.o core/offload.o core/io.o core/static.o core/websockets.o core/spooler.o core/snmp.o core/exceptions.o core/config.o core/setup_utils.o core/clock.o core/init.o core/buffer.o core/reader.o core/writer.o core/alarm.o core/cron.o core/hooks.o core/plugins.o core/lock.o core/cache.o core/daemons.o core/errors.o core/hash.o core/master_events.o core/chunked.o core/queue.o core/event.o core/signal.o core/strings.o core/progress.o core/timebomb.o core/ini.o core/fsmon.o core/mount.o core/metrics.o core/plugins_builder.o core/sharedarea.o core/rpc.o core/gateway.o core/loop.o core/cookie.o core/querystring.o core/rb_timers.o core/transformations.o core/uwsgi.o proto/base.o proto/uwsgi.o proto/http.o proto/fastcgi.o proto/scgi.o proto/puwsgi.o lib/linux_ns.o core/zlib.o core/yaml.o core/ssl.o core/legion.o core/xmlconf.o core/dot_h.o core/config_py.o plugins/python/python_plugin.o plugins/python/pyutils.o plugins/python/pyloader.o plugins/python/wsgi_handlers.o plugins/python/wsgi_headers.o plugins/python/wsgi_subhandler.o plugins/python/web3_subhandler.o plugins/python/pump_subhandler.o plugins/python/gil.o plugins/python/uwsgi_pymodule.o plugins/python/profiler.o plugins/python/symimporter.o plugins/python/tracebacker.o plugins/python/raw.o plugins/gevent/gevent.o plugins/gevent/hooks.o plugins/ping/ping_plugin.o plugins/cache/cache.o plugins/nagios/nagios.o plugins/rrdtool/rrdtool.o plugins/carbon/carbon.o plugins/rpc/rpc_plugin.o plugins/corerouter/cr_common.o plugins/corerouter/cr_map.o plugins/corerouter/corerouter.o plugins/fastrouter/fastrouter.o plugins/http/http.o plugins/http/keepalive.o plugins/http/https.o plugins/http/spdy3.o plugins/ugreen/ugreen.o plugins/signal/signal_plugin.o plugins/syslog/syslog_plugin.o plugins/rsyslog/rsyslog_plugin.o plugins/logsocket/logsocket_plugin.o plugins/router_uwsgi/router_uwsgi.o plugins/router_redirect/router_redirect.o plugins/router_basicauth/router_basicauth.o plugins/zergpool/zergpool.o plugins/redislog/redislog_plugin.o plugins/mongodblog/mongodblog_plugin.o plugins/router_rewrite/router_rewrite.o plugins/router_http/router_http.o plugins/logfile/logfile.o plugins/router_cache/router_cache.o plugins/rawrouter/rawrouter.o plugins/router_static/router_static.o plugins/sslrouter/sslrouter.o plugins/spooler/spooler_plugin.o plugins/cheaper_busyness/cheaper_busyness.o plugins/symcall/symcall_plugin.o plugins/transformation_tofile/tofile.o plugins/transformation_gzip/gzip.o plugins/transformation_chunked/chunked.o plugins/transformation_offload/offload.o plugins/router_memcached/router_memcached.o plugins/router_redis/router_redis.o plugins/router_hash/router_hash.o plugins/router_expires/expires.o plugins/router_metrics/plugin.o plugins/transformation_template/tt.o plugins/stats_pusher_socket/plugin.o -lpthread -lm -rdynamic -ldl -lz -lssl -lcrypto -lexpat -lpthread -ldl -lutil -lm -lpython2.7 -lcrypt
 /usr/bin/ld: cannot open output file /tmp/uwsgi: Is a directory
 collect2: error: ld returned 1 exit status
 *** error linking uWSGI ***
 make: *** [all] Error 1
 # 
 # 
 # exit
 $ 
 $ 
 $ cat foobar.py 
 def application(env, start_response):
     start_response('200 OK', [('Content-Type','text/html')])
     return [b"Hello World"]
 $ 
 $ # run with this:
 $ 
 $ /usr/local/bin/uwsgi --http :9090 --wsgi-file foobar.py
 *** Starting uWSGI 2.0.17.1 (64bit) on [Tue Jan 22 14:53:06 2019] ***
 compiled with version: 4.8.4 on 22 January 2019 22:46:49
 os: Linux-2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011
 nodename: calaccess
 machine: x86_64
 clock source: unix
 detected number of CPU cores: 1
 current working directory: /home/ray/Projects/foobar_uwsgi
 detected binary path: /tmp/uwsgi
 !!! no internal routing support, rebuild with pcre support !!!
 *** WARNING: you are running uWSGI without its master process manager ***
 your processes number limit is 15704
 your memory page size is 4096 bytes
 detected max file descriptor number: 1024
 lock engine: pthread robust mutexes
 thunder lock: disabled (you can enable it with --thunder-lock)
 uWSGI http bound on :9090 fd 4
 spawned uWSGI http 1 (pid: 31736)
 uwsgi socket 0 bound to TCP address 127.0.0.1:55712 (port auto-assigned) fd 3
 Python version: 2.7.6 (default, Jun 22 2015, 18:01:27)  [GCC 4.8.2]
 *** Python threads support is disabled. You can enable it with --enable-threads ***
 Python main interpreter initialized at 0x20910e0
 your server socket listen backlog is limited to 100 connections
 your mercy for graceful operations on workers is 60 seconds
 mapped 72920 bytes (71 KB) for 1 cores
 *** Operational MODE: single process ***
 WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x20910e0 pid: 31735 (default app)
 *** uWSGI is running in multiple interpreter mode ***
 spawned uWSGI worker 1 (and the only) (pid: 31735, cores: 1)
 
 
 . . . ( works. I can hit http://localhost:9090 and see my "Hello world" )
 
 $ # and now...
 $ 
 $ 
 $ find /usr/lib/jvm -name libjvm.so
 /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so
 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so
 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/cacao/libjvm.so
 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so
 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jamvm/libjvm.so
 $ 
 $ find /usr/lib/jvm -name jni.h
 /usr/lib/jvm/java-8-oracle/include/jni.h
 /usr/lib/jvm/java-6-openjdk-amd64/include/jni.h
 $ 
 $ UWSGICONFIG_JVM_INCPATH=/usr/lib/jvm/java-8-oracle/include UWSGICONFIG_JVM_LIBPATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server python uwsgiconfig.py --plugin plugins/jvm default
 using profile: buildconf/default.ini
 Traceback (most recent call last):
   File "uwsgiconfig.py", line 1634, in <module>
     uc = uConf(bconf)
   File "uwsgiconfig.py", line 661, in __init__
     self.config.readfp(open_profile(filename))
   File "uwsgiconfig.py", line 635, in open_profile
     return open(filename)
 IOError: [Errno 2] No such file or directory: 'buildconf/default.ini'
 $ 
 $ UWSGICONFIG_JVM_INCPATH=/usr/lib/jvm/java-8-oracle/include UWSGICONFIG_JVM_LIBPATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server python uwsgiconfig.py --plugin plugins/jvm core
 using profile: buildconf/core.ini
 Traceback (most recent call last):
   File "uwsgiconfig.py", line 1634, in <module>
     uc = uConf(bconf)
   File "uwsgiconfig.py", line 661, in __init__
     self.config.readfp(open_profile(filename))
   File "uwsgiconfig.py", line 635, in open_profile
     return open(filename)
 IOError: [Errno 2] No such file or directory: 'buildconf/core.ini'
 $

rkiddy avatar Jan 22 '19 23:01 rkiddy