Beta ptitSeb's Beta Lair


because it tries to use system python. Download wxPython (if you don't have already) then restart codeblocks so it automount wxPython.

Now you access to a more modern Python in /mnt/utmp/wxpython/bun/python (but it's also 1st in the PATH).
 
Code:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 569, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 551, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 278, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 253, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 242, in getuserbase
    from sysconfig import get_config_var
  File "/usr/lib/python2.7/sysconfig.py", line 10, in <module>
    'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
AttributeError: 'module' object has no attribute 'lib'
@ptitSeb I am still having the same problem. wxpython is there and gets mounted by codeblocks. "which python" still shows the same path in codeblocks cli though: /usr/bin

I updated PATH doing
Code:
export PATH=/mnt/utmp/wxpython/usr/bin:$PATH
and when I echo it, it comes back correctly. Still "which" points to the wrong path and if I run python it fails with the error message quoted above.
 
Last edited:
I'm not sure what's wrong. Look what I get:
Code:
/media/sda1/sources$ echo $PATH
/mnt/utmp/codeblocks/home/go/bin:/mnt/utmp/codeblocks/local/bin:/mnt/utmp/codeblocks/perl/bin:/mnt/utmp/codeblocks:/mnt/utmp/codeblocks/bin:/mnt/utmp/codeblocks/usr/bin:/mnt/utmp/codeblocks/wx/bin:/mnt/utmp/codeblocks/qt5/bin:/mnt/utmp/codeblocks/qt4/bin:/mnt/utmp/codeblocks/rust/bin:/mnt/utmp/codeblocks/qtcreator/bin:/mnt/utmp/codeblocks/home/bin:/mnt/utmp/codeblocks/wine/bin:/mnt/utmp/codeblocks/ant/bin:/mnt/utmp/mysql/bin:/mnt/utmp/nodejs/bin:/mnt/utmp/lazarus/fpc/bin/arm-linux:/mnt/utmp/wxpython/bin:/mnt/utmp/monort/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
/media/sda1/sources$ which python
/mnt/utmp/wxpython/bin/python
/media/sda1/sources$ python
Python 2.7.10 (default, Jun 17 2017, 20:40:02)
[GCC 7.1.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
[doublepost=1498069417,1498069343][/doublepost]Ah, yes, it's /mnt/utmp/wxpython/bin (no "usr" for wxpython).
 
ah! I'll try that in my PATH instead. Thanks for being so helpful btw!
[doublepost=1498072000,1498070238][/doublepost]okay, now python is working correctly. I am installing all compiled deps again now and then I'll give it another go.
 
@ptitSeb and @edgex004 I have tried to compile i3 several times now and make always fails because of libiconv. I remember that this was the problem last time I attempted to build it. Maybe that was the same problem with your build edgex004?

Seems like iconv is normally provided with libc on other distributions so you really don't have to install libiconv by itself. I've compiled libiconv and installed that instead, hoping it would work then. Still no luck.

Now I've added -liconv to the LDFLAGS in the Makefile autoconf generates.

make now fails while generating man pages and docs...

Code:
xmlto: /media/pandora/pandora/code/i3/build/man/i3.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/media/pandora/pandora/code/i3/build/man/i3.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /media/pandora/pandora/code/i3/build/man/i3.xml does not validate
Makefile:3797: recipe for target 'man/i3.1' failed
make[1]: *** [man/i3.1] Error 13
make[1]: *** Waiting for unfinished jobs....
xmlto: /media/pandora/pandora/code/i3/build/man/i3bar.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/media/pandora/pandora/code/i3/build/man/i3bar.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /media/pandora/pandora/code/i3/build/man/i3bar.xml does not validate
Makefile:3797: recipe for target 'man/i3bar.1' failed
make[1]: *** [man/i3bar.1] Error 13
xmlto: /media/pandora/pandora/code/i3/build/man/i3-msg.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/media/pandora/pandora/code/i3/build/man/i3-msg.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /media/pandora/pandora/code/i3/build/man/i3-msg.xml does not validate
Makefile:3797: recipe for target 'man/i3-msg.1' failed
make[1]: *** [man/i3-msg.1] Error 13
make[1]: Leaving directory '/media/pandora/pandora/code/i3/build'
Makefile:1242: recipe for target 'all' failed
make: *** [all] Error 2

I don't even want to generate the documentation and manpages... but I've no idea how to switch it off. There isn't any information on the internet about this, apparently i3 package maintainers get this information from reading the guts of sacrificed lambs. All the documentation on github about i3 says that you're not supposed to compile it but wait for release packages for your distro... stupid as fuck. I am really very annoyed about this. Why can't they just document how to build a package/release then?

The configure script gives a synopsis when finishing and it always says "build manpages = yes"/"build docs = yes" no matter what parameters I try. I wish I could just switch that off somehow.

I am configuring with:
Code:
../configure --prefix=/mnt/utmp/i3/ --exec-prefix=/mnt/utmp/i3/bin/ --disable-sanitizers --datadir=/mnt/utmp/i3/data/ --datarootdir=/mnt/utmp/i3/data/ LIBS="-liconv"

Would someone be willing to take a look at the configure script?
 

Attachments

  • i3-configure.zip
    70.7 KB · Views: 225
@xnopasaranx : so clone latest version of i3 from github, generated the configure script (using autoreconf -i), used your exact configure line, and, after a whole bunch of update in condeblocks libs
Code:
********* 25/06/2017
* make            4.2.1 (with change to force /bin/bash as default shell)
+ libev            latest from cvs
+ xcb-util        0.4.0
+ xcb-util-renderutil    0.3.9
+ xcb-util-cursor        0.1.3
+ xcb-util-keysyms        0.4.0
+ xcb-util-wm    0.4.1
+ xcb-util-xrm    latest from git
+ libstartup-notification    0.12

it just built.

I'll package a new updated of codeblocks pnd soon, with those updates.
You can find the "i3" folder, (with the lib depandencies filled) here: i3.tgz
I haven't tried, as it complain because another XWM is loaded, and I'm not found of tile manager... So I let you continue from here.
 
@ptitSeb amazing! I wonder what I did differently. I build all those dependancies from latest sources except for make and I started with a freshly reflashed pandora to make sure no weirdness was going on.

As always, thank you so much!
 
Hi all :)

@ptitSeb : a suggestion for yet another programming language in Code::Blocks:

https://www.erlang.org/

I managed to compile it yesterday (with ~512 MB of swap, and java.pnd):
Code:
git clone https://github.com/erlang/otp
cd otp
./otp_build autoconf
./configure --prefix=/mnt/utmp/codeblocks/usr --with-ssl=/mnt/utmp/codeblocks/usr
make
sudo make install

Cheers, Magic Sam
 
@edgex004 didn't find the time yet to make a pnd out of this yet. I am not sure how to approach this, I tried taking a look at openbox and how it's done there, but everything is being installed from ipk packages, so I can't go that route. copying the files to the fs is not a problem, but how do I make a session that slim can start?
 
@xnopasaranx Honestly, I have no idea. I was stuck on man page generation just like you. I'll try researching it a bit though. I think ratpoison, Icewm, and pandafe might be good examples to look at.
[doublepost=1499018310,1499004328][/doublepost]I'm trying out what ptitSeb posted and noticed that xkb seems to be looking for codeblocks as the default include path. I was able to get around this by using:

Code:
export XKB_CONFIG_ROOT=/usr/share/X11/xkb

Is that the best solution here?

Also, once you get past that, it looks like i3 is working alright! I copied the files to /usr/ in NAND. I then made a script to start it up and saved it as /usr/bin/i3startup

Code:
#!/bin/bash
export XKB_CONFIG_ROOT=/usr/share/X11/xkb
i3

After making that file executable, I added it as an option to the gui switch dialog, I added the following to /etc/pandora/conf/gui.conf:
Code:
i3;i3;i3startup;killall i3

Now I can switch to i3 using the gui switch menu.

For some reason, i3-config-wizard is looking for the prefix folder in order to copy out the config template, but once you get a working config, it seems to do okay.
 
@edgex004 where can I find ratpoison for pandora? I remember seeing it in the past, but can't find it on the repo. Didn't someone also port awesome wm?
[doublepost=1499018424,1499018319][/doublepost]Ah okay, that sounds great. I am trying right now. Are you able to boot into i3 like this as well?

Not so lucky at my attempts. I don't know what I am doing wrong. Copied the files from bin to /usr/bin and created a script such as yours which I then also pointed to in gui.conf. Then I copied the libraries to /usr/lib and my pandora crashed and refused to start. I am reflashing right now.

EDIT: Alright, got it working. I added an LD_LIBRARY_PATH export to the i3startup script and copied the libraries into /usr/lib/i3 which will make it easier to remove the libraries as well on uninstall. No need to remove every file, just rm the directory.

Now we need dmenu and polybar. I'll get onto it right away :D. When I have a configuration that makes sense and is fun to use, I'll release a pnd.

Opening a new thread, so people can try this and come up with cool configurations that we can collect and maybe incorporate.
 
Last edited:
I have updated the CodeBlocks PND. It the new beta (compared to latest beta) is Qt 5.9, QtWebKit 5.9 and Rust 1.18. Look in the spoiler of the 1st post for a more detailed log of changes.
 
Nope, I haven't put CLang. You can find it on some old version of codeblocks, but I have removed it some (a long) time ago because of the size/usefullness ratio. Any specific use in mind?
 
@ptitSeb : Multics simulator ;)

http://multicians.org/simulator.html

I managed to compile part of it with GCC (instead of the required Clang), but it fails at some point:
(cd ../decNumber; make)
CC decContext.c
CC decNumber.c
AR decNumber.a
#make zmq
make dps8.sha1.txt
make[2]: 'dps8.sha1.txt' is up to date.
make dps8
CC dps8_absi.c
In file included from dps8.h:55:0,
from dps8_absi.c:22:
dps8_math128.h:17:1: error: unable to emulate ���TI���
typedef int TItype __attribute__ ((mode (TI)));
^~~~~~~
dps8_math128.h:18:1: error: unable to emulate ���TI���
typedef unsigned int UTItype __attribute__ ((mode (TI)));
^~~~~~~
In file included from dps8.h:230:0,
from dps8_absi.c:22:
dps8_hw_consts.h: In function ���SIGNEXT72_128���:
dps8_hw_consts.h:118:37: warning: left shift count >= width of type [-Wshift-count-overflow]
#define SIGN72 ((word72)1U << 71)
^
dps8_hw_consts.h:291:13: note: in expansion of macro ���SIGN72���
if (w & SIGN72)
^~~~~~
dps8_hw_consts.h:293:58: warning: left shift count >= width of type [-Wshift-count-overflow]
return ((int128) w) | (int128) (((uint128) -1ll) << 72);
^~
dps8_hw_consts.h:117:38: warning: left shift count >= width of type [-Wshift-count-overflow]
#define ZEROEXT72 (((word72)1U << 72) - 1U) // mask to zero extend a 72 => 128 int
^
dps8_hw_consts.h:128:25: note: in expansion of macro ���ZEROEXT72���
#define MASK72 ZEROEXT72
^~~~~~~~~
dps8_hw_consts.h:295:16: note: in expansion of macro ���MASK72���
return w & MASK72;
^~~~~~
dps8_hw_consts.h:295:14: warning: conversion to ���int128 {aka int}��� from ���word72 {aka unsigned int}��� may change the sign of the result [-Wsign-conversion]
return w & MASK72;
^
dps8_hw_consts.h: In function ���SIGNEXT36_72���:
dps8_hw_consts.h:325:38: warning: left shift count >= width of type [-Wshift-count-overflow]
return (w | ((word72) DMASK) << 36) & MASK72;
^~
dps8_hw_consts.h:117:38: warning: left shift count >= width of type [-Wshift-count-overflow]
#define ZEROEXT72 (((word72)1U << 72) - 1U) // mask to zero extend a 72 => 128 int
^
dps8_hw_consts.h:128:25: note: in expansion of macro ���ZEROEXT72���
#define MASK72 ZEROEXT72
^~~~~~~~~
dps8_hw_consts.h:325:47: note: in expansion of macro ���MASK72���
return (w | ((word72) DMASK) << 36) & MASK72;
^~~~~~
../Makefile.mk:93: recipe for target 'dps8_absi.o' failed
make[2]: *** [dps8_absi.o] Error 1
Makefile:298: recipe for target 'locallibs_then_dps8' failed
make[1]: *** [locallibs_then_dps8] Error 2
make[1]: Leaving directory '/media/Pandora1/dev/multics/dps8m-code/src/dps8'
Makefile:11: recipe for target 'all' failed
make: *** [all] Error 2
Any ideas ?

Cheers, Magic Sam
 
Mmmm, seems main issue is with
Code:
typedef int TItype __attribute__ ((mode (TI)));
that seems to be used to declare something like "int128_t".
 
@ptitSeb : yes I noticed that. I googled this issue, and it seems to be MinGW related (i.e people trying to compile the Multics simulator from Windows...). Since we're not (AFAIK) using MinGW on the Pandora, I thought maybe my little hacks to use GCC instead of Clang were responsible for that bug...

And one guy managed to compile this Multics simulator on his Raspberry Pi, so this should be ARM compatible IMHO...

Cheers, Magic Sam
 
Back
Top