Author Topic: missing tinystr.h causing plugin compilation problems (Pasgui PPA)  (Read 13448 times)

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Trying to build my usual plugins on Ubuntu 12.04 with Pasgui's PPA (SVN 9156) I am getting compilation issues

Code
In file included from /usr/include/codeblocks/sdk_common.h:130:0,
                 from /usr/include/codeblocks/sdk_precomp.h:13,
                 from /usr/include/codeblocks/sdk.h:17,
                 from /home/damien/src/cbilplugin/PythonDebugger/debuggeroptionsdlg.cpp:10:
/usr/include/codeblocks/configmanager.h:15:29: fatal error: tinyxml/tinystr.h: No such file or directory

and indeed if I ls /usr/include/codeblocks/tinyxml there is no tinystr.h

Has something changed with tinyxml that hasn't been reflected in the makefiles or is this some other packaging/makefile problem?

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #1 on: October 14, 2013, 07:39:01 pm »
btw, if I manually copy tinystr to /usr/include... everything works again

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #2 on: October 14, 2013, 08:56:57 pm »
I don't have this file in /usr/include, too. Probably it is a makefile issue.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7252
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #3 on: October 14, 2013, 09:55:38 pm »
Probably nobody has ever used devpackages for building plugins.
tinystr.h is included in the dist tar-ball, but not added to sdk-headers.
I just committed a fix in trunk (svn r9400).
This will (of course) not help unless pasgui provides new dev-packages.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13406
    • Travis build status
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #4 on: October 14, 2013, 10:44:21 pm »
Probably nobody has ever used devpackages for building plugins.
In fact, I use it, but probably I'm not using this header.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #5 on: October 14, 2013, 11:55:06 pm »
Probably nobody has ever used devpackages for building plugins.
In fact, I use it, but probably I'm not using this header.

If you include configmanager.h, that's when you will have a problem.

@jens: Thanks.

slightly different topic...I have been trying to set up a daily C::B build for all supported Ubuntu by importing trunk into launchpad then creating  a "recipe". Having a few issues with this, the main one being to make something like bootstrap gets called from the deb builder. Any ideas? (The recipe will let me merge in a branch containing whatever deb tweaks are needed)

Link: https://code.launchpad.net/~damien-moore/+recipe/codeblocks-daily

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7252
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #6 on: October 15, 2013, 12:26:00 am »
slightly different topic...I have been trying to set up a daily C::B build for all supported Ubuntu by importing trunk into launchpad then creating  a "recipe". Having a few issues with this, the main one being to make something like bootstrap gets called from the deb builder. Any ideas? (The recipe will let me merge in a branch containing whatever deb tweaks are needed)

This should work, if you use the rules-file from svn:
Code
--- codeblocks-12.11svn-download/codeblocks-12.11svn/debian/rules    2013-03-30 10:58:01.000000000 +0100
+++ codeblocks-12.11svn/debian/rules        2013-04-03 16:00:01.000000000 +0200
@@ -2,6 +2,9 @@
 include /usr/share/cdbs/1/class/autotools.mk
 include /usr/share/cdbs/1/rules/debhelper.mk
 
+clean::
+       ./bootstrap
+
 DEB_BUILD_PARALLEL= yes
 
 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #7 on: October 15, 2013, 04:07:40 pm »

This should work, if you use the rules-file from svn:

That works, thanks! Now the remaining problem is to get a revision number for the splash and start page to not be zero. I tried tweaking update_revision.sh to look up the official svn repo but it didn't work presumably because launchpad servers (or deb builds?) don't allow this. Also the package versioning is screwy because bzr rev <> svn rev.

For now here's the recipe: https://code.launchpad.net/~damien-moore/+recipe/codeblocks-daily
And here's the PPA: https://code.launchpad.net/~damien-moore/+archive/codeblocks

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7252
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #8 on: October 15, 2013, 04:33:53 pm »

This should work, if you use the rules-file from svn:

That works, thanks! Now the remaining problem is to get a revision number for the splash and start page to not be zero. I tried tweaking update_revision.sh to look up the official svn repo but it didn't work presumably because launchpad servers (or deb builds?) don't allow this. Also the package versioning is screwy because bzr rev <> svn rev.

For now here's the recipe: https://code.launchpad.net/~damien-moore/+recipe/codeblocks-daily
And here's the PPA: https://code.launchpad.net/~damien-moore/+archive/codeblocks
Fetching the svn revision should also be possible with bazaar, because the log contains the svn revision also.
I will see what I can do.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7252
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #9 on: October 15, 2013, 07:33:52 pm »
If you are inside a bzr working copy this patch should work:
Code
=== modified file 'update_revision.sh'
--- update_revision.sh 2013-08-09 04:35:45 +0000
+++ update_revision.sh 2013-10-15 17:31:40 +0000
@@ -38,6 +38,10 @@
  echo "Using 'git log --graph' to get the revision"
  REV=`git log --graph | grep 'git-svn-id' | head -n 1 | grep -o -e "@\([0-9]*\)" | tr -d '@ '`
  LCD=`git log --date=iso --max-count=1 | grep -o -e "Date: \(.*\)" | cut -d ' ' -f 2- | sed 's/^ *//' | cut -f -2 -d ' '`
+elif bzr log --show-ids -l 1 >/dev/null 2>&1; then
+ echo "Using 'bzr log --show-ids' to get the revision"
+ REV=`bzr log --show-ids -l 1 | grep revision-id | sed -e 's/.*:trunk:\([0-9]*\)/\1/'`
+ LCD=`bzr log --show-ids -l 1 | grep -o -e "timestamp: \(.*\)" | cut -d ' ' -f 3- | cut -f -2 -d ' '`
 else
  REV=0
  LCD=""
Created with "bzr diff" inside a working copy of your launchpad repo.

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #10 on: October 16, 2013, 03:42:52 am »
That's helpful but unfortunately doesn't work. The bzr repo isn't present by the time bootstrap is called. (I think it gets scrubbed before the actual build process, and probably before creating the source archive. The build itself happens in a separate process from the source package creation.)

As a last resort, one thing I can do is still use a recipe for the automated builds but instead of pointing the recipe at the auto-imported repo I could point to a launchpad repo that is "manually" sync'd to SVN trunk. (Where manual might be  a cron job on one of my PCs)

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: missing tinystr.h causing plugin compilation problems (Pasgui PPA)
« Reply #11 on: October 18, 2013, 05:05:55 am »
If you are inside a bzr working  [snip]

Success! (Just had to add bzr to the build-deps in control and use bzr info lp:URL -- this took me an inordinate amount of time to figure out...)

Now if only I can solve the package naming problem (i.e. use the svn revno instead of the bzr revno for the deb file names)

Will take another day or so before this propagates.

« Last Edit: October 18, 2013, 05:08:14 am by dmoore »